-
Whitney Armstrong authored
- Mixins defined in Logger.h - Mixin used in base classes (THcDC is currently a good example) Added a few more spdlog loggers Added logging to many. - Added logging to hodoscope, aerogel hitlist and detectormap - Working on scandalizer features. Added logging. Added more logging. added more logging. More logging.
Whitney Armstrong authored- Mixins defined in Logger.h - Mixin used in base classes (THcDC is currently a good example) Added a few more spdlog loggers Added logging to many. - Added logging to hodoscope, aerogel hitlist and detectormap - Working on scandalizer features. Added logging. Added more logging. added more logging. More logging.
THcCoinTime.h 4.00 KiB
#ifndef ROOT_THcCoinTime
#define ROOT_THcCoinTime
///////////////////////////////////////////////////////////////////////////////
// //
// THcCoinTime Physics Module //
// Author: Carlos Yero //
// Date: April 27, 2018 //
///////////////////////////////////////////////////////////////////////////////
#include "THaEvData.h"
#include "THaCutList.h"
#include "VarDef.h"
#include "VarType.h"
#include "TClonesArray.h"
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include "THaPhysicsModule.h"
#include "THcTrigDet.h"
#include "THcHodoscope.h"
//#include "THaSpectrometer.h"
#include "THcHallCSpectrometer.h"
#include "THaTrack.h"
#include "Logger.h"
class THcCoinTime : public hcana::ConfigLogging<THaPhysicsModule> {
public:
THcCoinTime( const char* name, const char* description, const char* hadArmName="",
const char* elecArmName="", const char* coinname="");
virtual ~THcCoinTime();
virtual EStatus Init( const TDatime& run_time );
virtual Int_t Process( const THaEvData& );
void Reset( Option_t* opt="" );
void Clear( Option_t* opt="" );
protected:
virtual Int_t ReadDatabase( const TDatime& date);
virtual Int_t DefineVariables( EMode mode = kDefine );
// Data needed for adding coincidence time as a Leaf Variable
TString fHodName; // Name of hodoscope
TString fCoinDetName; // Name of Coin Trigger
TString fhadArmName; //name of hadron arm
TString felecArmName; // name of electron arm
THcHallCSpectrometer* fhadSpectro; // hadron Spectrometer object
THcHallCSpectrometer* felecSpectro; // electron Spectrometer object
THcTrigDet* fCoinDet; //Coin Trigger detector object
THaTrack* theSHMSTrack;
THaTrack* theHMSTrack;
THcHodoscope* fHod; // Hodscope object
//-----Declare Variables used in HMS/SHMS Coin. time correction-----
Double_t lightSpeed;
Double_t elecMass;
Double_t positronMass;
//hadron masses (the e- could be in coincidence with any of the hadrons)
Double_t protonMass;
Double_t kaonMass;
Double_t pionMass;
Double_t eHad_CT_Offset; //e-Hadron coin time Offset
Double_t SHMScentralPathLen;
Double_t HMScentralPathLen;
Double_t DeltaSHMSpathLength;
Double_t DeltaHMSpathLength;
Double_t fROC1_RAW_CoinTime;
Double_t fROC2_RAW_CoinTime;
Double_t fROC1_epCoinTime;
Double_t fROC2_epCoinTime;
Double_t fROC1_eKCoinTime;
Double_t fROC2_eKCoinTime;
Double_t fROC1_ePiCoinTime;
Double_t fROC2_ePiCoinTime;
Double_t fROC1_ePosCoinTime; //electron-positron coin time
Double_t fROC2_ePosCoinTime;
Double_t elec_coinCorr;
Double_t elecArm_BetaCalc;
Double_t elec_hodFPtime;
Double_t had_coinCorr_proton;
Double_t hadArm_BetaCalc_proton;
Double_t had_coinCorr_Kaon;
Double_t hadArm_BetaCalc_Kaon;
Double_t had_coinCorr_Pion;
Double_t hadArm_BetaCalc_Pion;
Double_t had_coinCorr_Positron;
Double_t hadArm_BetaCalc_Positron;
Double_t elec_P; //electron golden track momentum
Double_t elec_dP; //electron golden track delta-> (P-P0 / P0)
Double_t elec_xptar; //electron golden track theta (xptar, :)
Double_t elec_FPtime; //electron focal plane time
Double_t had_P; //hadron golden track momentum
Double_t had_xfp; //hadron x-focal plane
Double_t had_xpfp; //hadron xp focal plane
Double_t had_ypfp; //hadron yp focal plane
Double_t had_FPtime; //hadron focal plane time
// trigger times pTrig1 (SHMS 3/4 trig) and pTrig4 (HMS 3/4 trig)
Int_t pTRIG1_TdcTime_ROC1;
Int_t pTRIG4_TdcTime_ROC1;
Int_t pTRIG1_TdcTime_ROC2;
Int_t pTRIG4_TdcTime_ROC2;
//--------------------------------------------------------------------
ClassDef(THcCoinTime,0) // Coincidence Time Module
};
#endif