8 #ifndef TTRExReconModule_hxx_seen
9 #define TTRExReconModule_hxx_seen
15 #include "TClonesArray.h"
19 #include "TGeometryDatabase.hxx"
20 #include "TIntegerDatum.hxx"
21 #include "TND280Event.hxx"
22 #include "TP0DVetoForTPC.hxx"
23 #include "TReconCluster.hxx"
24 #include "TReconHit.hxx"
25 #include "TReconPID.hxx"
26 #include "TReconShower.hxx"
27 #include "TReconTrack.hxx"
28 #include "TrackTruthInfo.hxx"
33 #include "TGeomInfo.hxx"
34 #include "TIntegerDatum.hxx"
36 #include "TIntegerDatum.hxx"
37 #include "TOARuntimeParams.hxx"
38 #include "TRealDatum.hxx"
39 #include "TrackingUtils.hxx"
41 #include "TIntegerDatum.hxx"
42 #include "TMultiHit.hxx"
43 #include "TRealDatum.hxx"
44 #include "TrackingUtils.hxx"
49 class TTRExReconModule;
81 Junctions =
new TClonesArray(
"ND::TTRExReconModule::TTPCAnaJunction", 40);
82 Paths =
new TClonesArray(
"ND::TTRExReconModule::TTPCAnaPath", 40);
202 const char *title =
"TPC Recon Extension Module");
220 std::list<ND::THandle<ND::TReconBase> > patternpaths,
221 ND::THandle<ND::TReconObjectContainer> patterns,
222 ND::THandle<ND::TReconBase> parent_pattern);
224 std::list<ND::THandle<ND::TReconBase> > patternpaths,
225 ND::THandle<ND::TReconObjectContainer> patterns,
226 ND::THandle<ND::TReconBase> parent_pattern);
228 bool FGDHitVeto(
int FGD,
int nhits_threshold, ND::TND280Event &event,
231 TTPCAnaPath *outputPath, ND::THandle<ND::TReconBase> path,
232 std::list<ND::THandle<ND::TReconBase> > patternpaths,
233 ND::THandle<ND::TReconObjectContainer> patterns,
234 ND::THandle<ND::TReconBase> parent_pattern);
239 virtual bool FillTree(ND::TND280Event &);
256 struct timeLessThan :
public std::binary_function<ND::THandle<ND::THit>,
257 ND::THandle<ND::THit>, bool> {
258 bool operator()(ND::THandle<ND::THit> lhs, ND::THandle<ND::THit> rhs) {
259 return (lhs->GetTime() < rhs->GetTime());
Int_t NMatchingPaths
^ The unique identifiers of the associated junctions
virtual Bool_t ProcessFirstEvent(ND::TND280Event &event)
Is called after the first event is loaded in.
Double_t ElePull
Pull-related values.
Int_t PatternID
The ID of the pattern.
TTPCAnaJunction An object describing a meeting point of two or more paths, and containing all associa...
ClassDef(TTRExReconModule::TTPCAnaPath, 1)
TTRExReconModule(const char *name="TREx", const char *title="TPC Recon Extension Module")
virtual ~TTPCAnaJunction()
TTPCAnaPath An object describing a track-like grouping of hits in the TPC.
Int_t PathID
A unique identifier for the path within the pattern.
Double_t * PatternMatchingLikelihood
Double_t * PathMatchingLikelihood
^ The unique identifiers of the paths
bool FGDHitVeto(int FGD, int nhits_threshold, ND::TND280Event &event, int mode)
Double_t FitLikelihood
Value of log likelihood from fit.
Double_t Length
The length of the path.
virtual void InitializeModule()
Initialize Module, override if necessary.
Double_t MomentumError
The momentum error of the path.
TVector3 LastPosition
The end position of the path.
Int_t NMatchingPatterns
^ The likelihood of matching to that path.
TClonesArray * Paths
The constituent paths of the pattern.
Int_t G4ID
G4 ID of the primary true trajectory associated with this path.
Int_t TPC
The TPC in which the pattern resides.
Bool_t S1Sflag
A flag to say whether this pattern would pass the TPC gas Stage 1 Selection.
ClassDef(TTRExReconModule::TTPCAnaJunction, 1)
TTRExReconModule::TTPCAnaJunction hackPatten
Int_t JunctionID
A unique identifier for the junction within the pattern.
Double_t Time
The T0 for the path.
Int_t NClusters
Number of clusters in the path.
Bool_t LikFit
True if the likelihood fit was performed.
Int_t NJunctions
The number of junctions in the pattern.
void FillPathInfo(TTPCAnaPath *outputPath, ND::THandle< ND::TReconPID > path, std::list< ND::THandle< ND::TReconBase > > patternpaths, ND::THandle< ND::TReconObjectContainer > patterns, ND::THandle< ND::TReconBase > parent_pattern)
Fills a TTPCAnaPath with information from either a TReconTrack or a TReconPID.
TTRExReconModule - Object that contains information related to reconstructed object from the extende...
Int_t fNPatterns
Tree Entries.
Int_t NJunctions
The number of junctions to which the path connects.
Double_t Momentum
The momentum of the path.
TTRExReconModule::TTPCAnaPath hackPath
TVector3 FirstPosition
The start position of the path.
virtual void InitializeBranches()
Initialize Branches. Don't do anything else in this function.
bool operator()(ND::THandle< ND::THit > lhs, ND::THandle< ND::THit > rhs)
Double_t T0RangeDeltaX[2]
Int_t T0Source
Enumerator of T0 sources.
TTPCAnaPattern The master object for any connected system of hits in a TPC.
Int_t * MatchingPatternPathIDs
ClassDef(TTRExReconModule::TTPCAnaPattern, 1)
virtual bool FillTree(ND::TND280Event &)
Fill all the stuff that goes in the output tree.
TVector3 MaximumCoordinates
^ The unique identifiers of the associated paths.
virtual bool IsFullEventWorthSaving(ND::TND280Event &event)
Returns true if there is at least one recon object.
Bool_t IsContained
True if the path does not leave the TPC; false otherwise.
virtual ~TTRExReconModule()
TVector3 MinimumCoordinates
The most extreme hit positions in the negative direction.
TVector3 Direction
The direction of the path.
int GetTPCFromPattern(ND::THandle< ND::TReconVertex >)
Returns TPC in which the pattern was found for all 3 possible input types.
Int_t NPaths
The number of paths connected to the junction.
Double_t NetCharge
The total charge left by the path on the micromegas.
Int_t NPaths
The number of paths.
Int_t * MatchingPatternIDs
Double_t Charge
Charge of the path.
virtual ~TTPCAnaPattern()
TLorentzVector Position
The spatial coordinates of the junction.
TClonesArray * Junctions
The constituent junctions of the pattern.
Int_t PID
The PID of the path.
Bool_t Success
True if the likelihood fit succeeded.
A base class for analysis output modules which contain reconstructed event information.
void FillPathMatchingInfo(TTPCAnaPath *outputPath, ND::THandle< ND::TReconBase > path, std::list< ND::THandle< ND::TReconBase > > patternpaths, ND::THandle< ND::TReconObjectContainer > patterns, ND::THandle< ND::TReconBase > parent_pattern)