15#ifndef CBMTOFCOSMICCLUSTERIZER_H
16#define CBMTOFCOSMICCLUSTERIZER_H 1
48#include "TTimeStamp.h"
79 virtual InitStatus
Init();
89 virtual void Exec(Option_t* option);
95 virtual void Finish(Double_t calMode);
104 Int_t iSign = iCalRpc / TMath::Abs(iCalRpc);
106 Int_t iRpc = iCalRpc % 10;
107 iCalRpc = (iCalRpc - iRpc) / 10;
108 Int_t iSm = iCalRpc % 10;
109 iCalRpc = (iCalRpc - iSm) / 10;
153 virtual void fit_ybox(
const char* hname);
154 virtual void fit_ybox(TH1*
h, Double_t dy);
155 virtual void fit_ybox(TH1*
h, Double_t dy, Double_t* fpar);
158 virtual Bool_t
AddNextChan(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iLastChan, Double_t dLastPosX,
159 Double_t dLastPosY, Double_t dLastTime,
161 virtual void LH_store(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iChm,
CbmTofHit* pHit);
240 std::vector<std::vector<std::vector<std::vector<CbmTofDigi*>>>>
fStorDigiExp;
241 std::vector<std::vector<std::vector<std::vector<Int_t>>>>
fStorDigiInd;
251 std::vector<std::vector<std::vector<Double_t>>>
fvdX;
252 std::vector<std::vector<std::vector<Double_t>>>
fvdY;
253 std::vector<std::vector<std::vector<Double_t>>>
fvdDifX;
254 std::vector<std::vector<std::vector<Double_t>>>
fvdDifY;
255 std::vector<std::vector<std::vector<Double_t>>>
fvdDifCh;
327 std::vector<std::vector<std::vector<std::vector<Double_t>>>>
fvCPDelTof;
328 std::vector<std::vector<std::vector<std::vector<Double_t>>>>
fvCPTOff;
329 std::vector<std::vector<std::vector<std::vector<Double_t>>>>
fvCPTotGain;
330 std::vector<std::vector<std::vector<std::vector<Double_t>>>>
fvCPTotOff;
331 std::vector<std::vector<std::vector<std::vector<std::vector<Double_t>>>>>
334 std::vector<std::vector<std::vector<std::vector<std::list<CbmTofHit*>>>>>
fvLastHits;
Data class with information on a STS local track.
static uint32_t GetUniqueAddress(uint32_t Sm, uint32_t Rpc, uint32_t Channel, uint32_t Side=0, uint32_t SmType=0, uint32_t RpcType=0)
TClonesArray * fTofDigiMatchColl
Bool_t InitParameters()
Initialize other parameters not included in parameter classes.
std::vector< TH1 * > fhRpcCluRate
void SetSel2MulMax(Int_t Id)
Bool_t RegisterOutputs()
Create and register output TClonesArray of Tof Hits.
std::vector< std::vector< std::vector< std::vector< Int_t > > > > fStorDigiInd
TClonesArray * fTofCalDigisColl
std::vector< std::vector< std::vector< Double_t > > > fvdDifCh
std::vector< Int_t > vDigiIndRef
std::vector< std::vector< TH2 * > > fhTRpcCluPosition
std::vector< TH2 * > fhRpcCluSize
std::vector< TProfile * > fhRpcCluTimeEvol
void SetDelTofMax(Double_t val)
TClonesArray * fTofDigisColl
std::vector< std::vector< TH2 * > > fhTRpcCluDelTof
std::vector< Int_t > fviDetId
std::vector< std::vector< std::vector< std::vector< std::vector< Double_t > > > > > fvCPWalk
virtual Bool_t AddNextChan(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iLastChan, Double_t dLastPosX, Double_t dLastPosY, Double_t dLastTime, Double_t dLastTot)
TClonesArray * fMcTracksColl
virtual Double_t TimeInPeriod(Double_t dTime)
std::vector< TH2 * > fhRpcCluAvWalk
void SetMemoryTime(Double_t val)
virtual void Finish()
Inherited from FairTask.
virtual InitStatus Init()
Inherited from FairTask.
void SetCalSmAddr(Int_t iCalSmAddr)
void SetCalSel(Int_t iSel)
std::vector< TProfile * > fhRpcCluPositionEvol
void SetCalMode(Int_t iMode)
void SetEnableAvWalk(Bool_t bval)
std::vector< TH2 * > fhRpcCluTOff
void SetTotMax(Double_t val)
void SetEnableMatchPosScaling(Bool_t bval)
void SetSel2Id(Int_t ival)
void SetSel2Sm(Int_t ival)
std::vector< std::vector< TH2 * > > fhTRpcCluAvWalk
CbmTofCosmicClusterizer & operator=(const CbmTofCosmicClusterizer &)
Copy operator.
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPDelTof
std::vector< std::vector< std::vector< Int_t > > > fviTrkMul
void SetPs2Ns(Bool_t bval)
Bool_t BuildClusters()
Build clusters out of ToF Digis and store the resulting info in a TofHit.
std::vector< TH2 * > fhRpcCluDelPos
std::vector< TH2 * > fhRpcCluDelMatTOff
void SetCalCluMulMax(Int_t ival)
virtual void LH_store(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iChm, CbmTofHit *pHit)
void SetTimePeriod(Double_t dval)
std::vector< TH2 * > fhRpcCluDelTOff
void SetCorMode(Int_t ival)
std::vector< TH1 * > fhSeldT
void SetCalParFileName(TString CalParFileName)
void SetCaldXdYMax(Double_t dCaldXdYMax)
std::vector< std::vector< TH2 * > > fhTSmCluTOff
std::vector< std::vector< TH2 * > > fhTRpcCluSize
CbmTofDetectorId * fTofId
std::vector< TH2 * > fhRpcDigiCor
static CbmTofCosmicClusterizer * fInstance
void SetCalRpc(Int_t iCalRpc)
CbmTofGeoHandler * fGeoHandler
std::vector< std::vector< TH2 * > > fhTRpcCluTotDTLastHits
std::vector< std::vector< TH2 * > > fhTRpcCluTOffDTLastHits
std::vector< std::vector< TH2 * > > fhTRpcCluSizeDTLastHits
void SetMaxTimeDist(Double_t val)
std::vector< std::vector< TProfile * > > fhSmCluFpar
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTOff
ClassDef(CbmTofCosmicClusterizer, 1)
void SetChannelDeadtime(Double_t val)
CbmTofCosmicClusterizer()
Constructor.
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotOff
std::map< UInt_t, UInt_t > fDetIdIndexMap
std::vector< TH1 * > fhRpcDTLastHits_Tot
void SetSel2Rpc(Int_t ival)
std::vector< std::vector< TH2 * > > fhTRpcCluTot
CbmTofCosmicClusterizer(const CbmTofCosmicClusterizer &)
Copy constructor.
virtual void CleanLHMemory()
void SetCalSmType(Int_t iCalSmType)
std::vector< std::vector< std::vector< Double_t > > > fvdDifX
void PosYMaxScal(Double_t val)
void SetYFitMin(Double_t val)
void SetTotMin(Double_t val)
void SetTotMean(Double_t val)
void SetOutHstFileName(TString OutHstFileName)
std::vector< TH1 * > fhRpcDTLastHits
void SetTotPreRange(Double_t val)
virtual ~CbmTofCosmicClusterizer()
Destructor.
std::vector< TH2 * > fhRpcCluTot
std::vector< std::vector< TH2 * > > fhTRpcCludXdY
std::vector< TH2 * > fhSmCluPosition
std::vector< std::vector< std::vector< Int_t > > > fviClusterMul
std::vector< TH1 * > fhRpcDTLastHits_CluSize
std::vector< TProfile * > fhSmCluSvel
Bool_t DeleteGeometry()
Delete the geometry related arrays: for now just clearing the Digis temporary vectors.
Bool_t InitCalibParameter()
Initialize other parameters not included in parameter classes.
virtual void SetParContainers()
Inherited from FairTask.
TClonesArray * fTofPointsColl
std::vector< std::vector< TH3 * > > fhTRpcCluWalk2
std::vector< std::vector< std::vector< Double_t > > > fvdDifY
std::vector< TH2 * > fhRpcCluPosition
std::vector< TH2 * > fhRpcCluTrms
std::vector< TH2 * > fhRpcCluDelMatPos
std::vector< TH1 * > fhRpcCluMul
std::vector< std::vector< std::vector< std::vector< std::list< CbmTofHit * > > > > > fvLastHits
std::vector< std::vector< std::vector< std::vector< TH2 * > > > > fhTRpcCluWalk
CbmTofDigiBdfPar * fDigiBdfPar
Bool_t fEnableMatchPosScaling
CbmTofCell * fChannelInfo
virtual void Exec(Option_t *option)
Inherited from FairTask.
virtual void fit_ybox(const char *hname)
std::vector< std::vector< std::vector< Int_t > > > fviClusterSize
virtual void CheckLHMemory()
std::vector< TH2 * > fhRpcCluAvLnWalk
Bool_t RegisterInputs()
Recover pointer on input TClonesArray: TofPoints, TofDigis...
std::vector< std::vector< TH2 * > > fhTSmCluTRun
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotGain
void SetTRefDifMax(Double_t val)
TClonesArray * fTofHitsColl
std::vector< std::vector< std::vector< TH2 * > > > fhRpcCluWalk
std::vector< std::vector< TH2 * > > fhTRpcCluMemMulDTLastHits
Bool_t LoadGeometry()
Load the geometry: for now just resizing the Digis temporary vectors.
void SetdTRefMax(Double_t val)
std::vector< std::vector< std::vector< Double_t > > > fvdX
std::vector< std::vector< TH2 * > > fhTRpcCluTOff
std::vector< TH2 * > fhSmCluTOff
std::vector< std::vector< TH2 * > > fhTSmCluPosition
std::vector< std::vector< std::vector< std::vector< CbmTofDigi * > > > > fStorDigiExp
std::vector< std::vector< std::vector< Double_t > > > fvdY
std::vector< std::vector< TH1 * > > fhTRpcCluMul
Double_t fdChannelDeadtime
static CbmTofCosmicClusterizer * Instance()
Parameters class for the CBM ToF digitizer using beam data distributions.
Data class for expanded digital TOF information.