BmnRoot
Loading...
Searching...
No Matches
BmnTof1HitProducer.h
Go to the documentation of this file.
1#ifndef BMNTOF1HITPRODUCER_H
2#define BMNTOF1HITPRODUCER_H 1
3
4#include "BmnTOF1Detector.h"
5#include "BmnTof1GeoUtils.h"
7#include "BmnTrigDigit.h"
8#include "BmnTrigWaveDigit.h"
9
10#include <TEfficiency.h>
11#include <TH1D.h>
12#include <TH2D.h>
13#include <TRandom2.h>
14
16{
17 Int_t fVerbose; // reimplement fVerbose variable from FairTask
18 Double_t fTimeSigma; // Uncertainties of time, gaus sigma [ns], default: 100 ps
19 Double_t fErrX, fErrY; // Uncertainties of coordinates, gaus sigma [cm], dX= 10./sqrt(12.) mm, default: dY= 5 mm.
20 TF1* fEffFunc;
21 TRandom2* pRandom;
22 BmnTof1GeoUtils* pGeoUtils;
23 BmnTOF1Detector** pDetector;
24 Int_t fNDetectors;
25 DetectorId fDetectorId;
26
27 Int_t fPeriod, fRun;
28
29 BmnEventHeader* fEventHeader;
30
31 Bool_t HitExist(const Double_t& val, const Bool_t& isWide_strip);
32 Bool_t DoubleHitExist(const Double_t& val, const Bool_t& isWide_strip, const DetectorId& flag);
33 Bool_t TripleHitExist(const Double_t& val, const Bool_t& isWide_strip, const DetectorId& flag);
34
35 TString fDetName, fPointsName, fDigitsName, fHitsName;
36 TString NameFileLRcorrection, NameFileSlewingCorrection, NameFileTimeShiftCorrection;
37 Bool_t FlagFileLRcorrection, FlagFileSlewingCorrection, FlagFileTimeShiftCorrection;
38
39 BmnTrigDigit* FingT0Digit();
40 Bool_t IsFile(TString NameFile);
41 Bool_t SetCorrFiles();
42 Bool_t OutOfRange(Int_t iPlane);
43
44 InitStatus LoadDetectorConfiguration();
45
46 public:
47 BmnTof1HitProducer(const char* name,
48 DetectorId detId,
49 Bool_t useMCdata = true,
50 Int_t verbose = 1,
51 Bool_t DoTest = false);
53
54 virtual InitStatus Init();
55 virtual void Exec(Option_t* opt);
56 virtual void Finish();
57
58 virtual void OnlineWrite(const std::unique_ptr<TTree>& resultTree);
59
60 void SetTimeResolution(Double_t sigma) { fTimeSigma = sigma; };
61 void SetAlongStripResolution(Double_t Xerr) { fErrX = Xerr; };
62 void SetSeed(UInt_t seed = 0);
63
64 TString GetParameters()
65 {
66 char s[32];
67 TString buf = "\n Run parameters: fTimeSigma=";
68 sprintf(s, "%.5g", fTimeSigma);
69 buf += (s);
70 buf += " ns, fErrX=";
71 sprintf(s, "%.4g", fErrX);
72 buf += (s);
73 buf += " cm, fErrY=";
74 sprintf(s, "%.4g", fErrY);
75 buf += (s);
76 buf += " cm, fDoTest=";
77 buf += fDoTest;
78 buf += ", fDoMergeHits=";
79 buf += fDoMergeHits;
80 return buf;
81 }
82
83 void SetPeriodRun(Int_t p, Int_t r)
84 {
85 fPeriod = p;
86 fRun = r;
87 }
88
90};
91
92#endif
DetectorId
virtual void OnlineWrite(const std::unique_ptr< TTree > &resultTree)
Write task resul to tree.
virtual void Exec(Option_t *opt)
void SetSeed(UInt_t seed=0)
ClassDef(BmnTof1HitProducer, 3)
virtual InitStatus Init()
void SetPeriodRun(Int_t p, Int_t r)
void SetAlongStripResolution(Double_t Xerr)
void SetTimeResolution(Double_t sigma)
virtual void Finish()
BmnTof1HitProducer(const char *name, DetectorId detId, Bool_t useMCdata=true, Int_t verbose=1, Bool_t DoTest=false)
virtual ~BmnTof1HitProducer()