Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DEventProcessor_dirc_hists.h
Go to the documentation of this file.
1 // -----------------------------------------
2 // DEventProcessor_dirc_hists.h
3 // -----------------------------------------
4 
5 #ifndef DEVENTPROCESSOR_DIRC_HIST_H_
6 #define DEVENTPROCESSOR_DIRC_HIST_H_
7 
8 #include <iostream>
9 #include <vector>
10 using namespace std;
11 
12 #include <JANA/JFactory.h>
13 #include <JANA/JEventProcessor.h>
14 #include <JANA/JEventLoop.h>
15 #include <JANA/JApplication.h>
16 #include <DANA/DApplication.h>
17 #include <HDGEOMETRY/DGeometry.h>
18 
19 using namespace jana;
20 
21 #include <TRACKING/DMCThrown.h>
22 #include <TRACKING/DMCTrackHit.h>
24 #include <PID/DKinematicData.h>
25 #include <PID/DParticleID.h>
26 #include <DIRC/DDIRCTruthBarHit.h>
27 #include <DIRC/DDIRCTruthPmtHit.h>
28 #include <TRIGGER/DTrigger.h>
29 
30 #include <TMath.h>
31 #include <TFile.h>
32 #include <TH1.h>
33 #include <TH2.h>
34 #include <TDirectoryFile.h>
35 #include <TThread.h>
36 #include <TLorentzVector.h>
37 #include <TVector3.h>
38 #include <TROOT.h>
39 #include <TClonesArray.h>
40 
41 
42 class DEventProcessor_dirc_hists: public JEventProcessor {
43 
44 public:
47 
48  pthread_mutex_t mutex;
49 
50 private:
51  jerror_t init(void);
52  jerror_t brun(jana::JEventLoop *loop, int32_t runnumber);
53  jerror_t evnt(JEventLoop *loop, uint64_t eventnumber);
54  jerror_t erun(void);
55  jerror_t fini(void); // called after last event
56 
57  TH2I* hDiffBar[48];
58  TH1I* hNphCBar[48];
59  TH1I* hNphCBarInclusive[48];
60  TH2I *hNphCBarVsP[48];
61  TH2I *hNphCBarInclusiveVsP[48];
62  map<Particle_t, TH2I*> hExtrapolatedBarHitXY;
63  map<Particle_t, TH1I*> hDiff;
64  map<Particle_t, TH2I*> hDiffVsChannelDirect;
65  map<Particle_t, TH2I*> hDiffVsChannelReflected;
66  map<Particle_t, TH1I*> hNphC;
67  map<Particle_t, TH1I*> hNphCInclusive;
68  map<Particle_t, TH1I*> hThetaC;
69  map<Particle_t, TH1I*> hDeltaThetaC;
70  map<Particle_t, TH1I*> hLikelihood;
71  map<Particle_t, TH1I*> hLikelihoodDiff;
72 
73  map<Particle_t, TH2I*> hNphCVsP;
74  map<Particle_t, TH2I*> hNphCInclusiveVsP;
75  map<Particle_t, TH2I*> hThetaCVsP;
76  map<Particle_t, TH2I*> hDeltaThetaCVsP;
77  map<Particle_t, TH2I*> hLikelihoodDiffVsP;
78  map<Particle_t, TH2I*> hDeltaTVsP;
79 
80  TH1I *hHitTimeMap[40];
81  TH2S *hPixelHitMap[40], *hPixelHitMapReflected[40];
82 
84 
85  deque<Particle_t> dFinalStatePIDs;
87 
88 };
89 
90 #endif /* DEVENTPROCESSOR_DIRC_HIST_H_ */
map< Particle_t, TH2I * > hDeltaThetaCVsP
map< Particle_t, TH2I * > hDeltaTVsP
map< Particle_t, TH1I * > hThetaC
map< Particle_t, TH2I * > hLikelihoodDiffVsP
map< Particle_t, TH1I * > hNphC
map< Particle_t, TH2I * > hNphCVsP
map< Particle_t, TH2I * > hDiffVsChannelDirect
map< Particle_t, TH2I * > hExtrapolatedBarHitXY
map< Particle_t, TH1I * > hDiff
map< Particle_t, TH1I * > hLikelihoodDiff
map< Particle_t, TH1I * > hLikelihood
map< Particle_t, TH2I * > hDiffVsChannelReflected
map< Particle_t, TH1I * > hDeltaThetaC
map< Particle_t, TH2I * > hNphCInclusiveVsP
map< Particle_t, TH1I * > hNphCInclusive
map< Particle_t, TH2I * > hThetaCVsP