Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DEventProcessor_pid_dirc.h
Go to the documentation of this file.
1 // -----------------------------------------
2 // DEventProcessor_pid_dirc.h
3 // created on: 07.04.2017
4 // initial athor: r.dzhygadlo at gsi.de
5 // -----------------------------------------
6 
7 #ifndef DEVENTPROCESSOR_PID_DIRC_H_
8 #define DEVENTPROCESSOR_PID_DIRC_H_
9 
10 #include <iostream>
11 #include <vector>
12 using namespace std;
13 
14 #include <JANA/JFactory.h>
15 #include <JANA/JEventProcessor.h>
16 #include <JANA/JEventLoop.h>
17 #include <JANA/JApplication.h>
18 #include <DANA/DApplication.h>
19 #include <HDGEOMETRY/DGeometry.h>
20 
21 using namespace jana;
22 
23 #include <TRACKING/DMCThrown.h>
24 #include <TRACKING/DMCTrackHit.h>
25 #include <PID/DKinematicData.h>
26 #include <PID/DBeamPhoton.h>
27 #include <DIRC/DDIRCTruthBarHit.h>
28 #include <DIRC/DDIRCTruthPmtHit.h>
29 
30 #include <DAQ/DDIRCTDCHit.h>
31 #include "TTAB/DTTabUtilities.h"
32 #include <DIRC/DDIRCTDCDigiHit.h>
33 #include <DIRC/DDIRCPmtHit.h>
34 
35 #include <TRIGGER/DL1Trigger.h>
36 #include <DIRC/DDIRCLEDRef.h>
37 
38 #include <TMath.h>
39 #include <TFile.h>
40 #include <TTree.h>
41 #include <TDirectoryFile.h>
42 #include <TThread.h>
43 #include <TLorentzVector.h>
44 #include <TVector3.h>
45 #include <TROOT.h>
46 #include <TClonesArray.h>
47 
48 #include "DrcHit.h"
49 #include "DrcEvent.h"
50 
51 class DEventProcessor_pid_dirc: public JEventProcessor {
52 
53 public:
56 
57  class hit_set {
58  public:
59  Int_t hits_cdc; // Number of hits in CDC
60  Int_t hits_fdc; // Number of hits in FDC
61  Int_t hits_bcal; // Number of hits in BCAL
62  Int_t hits_fcal; // Number of hits in FCAL
63  Int_t hits_upv; // Number of hits in UPV
64  Int_t hits_tof; // Number of hits in TOF
65  Int_t hits_rich; // Number of hits in RICH
66  Int_t hits_cere; // Number of hits in Cherenkov
67  };
68 
69  TClonesArray *fcEvent;
72  TTree *fTree;
73 
74  pthread_mutex_t mutex;
75 
76 private:
77  jerror_t init(void);
78  jerror_t brun(jana::JEventLoop *loop, int32_t runnumber);
79  jerror_t evnt(JEventLoop *loop, uint64_t eventnumber);
80  jerror_t erun(void);
81  jerror_t fini(void); // called after last event
82 
83 };
84 
85 #endif /* DEVENTPROCESSOR_PID_DIRC_H_ */