15#ifndef CBMTOFHITMAKER_H
16#define CBMTOFHITMAKER_H 1
51#include "TTimeStamp.h"
73 CbmTofHitMaker(
const char* name, Int_t verbose = 1, Bool_t writeDataInOut = kTRUE);
82 virtual InitStatus
Init();
92 virtual void Exec(Option_t* option);
99 virtual void Finish(Double_t calMode);
108 Int_t iSign = iCalRpc / TMath::Abs(iCalRpc);
110 Int_t iRpc = iCalRpc % 10;
111 iCalRpc = (iCalRpc - iRpc) / 10;
112 Int_t iSm = iCalRpc % 10;
113 iCalRpc = (iCalRpc - iSm) / 10;
163 virtual void fit_ybox(
const char* hname);
164 virtual void fit_ybox(TH1*
h, Double_t dy);
165 virtual void fit_ybox(TH1*
h, Double_t dy, Double_t* fpar);
168 virtual Bool_t
AddNextChan(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iLastChan, Double_t dLastPosX,
169 Double_t dLastPosY, Double_t dLastTime,
171 virtual void LH_store(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iChm,
CbmTofHit* pHit);
266 std::vector<std::vector<std::vector<std::vector<CbmTofDigi*>>>>
fStorDigi;
267 std::vector<std::vector<std::vector<std::vector<Int_t>>>>
fStorDigiInd;
273 std::vector<std::vector<std::vector<Double_t>>>
fvdX;
274 std::vector<std::vector<std::vector<Double_t>>>
fvdY;
275 std::vector<std::vector<std::vector<Double_t>>>
fvdDifX;
276 std::vector<std::vector<std::vector<Double_t>>>
fvdDifY;
277 std::vector<std::vector<std::vector<Double_t>>>
fvdDifCh;
357 std::vector<std::vector<std::vector<std::vector<Double_t>>>>
fvCPDelTof;
358 std::vector<std::vector<std::vector<std::vector<Double_t>>>>
fvCPTOff;
359 std::vector<std::vector<std::vector<std::vector<Double_t>>>>
fvCPTotGain;
360 std::vector<std::vector<std::vector<std::vector<Double_t>>>>
fvCPTotOff;
361 std::vector<std::vector<std::vector<std::vector<std::vector<Double_t>>>>>
364 std::vector<std::vector<std::vector<std::vector<std::list<CbmTofHit*>>>>>
fvLastHits;
Class characterising one event by a collection of links (indices) to data objects,...
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)
Parameters class for the CBM ToF digitizer using beam data distributions.
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTOff
std::vector< TH2 * > fhSmCluPosition
TClonesArray * fEventsColl
Double_t fdChannelDeadtime
CbmTofDigiBdfPar * fDigiBdfPar
void SetMaxTimeDist(Double_t val)
virtual InitStatus Init()
Inherited from FairTask.
std::vector< std::vector< TH2 * > > fhTSmCluTOff
virtual void Exec(Option_t *option)
Inherited from FairTask.
void SetDeadStrips(Int_t iDet, Int_t ival)
TClonesArray * fTofDigiMatchCollOut
std::vector< std::vector< TH2 * > > fhTRpcCluTOff
Bool_t RegisterInputs()
Recover pointer on input TClonesArray: TofPoints, TofDigis...
void SetWriteHitsInOut(Bool_t bHits)
void SetYFitMin(Double_t val)
std::map< UInt_t, UInt_t > fDetIdIndexMap
TClonesArray * fTofDigiMatchColl
TClonesArray * fTofHitsCollOut
// Calibrated TOF Digis
std::vector< TH1 * > fhRpcDTLastHits_CluSize
void SetPs2Ns(Bool_t bval)
void SetBeamAddRefMul(Int_t ival)
std::vector< std::vector< std::vector< std::vector< Int_t > > > > fStorDigiInd
std::vector< std::vector< TH2 * > > fhTRpcCluMemMulDTLastHits
virtual void fit_ybox(const char *hname)
virtual void CheckLHMemory()
Bool_t fbSwapChannelSides
void SetCaldXdYMax(Double_t dCaldXdYMax)
std::vector< std::vector< TH2 * > > fhTRpcCluAvWalk
void SetSel2Rpc(Int_t ival)
TClonesArray * fMcTracksColl
std::vector< TH2 * > fhSmCluTOff
void SetCalMode(Int_t iMode)
Bool_t LoadGeometry()
Load the geometry: for now just resizing the Digis temporary vectors.
void SetdTRefMax(Double_t val)
void SetMemoryTime(Double_t val)
std::vector< std::vector< TH2 * > > fhTRpcCluTot
std::vector< std::vector< TH2 * > > fhTRpcCluTotDTLastHits
void SetCalSmAddr(Int_t iCalSmAddr)
std::vector< std::vector< std::vector< Int_t > > > fviTrkMul
std::vector< TH2 * > fhRpcCluAvLnWalk
CbmTofDetectorId * fTofId
void SwapChannelSides(Bool_t bSwap)
std::vector< TH1 * > fhRpcDTLastHits
ClassDef(CbmTofHitMaker, 1)
std::vector< std::vector< std::vector< Double_t > > > fvdDifY
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPDelTof
std::vector< TH2 * > fhRpcCluDelMatPos
void SetChannelDeadtime(Double_t val)
void SetTotMax(Double_t val)
std::vector< Int_t > fvDeadStrips
void SetFileIndex(Int_t iIndex)
void SetBeamRefMulMax(Int_t Id)
CbmTofHitMaker(const CbmTofHitMaker &)
Copy constructor.
std::vector< Int_t > fviDetId
void SetSel2Id(Int_t ival)
void SetCalCluMulMax(Int_t ival)
TClonesArray * fTofPointsColl
CbmTofCell * fChannelInfo
void SetEnableMatchPosScaling(Bool_t bval)
std::vector< TH1 * > fhRpcCluMul
Bool_t InitParameters()
Initialize other parameters not included in parameter classes.
std::vector< std::vector< TH2 * > > fhTRpcCluTofOff
std::vector< TProfile * > fhRpcCluPositionEvol
std::vector< TProfile * > fhRpcCluTimeEvol
std::vector< std::vector< std::vector< Double_t > > > fvdY
virtual ~CbmTofHitMaker()
Destructor.
std::vector< TH2 * > fhRpcCluPosition
std::vector< TH2 * > fhRpcCluDelTOff
std::vector< CbmTofDigi > * fTofCalDigiVecOut
std::vector< std::vector< std::vector< std::vector< std::list< CbmTofHit * > > > > > fvLastHits
std::vector< Int_t > vDigiIndRef
std::vector< TH2 * > fhRpcDigiDTLD
std::vector< TH2 * > fhRpcDigiMul
std::vector< std::vector< std::vector< std::vector< std::vector< Double_t > > > > > fvCPWalk
std::vector< TH1 * > fhRpcDTLastHits_Tot
std::vector< std::vector< std::vector< Double_t > > > fvdDifCh
std::vector< std::vector< TH2 * > > fhTSmCluPosition
std::vector< std::vector< std::vector< TH2 * > > > fhRpcCluWalk
void SetSel2MulMax(Int_t Id)
void SetTotMin(Double_t val)
std::vector< TH2 * > fhRpcCluTrms
std::vector< TH2 * > fhRpcCluTot
void SetDelTofMax(Double_t val)
std::vector< std::vector< Double_t > > fvTimeFirstDigi
std::vector< CbmTofDigi > * fTofCalDigiVec
CbmTofHitMaker()
Constructor.
std::vector< TH2 * > fhRpcCluTOff
CbmDigiManager * fDigiMan
TOF Digis.
std::vector< TH2 * > fhRpcDigiDTMul
void SetWriteDigisInOut(Bool_t bDigis)
void SetCalParFileName(TString CalParFileName)
virtual void SetParContainers()
Inherited from FairTask.
std::vector< std::vector< TH2 * > > fhTSmCluTRun
std::vector< std::vector< TH2 * > > fhTRpcCluSizeDTLastHits
void SetAlternativeBranchNames(Bool_t bNames)
virtual void CleanLHMemory()
std::vector< std::vector< Double_t > > fvTimeLastDigi
std::vector< std::vector< std::vector< Int_t > > > fviClusterSize
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)
void SetTotMean(Double_t val)
std::vector< TH1 * > fhRpcCluRate
void SetBeamRefSm(Int_t Id)
static CbmTofHitMaker * fInstance
CbmTofHitMaker & operator=(const CbmTofHitMaker &)
Copy operator.
void SetOutHstFileName(TString OutHstFileName)
Bool_t fbAlternativeBranchNames
std::vector< TProfile * > fhSmCluSvel
virtual void Finish()
Inherited from FairTask.
void SetTRefDifMax(Double_t val)
std::vector< TH2 * > fhRpcCluDelPos
std::vector< std::vector< TH2 * > > fhTRpcCluPosition
void SetCalSel(Int_t iSel)
void SetBeamRefDet(Int_t Id)
TString GetCalParFileName()
std::vector< CbmTofDigi > fTofDigiVec
std::vector< std::vector< TH2 * > > fhTRpcCluTOffDTLastHits
std::vector< TH2 * > fhRpcDigiCor
std::vector< std::vector< std::vector< Double_t > > > fvdDifX
void SetTotPreRange(Double_t val)
std::vector< std::vector< TH1 * > > fhTRpcCluMul
std::vector< std::vector< Double_t > > fvMulDigi
Bool_t fEnableMatchPosScaling
std::vector< std::vector< TH3 * > > fhTRpcCluWalk2
std::vector< std::vector< std::vector< Double_t > > > fvdX
void SetBeamRefId(Int_t Id)
virtual void LH_store(Int_t iSmType, Int_t iSm, Int_t iRpc, Int_t iChm, CbmTofHit *pHit)
std::vector< TH2 * > fhRpcDigiDTFD
std::vector< TH1 * > fhRpcCluRate10s
std::vector< std::vector< TH2 * > > fhTRpcCluDelTof
std::vector< std::vector< std::vector< std::vector< CbmTofDigi * > > > > fStorDigi
CbmTofGeoHandler * fGeoHandler
static CbmTofHitMaker * Instance()
std::vector< std::vector< TH2 * > > fhTRpcCludXdY
std::vector< std::vector< TProfile * > > fhSmCluFpar
std::vector< TH2 * > fhRpcDigiStatus
void SetToDAv(Double_t val)
void PosYMaxScal(Double_t val)
std::vector< std::vector< std::vector< Int_t > > > fviClusterMul
std::vector< std::vector< TH2 * > > fhTRpcCluSize
TClonesArray * fTofHitsColl
// Calibrated TOF Digis
virtual void ExecEvent(Option_t *option)
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotOff
std::vector< TH2 * > fhRpcCluAvWalk
std::vector< std::vector< std::vector< std::vector< Double_t > > > > fvCPTotGain
std::vector< TH2 * > fhRpcCluDelMatTOff
void SetCalSmType(Int_t iCalSmType)
Bool_t BuildClusters()
Build clusters out of ToF Digis and store the resulting info in a TofHit.
Bool_t InitCalibParameter()
Initialize other parameters not included in parameter classes.
Bool_t RegisterOutputs()
Create and register output TClonesArray of Tof Hits.
void SetEnableAvWalk(Bool_t bval)
void SetCalRpc(Int_t iCalRpc)
std::vector< std::vector< std::vector< std::vector< TH2 * > > > > fhTRpcCluWalk
void SetSel2Sm(Int_t ival)
Bool_t DeleteGeometry()
Delete the geometry related arrays: for now just clearing the Digis temporary vectors.
std::vector< TH1 * > fhSeldT
std::vector< TH2 * > fhRpcCluSize