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);
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*>>>>>
ECbmModuleId
Enumerator for module Identifiers.
@ kTof
Time-of-flight Detector.
Parameters class for the CBM ToF digitizer using beam data distributions.
Data class for expanded digital TOF information.
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.