32 const char* elecArmName,
const char* coinname) :
35 fCoinDetName(coinname),
36 fhadArmName(hadArmName),
37 felecArmName(elecArmName),
92 cout <<
"*************************************************" << endl;
93 cout <<
"Initializing THcCointTime Physics Modue" << endl;
94 cout <<
"Hadron Arm -------> " <<
fhadArmName << endl;
95 cout <<
"Electron Arm -------> " <<
felecArmName << endl;
97 cout <<
"**************************************************" << endl;
104 cout <<
"THcCoinTime module Cannnot find Hadron Arm = " <<
fhadArmName.
Data() << endl;
112 cout <<
"THcCoinTime module Cannnot find Electron Arm = " <<
felecArmName.
Data() << endl;
120 cout <<
"THcCoinTime module Cannnot find TrigDet = " <<
fCoinDetName.
Data() << endl;
162 const RVarDef vars[] = {
163 {
"epCoinTime_ROC1",
"ROC1 Corrected ep Coincidence Time",
"fROC1_epCoinTime"},
164 {
"epCoinTime_ROC2",
"ROC2 Corrected ep Coincidence Time",
"fROC2_epCoinTime"},
165 {
"epCoinTime_SHMS",
"SHMS Corrected ep Coincidence Time",
"fSHMS_epCoinTime"},
166 {
"epCoinTime_HMS",
"HMS Corrected ep Coincidence Time",
"fHMS_epCoinTime"},
168 {
"eKCoinTime_ROC1",
"ROC1 Corrected eK Coincidence Time",
"fROC1_eKCoinTime"},
169 {
"eKCoinTime_ROC2",
"ROC2 Corrected eK Coincidence Time",
"fROC2_eKCoinTime"},
170 {
"eKCoinTime_SHMS",
"SHMS Corrected eK Coincidence Time",
"fSHMS_eKCoinTime"},
171 {
"eKCoinTime_HMS",
"HMS Corrected eK Coincidence Time",
"fHMS_eKCoinTime"},
173 {
"ePiCoinTime_ROC1",
"ROC1 Corrected ePi Coincidence Time",
"fROC1_ePiCoinTime"},
174 {
"ePiCoinTime_ROC2",
"ROC2 Corrected ePi Coincidence Time",
"fROC2_ePiCoinTime"},
175 {
"ePiCoinTime_SHMS",
"SHMS Corrected ePi Coincidence Time",
"fSHMS_ePiCoinTime"},
176 {
"ePiCoinTime_HMS",
"HMS Corrected ePi Coincidence Time",
"fHMS_ePiCoinTime"},
178 {
"ePositronCoinTime_ROC1",
"ROC1 Corrected e-Positorn Coincidence Time",
"fROC1_ePosCoinTime"},
179 {
"ePositronCoinTime_ROC2",
"ROC2 Corrected e-Positron Coincidence Time",
"fROC2_ePosCoinTime"},
180 {
"ePositronCoinTime_SHMS",
"SHMS Corrected e-Positorn Coincidence Time",
"fSHMS_ePosCoinTime"},
181 {
"ePositronCoinTime_HMS",
"HMS Corrected e-Positron Coincidence Time",
"fHMS_ePosCoinTime"},
183 {
"CoinTime_RAW_ROC1",
"ROC1 RAW Coincidence Time",
"fROC1_RAW_CoinTime"},
184 {
"CoinTime_RAW_ROC2",
"ROC2 RAW Coincidence Time",
"fROC2_RAW_CoinTime"},
185 {
"CoinTime_RAW_SHMS",
"SHMS RAW Coincidence Time",
"fSHMS_RAW_CoinTime"},
186 {
"CoinTime_RAW_HMS",
"HMS RAW Coincidence Time",
"fHMS_RAW_CoinTime"},
187 {
"CoinTime_RAW_ROC1_NoTrack",
"ROC1 RAW Coincidence Time w/o Tracked Param",
"fROC1_RAW_CoinTime_NoTrack"},
188 {
"CoinTime_RAW_ROC2_NoTrack",
"ROC2 RAW Coincidence Time w/o Tracked Param",
"fROC2_RAW_CoinTime_NoTrack"},
189 {
"CoinTime_RAW_SHMS_NoTrack",
"SHMS RAW Coincidence Time w/o Tracked Param",
"fSHMS_RAW_CoinTime_NoTrack"},
190 {
"CoinTime_RAW_HMS_NoTrack",
"HMS RAW Coincidence Time w/o Tracked Param",
"fHMS_RAW_CoinTime_NoTrack"},
191 {
"DeltaSHMSPathLength",
"DeltaSHMSpathLength (cm)",
"DeltaSHMSpathLength"},
192 {
"DeltaHMSPathLength",
"DeltaHMSpathLength (cm)",
"DeltaHMSpathLength"},
193 {
"had_coinCorr_Positron",
"",
"had_coinCorr_Positron"},
194 {
"elec_coinCorr",
"",
"elec_coinCorr"},
213 if( !had_trkifo) cout <<
" no hadron track " << endl;
214 if( !elec_trkifo) cout <<
" no electron track " << endl;
216 if( !had_trkifo || !had_trkifo->
IsOK() )
return 1;
217 if( !elec_trkifo || !elec_trkifo->
IsOK() )
return 1;
247 cout <<
"ERROR CHECK PARTICLE MASS IN STANDARD.KINEMATICS ! ! !" << endl;
264 if (SHMS_FPtime==-2000 || HMS_FPtime==-2000)
return 1;
265 if (SHMS_FPtime==-1000 || HMS_FPtime==-1000)
return 1;
274 DeltaHMSpathLength = -1.0*(12.462*hms_xpfp + 0.1138*hms_xpfp*hms_xfp - 0.0154*hms_xfp - 72.292*hms_xpfp*hms_xpfp - 0.0000544*hms_xfp*
had_xfp - 116.52*hms_ypfp*hms_ypfp);
Option_t Option_t TPoint TPoint const char mode
R__EXTERN class THaRunBase * gHaRun
ClassImp(VDC::AnalyticTTDConv) using namespace std
R__EXTERN class THcParmList * gHcParms
static Int_t DefineVarsFromList(const void *list, EType type, EMode mode, const char *def_prefix, const TObject *obj, const char *prefix, const char *here, const char *comment_subst="")
THaAnalysisObject * FindModule(const char *name, const char *classname, bool do_error=true)
THaTrack * GetGoldenTrack() const
Double_t GetTheta() const
Double_t GetTTheta() const
Double_t GetFPTime() const
THaTrackInfo * GetTrackInfo()
Class for calculating and adding the Coincidence Time in the Tree. SJDK - 08/09/21 - Switched Trig4 t...
Double_t fROC1_RAW_CoinTime
Double_t fROC2_ePosCoinTime
Double_t hadArm_BetaCalc_Positron
Double_t had_coinCorr_Kaon
Double_t fSHMS_ePiCoinTime
Double_t had_coinCorr_Pion
Double_t fHMS_ePiCoinTime
virtual Int_t DefineVariables(EMode mode=kDefine)
Double_t fSHMS_RAW_CoinTime_NoTrack
Double_t fROC2_epCoinTime
Double_t DeltaSHMSpathLength
Double_t pHMS_TdcTime_ROC2
Double_t fROC1_epCoinTime
Double_t fROC1_ePiCoinTime
Double_t fSHMS_eKCoinTime
Double_t fROC2_eKCoinTime
Double_t hadArm_BetaCalc_proton
THcCoinTime(const char *name, const char *description, const char *hadArmName="", const char *elecArmName="", const char *coinname="")
Double_t fROC1_eKCoinTime
Double_t hadArm_BetaCalc_Pion
Double_t fSHMS_RAW_CoinTime
Double_t fHMS_RAW_CoinTime_NoTrack
Double_t HMScentralPathLen
void Reset(Option_t *opt="")
Double_t fROC2_ePiCoinTime
THcHallCSpectrometer * felecSpectro
Double_t fSHMS_ePosCoinTime
void Clear(Option_t *opt="")
Double_t fSHMS_epCoinTime
Double_t had_coinCorr_proton
Double_t pSHMS_TdcTime_ROC2
virtual Int_t Process(const THaEvData &)
Double_t fHMS_RAW_CoinTime
Double_t fROC2_RAW_CoinTime
Double_t hadArm_BetaCalc_Kaon
THcHallCSpectrometer * fhadSpectro
Double_t fHMS_ePosCoinTime
Double_t pSHMS_TdcTime_ROC1
Double_t elecArm_BetaCalc
Double_t had_coinCorr_Positron
Double_t fROC2_RAW_CoinTime_NoTrack
virtual Int_t ReadDatabase(const TDatime &date)
Double_t fROC1_ePosCoinTime
Double_t pHMS_TdcTime_ROC1
Double_t SHMScentralPathLen
Double_t DeltaHMSpathLength
Double_t fROC1_RAW_CoinTime_NoTrack
A standard Hall C spectrometer apparatus.
Double_t GetParticleMass() const
Int_t LoadParmValues(const DBRequest *list, const char *prefix="")
Retrieve parameter values from the parameter cache.
A mock detector to hold trigger related data.
Double_t Get_CT_Trigtime(Int_t ii)
const char * Data() const
Expr< UnaryOp< Sqrt< T >, Expr< A, T, D, D2, R >, T >, T, D, D2, R > sqrt(const Expr< A, T, D, D2, R > &rhs)