15#ifndef CBMTOFDIGITIZE_H
16#define CBMTOFDIGITIZE_H 1
24#include "TStopwatch.h"
25#include "TTimeStamp.h"
61 virtual InitStatus
Init();
71 virtual void Exec(Option_t* option);
163 Double_t dClustCentY);
180 Double_t
TriangleArea(Double_t dXa, Double_t dYa, Double_t dXb, Double_t dYb, Double_t dXc, Double_t dYc);
185 Double_t
DiscSectionArea(Double_t dDiscRadius, Double_t dDistBaseToCenter);
193 Double_t
CircleIntersectPosX(Int_t iChanId, Double_t dClustRadius, Double_t dClustCentX, Double_t dClustCentY,
201 Double_t
CircleIntersectPosY(Int_t iChanId, Double_t dClustRadius, Double_t dClustCentX, Double_t dClustCentY,
209 Double_t
DistanceCircleToBase(Double_t dClustRadius, Double_t dBaseXa, Double_t dBaseYa, Double_t dBaseXb,
258 std::vector<std::vector<std::vector<std::vector<std::pair<CbmTofDigi*, CbmMatch*>>>>>
@ kTof
Time-of-flight Detector.
Base class template for CBM digitisation tasks.
Parameters class for the CBM ToF digitizer using beam data distributions.
Data class for expanded digital TOF information.
CBM ToF digitizer using beam data distributions as hit/cluster models.
virtual void Exec(Option_t *option)
Inherited from FairTask.
TH2 * fhTofPtsInTrkVsGapIndPrm
CbmTofDetectorId * fTofId
Bool_t LoadBeamtimeValues()
Load the beamtime values designed in the parameters: histograms or single values.
Double_t CircleIntersectPosY(Int_t iChanId, Double_t dClustRadius, Double_t dClustCentX, Double_t dClustCentY, Bool_t bRightSide)
Compute the y position of the intersection of a circle with the left or right edge of a channel....
std::vector< TH1 * > fh1ClusterTotProb
CbmTofDigitize()
Constructor.
TH1 * fhTofPointsPerTrack
TStopwatch fTimer
ROOT timer.
std::vector< std::vector< std::vector< Double_t > > > fvdSignalVelocityRpc
Double_t GenerateClusterRadius(Int_t iSmType, Int_t iRpc)
Generate a value for the cluster radius from the beamtime data corresponding.
TH2 * fhTofPtsPosVsGap[10]
std::vector< std::vector< std::vector< std::vector< Int_t > > > > fStorDigiMatch
Double_t fdTimeTot
Total execution time.
std::vector< std::vector< ULong64_t > > fvlTrckChAddr
TString fsHistoOutFilename
std::vector< std::vector< std::vector< std::vector< std::pair< CbmTofDigi *, CbmMatch * > > > > > fStorDigi
Double_t DiscSectionArea(Double_t dDiscRadius, Double_t dDistBaseToCenter)
Compute area of a disc section from the disc radius and the distance of the.
std::vector< std::vector< std::vector< Double_t > > > fdChannelGain
virtual void Finish()
Inherited from FairTask.
std::vector< TH1 * > fh1ClusterSizeProb
Bool_t DigitizeDirectClusterSize()
Convert TofPoints in input TClonesArray to Tof Digis using directly the.
void SetInputFileName(TString FileName)
Double_t fdNofDigisTot
Total number of digis created.
Double_t fdDigiTimeConvFactor
Bool_t DigitizeFlatDisc()
Convert TofPoints in input TClonesArray to Tof Digis using an approximation of the.
Bool_t RegisterInputs()
Recover pointer on input TClonesArray: TofPoints, ...
CbmTofDigitize & operator=(const CbmTofDigitize &)
Copy operator.
std::vector< std::vector< ULong64_t > > fvlTrckRpcAddr
TClonesArray * fTofPointsColl
Bool_t CompareTimes(CbmTofDigi *p1, CbmTofDigi *p2)
CbmTofDigiBdfPar * fDigiBdfPar
Bool_t MergeSameChanDigis()
Merge the digis on he same readout channel.
TH1 * fhMeanFiredPerTrack
Double_t ComputeClusterAreaOnChannel(Int_t iChanId, Double_t dClustRadius, Double_t dClustCentX, Double_t dClustCentY)
Compute geometrical intersection area of a cluster and a channel.
CbmTofDigitize(const CbmTofDigitize &)
Copy constructor.
Bool_t SetHistoFileName(TString sFilenameIn="./tofDigiBdf.hst.root")
void AllowPointsWithoutTrack(Bool_t bAllow=kTRUE)
Double_t fdNofPointsTot
Total number of points processed.
Bool_t fbAllowPointsWithoutTrack
Double_t fdNofTofMcTrkTot
Total number of MC tracks with TOF points.
Bool_t InitParameters()
Initialize other parameters not included in parameter classes.
virtual void SetParContainers()
Inherited from FairTask.
ECbmModuleId GetSystemId() const
Detector system ID.
void SetMonitorHistograms(Bool_t bMonitor=kTRUE)
Bool_t DigitizeGaussCharge()
Convert TofPoints in input TClonesArray to Tof Digis using an approximation of the.
Double_t fdSignalPropSpeed
TH2 * fhTofPtsInTrkVsGapIndSec
virtual ~CbmTofDigitize()
Destructor.
Double_t CircleIntersectPosX(Int_t iChanId, Double_t dClustRadius, Double_t dClustCentX, Double_t dClustCentY, Bool_t bUpperSide)
Compute the x position of the intersection of a circle with the upper or.
CbmTofGeoHandler * fGeoHandler
virtual InitStatus Init()
Inherited from FairTask.
Int_t fiNofEvents
Total number of events processed.
Double_t TriangleArea(Double_t dXa, Double_t dYa, Double_t dXb, Double_t dYb, Double_t dXc, Double_t dYc)
Compute triangle area from its corners.
void UseMcTrackMonitoring(Bool_t bMcTrkMonitor=kTRUE)
std::vector< std::vector< Double_t > > fvlTrckRpcTime
Double_t DistanceCircleToBase(Double_t dClustRadius, Double_t dBaseXa, Double_t dBaseYa, Double_t dBaseXb, Double_t dBaseYb)
Compute the distance from the cluster center to the base of a disc.
ClassDef(CbmTofDigitize, 1)
TClonesArray * fMcTracksColl
std::vector< std::vector< std::vector< Int_t > > > fvRpcChOffs
CbmTofCell * fChannelInfo
TH2 * fhTofPtsInTrkVsGapInd
void SetDigiTimeConvFactor(Double_t dfac)
Geometric intersection of a MC track with a TOFb detector.