Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DEventProcessor_trackanal.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DEventProcessor_tofanal.h
4 // Created: Wed Jul 14 17:12:56 EDT 2010
5 // Creator: zihlmann (on Linux chaos.jlab.org 2.6.18-164.2.1.el5 i686)
6 //
7 
8 #ifndef _DEventProcessor_trackanal_
9 #define _DEventProcessor_trackanal_
10 
11 using namespace std;
12 
13 #include <TTree.h>
14 #include <TFile.h>
15 
16 #include <JANA/JEventProcessor.h>
17 #define MaxTrThrown 30
18 #define MaxTrCand 35
19 #define MaxTrFit 60
20 
21 class DEventProcessor_trackanal:public jana::JEventProcessor{
22  public:
25  const char* className(void){return "DEventProcessor_trackanal";}
26 
27  TTree *TrackTree;
28  TFile *ROOTFile;
29 
30  Int_t EventNum;
31  Int_t NTrThrown; // total number of thrown tracks
32  Int_t MaxT; // Maximum number of thrown tracks
33  Int_t MaxF; // Maximum number of fits
34  Int_t MaxC; // Maximum number of track candidates considered
35 
36  Int_t ThrownPType[MaxTrThrown]; // particle type of thrown tracks
37  Float_t ThrownPp[MaxTrThrown]; // particle momentum of thrown tracks
38  Float_t ThrownQ[MaxTrThrown]; // electric charge of thrown particle
39  Int_t NTrCand;
40  Float_t TrCandP[MaxTrCand]; // momentum of track candidate
41  Float_t TrCandQ[MaxTrCand]; // charge of track candidate
42  Float_t TrCandN[MaxTrCand]; // number of hits of track candidate
43  Float_t TrCandM[MaxTrCand]; // number of hits with match found in TruthPoint
44  Int_t NTrCandHits;
45  Int_t NTrFit;
46  Int_t trlistPtype[MaxTrFit]; // particle type of track candidate with best FOM
47  Float_t trlistPp[MaxTrFit]; // particle momentum of track candidate with best FOM
48  Float_t trlistFOM[MaxTrFit]; // figure of merrit
49  Float_t trlistchisq[MaxTrFit]; // chisq
50  Int_t trlistcand[MaxTrFit]; // track candidate number
51  Float_t nh[MaxTrFit*MaxTrFit] ; // number of hits for each track candidate
52  Float_t ptypes[MaxTrFit*MaxTrFit]; // for each track candidate the chamber hits for each particle type
53 
54  private:
55  jerror_t init(void);
56  jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber);
57  jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber);
58  jerror_t erun(void);
59  jerror_t fini(void);
60 
61 
62  pthread_mutex_t mutex;
63 
64 };
65 
66 #endif // _DEventProcessor_trackanal_
67 
#define MaxTrCand
#define MaxTrThrown
#define MaxTrFit