eventAnalysis  7.0-49-g0ac7482
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TReconPerformanceEvalModule.hxx
Go to the documentation of this file.
1 ///
2 /// For questions or suggestions about this module please contact the
3 /// current responsible and CC in the eventAnalysis package manager.
4 ///
5 /// 28-Nov-2012: Current responsible for this module is
6 /// Ben Smith (b.smith10 [*a*t*] imperial.ac.uk)
7 ///
8 #ifndef TReconPerformanceEvalModule_hxx_seen
9 #define TReconPerformanceEvalModule_hxx_seen
10 
11 #include <TNamed.h>
12 #include <TTree.h>
13 #include <TIntegerDatum.hxx>
14 #include <TND280Event.hxx>
15 #include <TReconCluster.hxx>
16 #include <TReconHit.hxx>
17 #include <TReconPID.hxx>
18 #include <TReconShower.hxx>
19 #include <TReconTrack.hxx>
20 #include <map>
21 #include <set>
22 #include <string>
23 
24 #include "TClonesArray.h"
25 #include "TLorentzVector.h"
26 #include "TVector3.h"
27 
29 
30 namespace ND {
31 class TReconPerformanceEvalModule;
32 };
33 
34 /** TReconPerformanceEvalModule - Object that contains information related to
35  the performance of
36  global recon.
37 
38  This eventAnalysis module provides information gleaned from the output of the
39  global
40  and subdetector reconstruction packages.
41 
42  Amongst other quantities, the output of this module provides the state and
43  kinematics of a
44  global recon object and its constituents. For the P0D, ECal and P0DEcal, which
45  get refitted
46  by the global reconstruction, information is included for both the refitted and
47  original
48  objects.
49 
50  */
52  public:
53  /// TTruthInfo
54  /// Information relating to a truth trajectory.
55  /// At the constituent level, this contains information from a G4 trajectory
56  /// point.
57  class TTruthInfo : public TObject {
58  public:
59  TTruthInfo();
60  virtual ~TTruthInfo();
61 
62  bool SetOK; /// < Whether this object was filled
63 
64  double
65  Momentum; /// < Momentum of the true trajectory at the trajectory point
66  TVector3 Direction; /// < Direction of the true trajectory at the
67  /// trajectory point
68  double Charge; /// < Charge of the trajectory
69  TLorentzVector Position; /// < Position of the trajectory point
70  double Efficiency; /// < Efficiency of this truth matching
71  double Purity; /// < Purity of this truth matching
72 
74  };
75 
76  public:
77  /// TGlobalTruthInfo
78  /// Information relating to a truth trajectory.
79  /// At the global level, this contains information about the INITIAL state of
80  /// the trajectory.
81  class TGlobalTruthInfo : public TObject {
82  public:
84  virtual ~TGlobalTruthInfo();
85 
86  bool SetOK;
87 
88  double Momentum; /// < Momentum of the true trajectory
89  TVector3 Direction; /// < Direction of the true trajectory
90  double Charge; /// < Charge of the trajectory
91  TLorentzVector Position; /// < Initial position of the trajectory
92  double Efficiency; /// < Efficiency of this truth matching
93  double Purity; /// < Purity of this truth matching
94 
96  };
97 
98  public:
99  /// TReconStateInfo
100  /// Information related to a recon object's state
101  class TReconStateInfo : public TObject {
102  public:
103  TReconStateInfo();
104  virtual ~TReconStateInfo();
105 
106  bool SetOK;
107 
108  TLorentzVector Position; /// < Easy access to the state's position. All
109  /// state types support this
110  TLorentzVector PositionVariance; /// < Easy access to the state's position
111  /// variance. All state types support this
112  TVector3 Direction; /// < Easy access to the state's direction, if the
113  /// state type supports it
114  double Momentum; /// < Easy access to the state's momentum, if the state
115  /// type supports it
116 
118  };
119 
120  public:
121  /// TDownToTrackerInfo
122  /// Information related to the constituents of an object that are built up
123  /// from a tracker object
124  class TDownToTrackerInfo : public TObject {
125  public:
127  virtual ~TDownToTrackerInfo();
128 
129  bool SetOK;
130 
131  std::string DetectorName; /// < Subdetector(s) used for this object
132  double MatchingChi2; /// < Matching chi^2 of this object
133  TLorentzVector Position; /// < Easy access to the state's position. All
134  /// state types support this
135  TVector3 Direction; /// < Easy access to the state's direction, if the
136  /// state type supports it
137  double Momentum; /// < Easy access to the state's momentum, if the state
138  /// type supports it
139 
141  };
142 
143  public:
144  /// THelixModelInfo
145  /// Information from a state extrapolated using the tpcRecon HelixModel
146  class THelixModelInfo : public TObject {
147  public:
148  THelixModelInfo();
149  virtual ~THelixModelInfo();
150 
151  bool SetOK;
152 
153  TVector3 Position; /// < Extrapolated positions
154  double CosTheta; /// < Extrapolated cosTheta
155 
157  };
158 
159  public:
160  /// TMatchingChi2Info
161  /// Information for storing global recon matching chi2 info
162  class TMatchingChi2Info : public TObject {
163  public:
165  virtual ~TMatchingChi2Info();
166 
167  bool SetOK;
168 
169  std::string Det1; /// < First object's detector string
170  bool IsShower1; /// < Whether the first object was a shower
171  std::string Det2; /// < Second object's detector string
172  bool IsShower2; /// < Whether the second object was a shower
173  double MatchingChi2; /// < The matching chi^2 value
174 
176  };
177 
178  public:
179  /// TGlobalReconStateInfo
180  /// Information related to a recon object's state
182  public:
184  virtual ~TGlobalReconStateInfo();
185 
186  bool SetOK;
187 
188  TLorentzVector Position; /// < Easy access to the state's position. All
189  /// state types support this
190  TLorentzVector PositionVariance; /// < Easy access to the state's position
191  /// variance. All state types support this
192  TVector3 Direction; /// < Easy access to the state's direction, if the
193  /// state type supports it
194  double Momentum; /// < Easy access to the state's momentum, if the state
195  /// type supports it
196 
198  };
199 
200  public:
201  /// TGlobalReconNodeInfo
202  /// Information related to a recon object's node
203  class TGlobalReconNodeInfo : public TObject {
204  public:
206  virtual ~TGlobalReconNodeInfo();
207 
208  bool SetOK;
209 
212 
214  };
215 
216  public:
217  /// TGlobalReconConstituent
218  /// The main object that contains constituent recon information
219  /// Feel free to add to.
221  public:
223  virtual ~TGlobalReconConstituent();
224 
225  bool SetOK;
226 
227  std::string ReconAlgorithm; /// < Name of Subdetector recon algorithm
228  std::string DetectorName; /// < Subdetector(s) used for this object
229  std::string ClassName; /// < ClassName of this recon object
230  std::string StatusString; /// < String containing the status of the object
231  /// (success, ran etc)
232  std::string ParticleID; /// < ParticleID, if the constituent is a TReconPID
233  double PIDWeight; /// < PID weight, if the constituent is a TReconPID
234  UInt_t UniqueID; /// < UniqueID identifying this constituent
235 
236  /// Global recon constituent's overall object state
238 
239  /// State of first node of global recon constituent
241 
242  /// Object of first node of global recon constituent
244 
245  /// State of last node of global recon constituent
247 
248  /// Object of last node of global recon constituent
250 
251  /// State information of subdetector recon object. Only filled for P0D,
252  /// P0DECal and
253  /// TrackerECal constituents, as these are the only ones refitted by global
254  /// recon
256 
257  /// State information of subdetector recon object. Only filled for P0D,
258  /// P0DECal and
259  /// TrackerECal constituents, as these are the only ones refitted by global
260  /// recon
262 
263  /// State information of subdetector recon object. Only filled for P0D,
264  /// P0DECal and
265  /// TrackerECal constituents, as these are the only ones refitted by global
266  /// recon
268 
269  /// State information of closest global recon node to subdetector state
270  /// position,
271  /// projected to the position of the subdetector state.
272  /// Extrapolation is done to the surface with normal (0,0,1) in the LOCAL
273  /// geometry
274  /// of the module we're in. So, for the Barrel ECals, that means we
275  /// extrapolate to
276  /// the surface with normal (1,0,0) or (0,1,0).
278 
279  /// Truth information at MC trajectory point closest to refitted state
280  /// position
282 
283  /// Extrapolation of object to upstream face of DsECal, using tpcRecon
284  /// HelixModel.
285  /// Only set for TPC constituents.
287 
288  /// Extrapolation of object to inner face of LTECal, using tpcRecon
289  /// HelixModel.
290  /// Only set for TPC constituents.
292 
293  /// Extrapolation of object to inner face of RTECal, using tpcRecon
294  /// HelixModel.
295  /// Only set for TPC constituents.
297 
298  /// Extrapolation of object to inner face of TTECal, using tpcRecon
299  /// HelixModel.
300  /// Only set for TPC constituents.
302 
303  /// Extrapolation of object to inner face of BTECal, using tpcRecon
304  /// HelixModel.
305  /// Only set for TPC constituents.
307 
308  /// Extrapolation of object to downstream face of P0D, using tpcRecon
309  /// HelixModel.
310  /// Only set for TPC constituents.
312 
313  /// Extrapolation of TPC1(TPC3) object to downstream(upstream) face of TPC2,
314  /// using tpcRecon HelixModel.
316 
317  /// Value of averageHitTime TDatum, if set.
319 
320  /// Number of hits for this constituent, or -1 if the THitSelection is
321  /// invalid
322  int NumHits;
323 
324  /// EDeposit of the constituent
325  double EDeposit;
326 
327  /// Goodness of fit
328  double Quality;
329 
330  /// NDOF
331  int NDOF;
332 
333  /// Whether the constituent is a TReconShower (or a TReconPID with a single
334  /// constituent
335  /// that is a TReconShower)
336  bool IsShower;
337 
339  };
340 
341  public:
342  /// TGlobalReconObject
343  /// Object for containing global recon information
344  class TGlobalReconObject : public TObject {
345  public:
347  virtual ~TGlobalReconObject();
348 
349  bool SetOK;
350 
351  /// Number of constituents of the global track
353 
354  /// Number of constituents in each module
355  std::map<std::string, int>* NModuleConstituents;
356 
357  /// String containing subdetectors used by this object
358  std::string SubdetectorString;
359 
360  /// String containing the status of the object (success, ran etc)
361  std::string StatusString;
362 
363  /// Information about the nodes of the global track, in the same order as
364  /// they are stored
365  /// in the global track
366  TClonesArray* GlobalNodes;
367 
368  /// The number of states the global track contains
370 
371  /// The number of states of the global track that we saved information about
373 
374  /// Momentum of global track
375  double Momentum;
376 
377  /// Momentum of global track, from the MomentumByRange algorithm
385 
386  /// Position/time of the global track
387  TLorentzVector Position;
388 
389  /// Direction of global track
390  TVector3 Direction;
391 
392  /// Charge of global track
393  double Charge;
394 
395  /// Goodness of fit
396  double Quality;
397 
398  /// NDOF
399  int NDOF;
400 
401  /// PID
402  std::string ParticleID;
403 
404  /// PID weight
405  double PIDWeight;
406 
407  /// Matching chi^2s, if global recon merged two objects together. Recurse
408  /// down all
409  /// constituents.
410  TClonesArray* MatchingChi2Info;
411 
412  /// Number of entries in the MatchingChi2s array.
414 
415  /// True momentum, angle and charge at closest approach to global state
416  /// position
418 
419  /// TClonesArray of (lowest-level) constituent TGlobalReconConstituent
420  TClonesArray* Constituents;
421 
422  /// TClonesArray of intermediate constituent states, working down to
423  /// tracker-only constituent.
424  /// Only set for objects that contain tracker constituents.
426 
427  /// Number of objects we saved in the DownToTrackerConstituents
428  /// TClonesArray.
430 
431  /// UniqueID identifying this object
432  UInt_t UniqueID;
433 
435  };
436 
437  public:
439  const char* name = "ReconPerfEval",
440  const char* title = "Recon Performance Evaluation Module");
442 
443  virtual Bool_t IsEnabledByDefault() const { return kFALSE; }
444 
445  virtual Bool_t ProcessFirstEvent(ND::TND280Event& event);
446 
447  virtual bool IsFullEventWorthSaving(ND::TND280Event& event);
448 
449  protected:
450  virtual void InitializeModule();
451 
452  virtual void InitializeBranches();
453  void FillConfigTree(TTree* configTree);
454  virtual bool FillTree(ND::TND280Event&);
455 
456  void FillGlobalInfo(ND::TND280Event& event,
457  ND::THandle<ND::TReconBase> reconObject,
458  TGlobalReconObject* output);
459  void FillConstituentInfo(ND::TND280Event& event,
460  ND::THandle<ND::TReconBase> reconObject,
461  ND::THandle<ND::TReconBase> globalObject,
462  TGlobalReconConstituent* output);
463  void FillStateInfo(ND::THandle<ND::TReconState> state,
464  TReconStateInfo& output);
465  void FillDownToTrackerInfo(ND::THandle<ND::TReconBase> base,
466  TDownToTrackerInfo* output);
467  void FillGlobalStateInfo(ND::THandle<ND::TReconState> state,
468  TGlobalReconStateInfo& output);
469  void FillConsTruthInfo(ND::TND280Event& event,
470  ND::THandle<ND::TReconBase> reconObject,
471  TTruthInfo& output);
472  void FillGlobalTruthInfo(ND::TND280Event& event,
473  ND::THandle<ND::TReconBase> reconObject,
474  TGlobalTruthInfo& output);
475  TLorentzVector GetStatePosition(ND::THandle<ND::TReconState> state);
476  TLorentzVector GetStatePositionVariance(ND::THandle<ND::TReconState> state);
477  double GetStateMomentum(ND::THandle<ND::TReconState> state);
478  TVector3 GetStateDirection(ND::THandle<ND::TReconState> state);
479  ND::THandle<ND::TReconState> GetLastState(ND::THandle<ND::TReconBase> object);
480  ND::THandle<ND::TReconState> GetFirstState(
481  ND::THandle<ND::TReconBase> object);
482  double GetEDeposit(ND::THandle<ND::TReconBase> object);
483  ND::TReconObjectContainer GetConstituentsOfInterest(
484  ND::THandle<ND::TReconBase> input);
485  ND::TReconObjectContainer GetDownToTracker(ND::THandle<ND::TReconBase> input);
486  bool IsOnlyTracker(ND::THandle<ND::TReconBase> input);
487  bool ContainsTracker(ND::THandle<ND::TReconBase> input);
488  bool ConstituentsAreEqual(ND::THandle<ND::TReconBase> obj1,
489  ND::THandle<ND::TReconBase> obj2);
490  void GetObjectsFromVertices(ND::THandle<ND::TReconObjectContainer> input,
491  ND::THandle<ND::TReconObjectContainer> output);
492  void ExtrapolateToModuleAndFill(ND::THandle<ND::TReconBase> base,
493  THelixModelInfo& output, std::string module);
494  void GetModuleBox(ND::TGeometryId id, TVector3& minpos, TVector3& maxpos);
495 
496  public:
497  /// Tree Entries
499 
500  /// TClonesArray of TGlobalReconObject
501  TClonesArray* fGlobalReconObjects;
502 
503  /// Number of hits in each subdetector.
504  std::map<std::string, int> fHitInfo;
505 
506  private:
507  /// Flag for whether to save all global nodes or just the first and last nodes
509 
510 };
511 #endif
double Purity
&lt; Efficiency of this truth matching
TGlobalReconObject Object for containing global recon information.
std::string ClassName
&lt; Subdetector(s) used for this object
double AverageHitTime
Value of averageHitTime TDatum, if set.
ClassDef(TReconPerformanceEvalModule::TTruthInfo, 1)
&lt; Purity of this truth matching
TTruthInfo Information relating to a truth trajectory.
bool ContainsTracker(ND::THandle< ND::TReconBase > input)
double Efficiency
&lt; Position of the trajectory point
Int_t NGlobalNodes
The number of states the global track contains.
double Momentum
&lt; Easy access to the state&#39;s direction, if the state type supports it
TLorentzVector PositionVariance
&lt; Easy access to the state&#39;s position.
TReconStateInfo GlobalReconConsState
&lt; UniqueID identifying this constituent
double Momentum
&lt; Whether this object was filled
TLorentzVector PositionVariance
&lt; Easy access to the state&#39;s position.
TVector3 Direction
&lt; Momentum of the true trajectory
double MatchingChi2
&lt; Subdetector(s) used for this object
TClonesArray * GlobalNodes
Information about the nodes of the global track, in the same order as they are stored in the global t...
void FillConsTruthInfo(ND::TND280Event &event, ND::THandle< ND::TReconBase > reconObject, TTruthInfo &output)
Fill information relating to the true trajectory associated to a constituent of a global PID...
virtual bool FillTree(ND::TND280Event &)
Fill all the stuff that goes in the output tree.
TReconStateInfo OriginalObjectFirstNodeState
State information of subdetector recon object.
virtual bool IsFullEventWorthSaving(ND::TND280Event &event)
Whether the module thinks it is worth saving the entire oaEvent event tree entry for this event...
ClassDef(TReconPerformanceEvalModule::TMatchingChi2Info, 1)
&lt; The matching chi^2 value
TReconStateInfo GlobalReconConsFirstNodeState
State of first node of global recon constituent.
bool fSaveAllGlobalNodes
Flag for whether to save all global nodes or just the first and last nodes.
ClassDef(TReconPerformanceEvalModule::TDownToTrackerInfo, 1)
&lt; Easy access to the state&#39;s momentum, if the state type supports it
void FillConstituentInfo(ND::TND280Event &event, ND::THandle< ND::TReconBase > reconObject, ND::THandle< ND::TReconBase > globalObject, TGlobalReconConstituent *output)
Fill information in the output tree relating to a constituent of a global PID.
ClassDef(TReconPerformanceEvalModule::TReconStateInfo, 1)
&lt; Easy access to the state&#39;s momentum, if the state type supports it
TVector3 Direction
&lt; Easy access to the state&#39;s position variance.
THelixModelInfo StateAtP0D
Extrapolation of object to downstream face of P0D, using tpcRecon HelixModel.
TVector3 Direction
&lt; Momentum of the true trajectory at the trajectory point
double PIDWeight
&lt; ParticleID, if the constituent is a TReconPID
int NumHits
Number of hits for this constituent, or -1 if the THitSelection is invalid.
TReconStateInfo GlobalReconConsLastNodeState
State of last node of global recon constituent.
TClonesArray * fGlobalReconObjects
TClonesArray of TGlobalReconObject.
ND::TReconObjectContainer GetDownToTracker(ND::THandle< ND::TReconBase > input)
Get the list of constituents that are found on the way down to getting the tracker-only constituent...
double Efficiency
&lt; Initial position of the trajectory
double Charge
&lt; Direction of the true trajectory
double GetStateMomentum(ND::THandle< ND::TReconState > state)
Accessor for getting position from TReconState. Only supported by TPIDState.
THelixModelInfo StateAtLTECal
Extrapolation of object to inner face of LTECal, using tpcRecon HelixModel.
double MatchingChi2
&lt; Whether the second object was a shower
double GetEDeposit(ND::THandle< ND::TReconBase > object)
Get the EDeposit of a TRecon(Track|Shower|Cluster) or a TReconPID that has a single constituent that ...
bool ConstituentsAreEqual(ND::THandle< ND::TReconBase > obj1, ND::THandle< ND::TReconBase > obj2)
Check whether the THandles of the immediate constituents of two objects are equal.
void GetObjectsFromVertices(ND::THandle< ND::TReconObjectContainer > input, ND::THandle< ND::TReconObjectContainer > output)
Extract TReconPIDs from P0DRecon&#39;s TReconVertex container.
TLorentzVector Position
&lt; Matching chi^2 of this object
THelixModelInfo StateAtTTECal
Extrapolation of object to inner face of TTECal, using tpcRecon HelixModel.
ClassDef(TReconPerformanceEvalModule::TGlobalReconObject, 1)
TLorentzVector Position
&lt; Charge of the trajectory
TGlobalReconConstituent The main object that contains constituent recon information Feel free to add ...
bool IsShower2
&lt; Second object&#39;s detector string
void FillGlobalTruthInfo(ND::TND280Event &event, ND::THandle< ND::TReconBase > reconObject, TGlobalTruthInfo &output)
Fill information relating to the true particle associated with a global PID.
TReconPerformanceEvalModule - Object that contains information related to the performance of global r...
void FillGlobalInfo(ND::TND280Event &event, ND::THandle< ND::TReconBase > reconObject, TGlobalReconObject *output)
Fill information in the output tree relating to the global PID.
void FillDownToTrackerInfo(ND::THandle< ND::TReconBase > base, TDownToTrackerInfo *output)
Fill information relating to the state of a global PID constituent.
TClonesArray * MatchingChi2Info
Matching chi^2s, if global recon merged two objects together.
TReconPerformanceEvalModule(const char *name="ReconPerfEval", const char *title="Recon Performance Evaluation Module")
Int_t NGlobalNodesSaved
The number of states of the global track that we saved information about.
double Momentum
&lt; Easy access to the state&#39;s direction, if the state type supports it
TGlobalReconNodeInfo Information related to a recon object&#39;s node.
ClassDef(TReconPerformanceEvalModule::TGlobalReconNodeInfo, 1)
int NMatchingChi2Info
Number of entries in the MatchingChi2s array.
std::string StatusString
&lt; ClassName of this recon object
ClassDef(TReconPerformanceEvalModule::TGlobalReconStateInfo, 1)
&lt; Easy access to the state&#39;s momentum, if the state type supports it
virtual Bool_t ProcessFirstEvent(ND::TND280Event &event)
Is called after the first event is loaded in.
ND::TReconObjectContainer GetConstituentsOfInterest(ND::THandle< ND::TReconBase > input)
Get the constituents of a global PID that we wish to investigate further.
THelixModelInfo StateAtDSECal
Extrapolation of object to upstream face of DsECal, using tpcRecon HelixModel.
TGlobalReconStateInfo Information related to a recon object&#39;s state.
TVector3 Direction
&lt; Easy access to the state&#39;s position.
ClassDef(TReconPerformanceEvalModule::THelixModelInfo, 1)
&lt; Extrapolated cosTheta
TReconStateInfo OriginalObjectState
State information of subdetector recon object.
virtual void InitializeModule()
Initialize Module, override if necessary.
std::string SubdetectorString
String containing subdetectors used by this object.
THelixModelInfo Information from a state extrapolated using the tpcRecon HelixModel.
TGlobalTruthInfo Truth
True momentum, angle and charge at closest approach to global state position.
virtual Bool_t IsEnabledByDefault() const
Is the module is enabled by default.
void ExtrapolateToModuleAndFill(ND::THandle< ND::TReconBase > base, THelixModelInfo &output, std::string module)
Extrapolate an object to the surface of another module.
TLorentzVector Position
Position/time of the global track.
TReconStateInfo OriginalObjectLastNodeState
State information of subdetector recon object.
TLorentzVector Position
&lt; Charge of the trajectory
ClassDef(TReconPerformanceEvalModule::TGlobalTruthInfo, 1)
&lt; Purity of this truth matching
void GetModuleBox(ND::TGeometryId id, TVector3 &minpos, TVector3 &maxpos)
Get the minimum and maximum positions of the box defining this TGeometryId.
std::map< std::string, int > fHitInfo
Number of hits in each subdetector.
ClassDef(TReconPerformanceEvalModule::TGlobalReconConstituent, 1)
bool IsShower
Whether the constituent is a TReconShower (or a TReconPID with a single constituent that is a TReconS...
ND::THandle< ND::TReconState > GetLastState(ND::THandle< ND::TReconBase > object)
Get the state of the last node in an object.
TVector3 GetStateDirection(ND::THandle< ND::TReconState > state)
Accessor for getting direction from TReconState.
TReconStateInfo GlobalReconConsFirstNodeObject
Object of first node of global recon constituent.
UInt_t UniqueID
&lt; PID weight, if the constituent is a TReconPID
TLorentzVector GetStatePositionVariance(ND::THandle< ND::TReconState > state)
Accessor for getting position variance from TReconState.
TMatchingChi2Info Information for storing global recon matching chi2 info.
double Purity
&lt; Efficiency of this truth matching
TVector3 Direction
&lt; Easy access to the state&#39;s position variance.
TLorentzVector GetStatePosition(ND::THandle< ND::TReconState > state)
Accessor for getting position from TReconState.
THelixModelInfo StateAtBTECal
Extrapolation of object to inner face of BTECal, using tpcRecon HelixModel.
TClonesArray * Constituents
TClonesArray of (lowest-level) constituent TGlobalReconConstituent.
double Charge
&lt; Direction of the true trajectory at the trajectory point
std::string Det2
&lt; Whether the first object was a shower
Int_t NDownToTrackerConstituents
Number of objects we saved in the DownToTrackerConstituents TClonesArray.
THelixModelInfo StateAtTPC2
Extrapolation of TPC1(TPC3) object to downstream(upstream) face of TPC2, using tpcRecon HelixModel...
THelixModelInfo StateAtRTECal
Extrapolation of object to inner face of RTECal, using tpcRecon HelixModel.
std::string ParticleID
&lt; String containing the status of the object (success, ran etc)
TClonesArray * DownToTrackerConstituents
TClonesArray of intermediate constituent states, working down to tracker-only constituent.
std::string StatusString
String containing the status of the object (success, ran etc)
bool IsShower1
&lt; First object&#39;s detector string
void FillGlobalStateInfo(ND::THandle< ND::TReconState > state, TGlobalReconStateInfo &output)
Fill information relating to the state of a global PID.
std::string DetectorName
&lt; Name of Subdetector recon algorithm
double Momentum
&lt; Easy access to the state&#39;s direction, if the state type supports it
TTruthInfo ConsTruth
Truth information at MC trajectory point closest to refitted state position.
ND::THandle< ND::TReconState > GetFirstState(ND::THandle< ND::TReconBase > object)
Get the state of the first node in an object.
std::map< std::string, int > * NModuleConstituents
Number of constituents in each module.
TReconStateInfo GlobalReconConsLastNodeObject
Object of last node of global recon constituent.
double MomentumByRange
Momentum of global track, from the MomentumByRange algorithm.
TDownToTrackerInfo Information related to the constituents of an object that are built up from a trac...
void FillStateInfo(ND::THandle< ND::TReconState > state, TReconStateInfo &output)
Fill information relating to the state of a global PID constituent.
TGlobalTruthInfo Information relating to a truth trajectory.
virtual void InitializeBranches()
Initialize Branches. Don&#39;t do anything else in this function.
TReconStateInfo ClosestGlobalNodeState
State information of closest global recon node to subdetector state position, projected to the positi...
TReconStateInfo Information related to a recon object&#39;s state.
bool IsOnlyTracker(ND::THandle< ND::TReconBase > input)
A base class for analysis output modules which contain reconstructed event information.
Int_t NConstituents
Number of constituents of the global track.

Package Summary
Package Name: eventAnalysis
Package Version: 7.0-49-g0ac7482
Package Manager:

Generated on Mon Mar 25 2024 14:43:59 for eventAnalysis by doxygen 1.8.5