Hall C ROOT/C++ Analyzer (hcana)
THcCoinTime.h
Go to the documentation of this file.
1 #ifndef ROOT_THcCoinTime
2 #define ROOT_THcCoinTime
3 
5 // //
6 // THcCoinTime Physics Module //
7 // Author: Carlos Yero //
8 // Date: April 27, 2018 //
10 
11 #include "THaEvData.h"
12 #include "THaCutList.h"
13 #include "VarDef.h"
14 #include "VarType.h"
15 #include "TClonesArray.h"
16 
17 #include <cstring>
18 #include <cstdio>
19 #include <cstdlib>
20 #include <iostream>
21 
22 #include "THaPhysicsModule.h"
23 #include "THcTrigDet.h"
24 #include "THcHodoscope.h"
25 //#include "THaSpectrometer.h"
26 #include "THcHallCSpectrometer.h"
27 #include "THaTrack.h"
28 
29 class THcCoinTime : public THaPhysicsModule {
30 public:
31  THcCoinTime( const char* name, const char* description, const char* hadArmName="",
32  const char* elecArmName="", const char* coinname="");
33 
34  virtual ~THcCoinTime();
35 
36 
37  virtual EStatus Init( const TDatime& run_time );
38  virtual Int_t Process( const THaEvData& );
39 
40  void Reset( Option_t* opt="" );
41  void Clear( Option_t* opt="" );
42 
43 
44  protected:
45 
46  virtual Int_t ReadDatabase( const TDatime& date);
47  virtual Int_t DefineVariables( EMode mode = kDefine );
48 
49  // Data needed for adding coincidence time as a Leaf Variable
50 
51  TString fHodName; // Name of hodoscope
52  TString fCoinDetName; // Name of Coin Trigger
53  TString fhadArmName; //name of hadron arm
54  TString felecArmName; // name of electron arm
55 
56 
57  THcHallCSpectrometer* fhadSpectro; // hadron Spectrometer object
58  THcHallCSpectrometer* felecSpectro; // electron Spectrometer object
59  THcTrigDet* fCoinDet; //Coin Trigger detector object
60 
61  THaTrack* theSHMSTrack;
62  THaTrack* theHMSTrack;
63 
64  THcHodoscope* fHod; // Hodscope object
65 
66  //-----Declare Variables used in HMS/SHMS Coin. time correction-----
70 
71  //hadron masses (the e- could be in coincidence with any of the hadrons)
75 
76  Double_t eHad_CT_Offset; //e-Hadron coin time Offset
77 
80 
83 
88 
89 
94 
99 
104 
105  Double_t fROC1_ePosCoinTime; //electron-positron coin time
107  Double_t fTRIG1_ePosCoinTime; //electron-positron coin time
109 
113 
116 
119 
122 
125 
126 
127  Double_t elec_P; //electron golden track momentum
128  Double_t elec_dP; //electron golden track delta-> (P-P0 / P0)
129  Double_t elec_xptar; //electron golden track theta (xptar, :)
130  Double_t elec_FPtime; //electron focal plane time
131 
132  Double_t had_P; //hadron golden track momentum
133  Double_t had_xfp; //hadron x-focal plane
134  Double_t had_xpfp; //hadron xp focal plane
135  Double_t had_ypfp; //hadron yp focal plane
136  Double_t had_FPtime; //hadron focal plane time
137 
138  // trigger times pTrig1 (SHMS 3/4 trig) and pTrig4 (HMS 3/4 trig)
143 
144  //--------------------------------------------------------------------
145 
146  ClassDef(THcCoinTime,0) // Coincidence Time Module
147 };
148 
149 #endif
Double_t had_coinCorr_proton
Definition: THcCoinTime.h:114
Double_t pionMass
Definition: THcCoinTime.h:74
Double_t fTRIG4_RAW_CoinTime
Definition: THcCoinTime.h:87
Double_t fTRIG4_ePiCoinTime
Definition: THcCoinTime.h:103
Double_t pTRIG1_TdcTime_ROC2
Definition: THcCoinTime.h:141
THaTrack * theSHMSTrack
Definition: THcCoinTime.h:61
const char Option_t
Double_t had_coinCorr_Kaon
Definition: THcCoinTime.h:117
Double_t had_ypfp
Definition: THcCoinTime.h:135
Double_t hadArm_BetaCalc_Positron
Definition: THcCoinTime.h:124
Double_t fTRIG1_epCoinTime
Definition: THcCoinTime.h:92
Double_t elec_dP
Definition: THcCoinTime.h:128
int Int_t
virtual EStatus Init(const TDatime &run_time)
Definition: THcCoinTime.cxx:87
virtual Int_t DefineVariables(EMode mode=kDefine)
Double_t elec_FPtime
Definition: THcCoinTime.h:130
Double_t kaonMass
Definition: THcCoinTime.h:73
Double_t fTRIG4_epCoinTime
Definition: THcCoinTime.h:93
void Reset(Option_t *opt="")
Definition: THcCoinTime.cxx:79
Double_t elecArm_BetaCalc
Definition: THcCoinTime.h:111
Double_t fROC2_RAW_CoinTime
Definition: THcCoinTime.h:85
Double_t had_xfp
Definition: THcCoinTime.h:133
THcHallCSpectrometer * fhadSpectro
Definition: THcCoinTime.h:57
Double_t fROC2_epCoinTime
Definition: THcCoinTime.h:91
#define ClassDef(name, id)
Class for calculating and adding the Coincidence Time in the Tree.
Definition: THcCoinTime.h:29
Double_t elecMass
Definition: THcCoinTime.h:68
THcTrigDet * fCoinDet
Definition: THcCoinTime.h:59
virtual Int_t Process(const THaEvData &)
Double_t fROC1_epCoinTime
Definition: THcCoinTime.h:90
Double_t fROC1_eKCoinTime
Definition: THcCoinTime.h:95
Double_t elec_P
Definition: THcCoinTime.h:127
A mock detector to hold trigger related data.
Definition: THcTrigDet.h:16
THcHallCSpectrometer * felecSpectro
Definition: THcCoinTime.h:58
TString fCoinDetName
Definition: THcCoinTime.h:52
Double_t positronMass
Definition: THcCoinTime.h:69
THcHodoscope * fHod
Definition: THcCoinTime.h:64
Double_t fROC1_ePosCoinTime
Definition: THcCoinTime.h:105
THcCoinTime(const char *name, const char *description, const char *hadArmName="", const char *elecArmName="", const char *coinname="")
Definition: THcCoinTime.cxx:30
Double_t fROC2_eKCoinTime
Definition: THcCoinTime.h:96
Double_t hadArm_BetaCalc_proton
Definition: THcCoinTime.h:115
Double_t had_xpfp
Definition: THcCoinTime.h:134
Double_t elec_coinCorr
Definition: THcCoinTime.h:110
Double_t fROC1_RAW_CoinTime
Definition: THcCoinTime.h:84
Double_t fROC2_ePiCoinTime
Definition: THcCoinTime.h:101
Double_t fTRIG1_RAW_CoinTime
Definition: THcCoinTime.h:86
Double_t pTRIG4_TdcTime_ROC1
Definition: THcCoinTime.h:140
TString felecArmName
Definition: THcCoinTime.h:54
Double_t hadArm_BetaCalc_Pion
Definition: THcCoinTime.h:121
Double_t pTRIG1_TdcTime_ROC1
Definition: THcCoinTime.h:139
Double_t lightSpeed
Definition: THcCoinTime.h:67
Double_t had_P
Definition: THcCoinTime.h:132
Double_t DeltaHMSpathLength
Definition: THcCoinTime.h:82
double Double_t
Double_t eHad_CT_Offset
Definition: THcCoinTime.h:76
Double_t HMScentralPathLen
Definition: THcCoinTime.h:79
Double_t fROC2_ePosCoinTime
Definition: THcCoinTime.h:106
Double_t fTRIG1_eKCoinTime
Definition: THcCoinTime.h:97
Double_t fTRIG4_ePosCoinTime
Definition: THcCoinTime.h:108
virtual ~THcCoinTime()
Definition: THcCoinTime.cxx:45
Double_t fTRIG4_eKCoinTime
Definition: THcCoinTime.h:98
Double_t SHMScentralPathLen
Definition: THcCoinTime.h:78
THaTrack * theHMSTrack
Definition: THcCoinTime.h:62
Double_t DeltaSHMSpathLength
Definition: THcCoinTime.h:81
Double_t had_coinCorr_Positron
Definition: THcCoinTime.h:123
Double_t had_FPtime
Definition: THcCoinTime.h:136
Double_t elec_xptar
Definition: THcCoinTime.h:129
Double_t fTRIG1_ePiCoinTime
Definition: THcCoinTime.h:102
void Clear(Option_t *opt="")
Definition: THcCoinTime.cxx:53
Double_t protonMass
Definition: THcCoinTime.h:72
Double_t fROC1_ePiCoinTime
Definition: THcCoinTime.h:100
Double_t hadArm_BetaCalc_Kaon
Definition: THcCoinTime.h:118
Double_t had_coinCorr_Pion
Definition: THcCoinTime.h:120
virtual Int_t ReadDatabase(const TDatime &date)
TString fhadArmName
Definition: THcCoinTime.h:53
Double_t pTRIG4_TdcTime_ROC2
Definition: THcCoinTime.h:142
Generic hodoscope consisting of multiple planes with multiple paddles with phototubes on both ends...
Definition: THcHodoscope.h:37
Double_t fTRIG1_ePosCoinTime
Definition: THcCoinTime.h:107
char name[80]
TString fHodName
Definition: THcCoinTime.h:51
Double_t elec_hodFPtime
Definition: THcCoinTime.h:112
A standard Hall C spectrometer apparatus.