AliRoot Core  3dc7879 (3dc7879)
AliEMCALRecParam.h
Go to the documentation of this file.
1 #ifndef ALIEMCALRECPARAM_H
2 #define ALIEMCALRECPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 //-----------------------------------------------------------------------------
25 //-----------------------------------------------------------------------------
26 
27 // --- ROOT system ---
28 
29 #include "AliDetectorRecoParam.h"
30 #include "AliLog.h"
31 
33 {
34  public:
35 
37  {
43  };
44 
46  AliEMCALRecParam(const AliEMCALRecParam& recParam);
48  virtual ~AliEMCALRecParam() {}
49 
50  //Clustering (Unfolding : Cynthia)
51  Float_t GetClusteringThreshold() const {return fClusteringThreshold ;}
52  Float_t GetW0 () const {return fW0 ;}
53  Float_t GetMinECut () const {return fMinECut ;}
54  Float_t GetLocMaxCut () const {return fLocMaxCut ;}
55  Float_t GetTimeCut () const {return fTimeCut ;}
56  Float_t GetTimeMin () const {return fTimeMin ;}
57  Float_t GetTimeMax () const {return fTimeMax ;}
58  Bool_t IsTimeCalibrationOn () const {return fTimeCalibration ;}
59  Bool_t GetUnfold () const {return fUnfold ;}
60  Int_t GetNRowDiff () const {return fNRowDiff ;}
61  Int_t GetNColDiff () const {return fNColDiff ;}
62 
63  void SetClusteringThreshold(Float_t thrsh) {fClusteringThreshold = thrsh;}
64  void SetW0 (Float_t w0) {fW0 = w0 ;}
65  void SetMinECut (Float_t ecut) {fMinECut = ecut ;}
66  void SetLocMaxCut (Float_t locMaxCut) {fLocMaxCut = locMaxCut ;}
67  void SetTimeCut (Float_t t) {fTimeCut = t ;}
68  void SetTimeMin (Float_t t) {fTimeMin = t ;}
69  void SetTimeMax (Float_t t) {fTimeMax = t ;}
70  void SetTimeCalibration (Bool_t yn) {fTimeCalibration = yn ;}
71  void SetUnfold (Bool_t unfold) {fUnfold = unfold ;}
72  void SetNxM(Int_t rdiff, Int_t cdiff) {fNRowDiff=rdiff; fNColDiff = cdiff; }
73 
74  // PID (Guenole)
76 
77  Double_t GetGamma(Int_t i, Int_t j) const {return fGamma[i][j];}
78  Double_t GetGammaEnergyProb(Int_t i) const {return fGammaEnergyProb[i];}
79  Double_t GetGamma1to10(Int_t i, Int_t j) const {return fGamma1to10[i][j];} // not used
80  Double_t GetHadron(Int_t i, Int_t j) const {return fHadron[i][j];}
81  Double_t GetHadron1to10(Int_t i, Int_t j) const {return fHadron1to10[i][j];} // not used
82  Double_t GetHadronEnergyProb(Int_t i) const {return fHadronEnergyProb[i];}
83  Double_t GetPiZero(Int_t i, Int_t j) const {return fPiZero[i][j];}
84  Double_t GetPiZeroEnergyProb(Int_t i) const {return fPiZeroEnergyProb[i];}
85 
86  void SetGamma(Int_t i, Int_t j,Double_t param ) {fGamma[i][j]=param;}
87  void SetGammaEnergyProb(Int_t i, Double_t param ) {fGammaEnergyProb[i]=param;}
88  void SetGamma1to10(Int_t i, Int_t j,Double_t param ) {fGamma1to10[i][j]=param;}
89  void SetHadron(Int_t i, Int_t j,Double_t param ) {fHadron[i][j]=param;}
90  void SetHadron1to10(Int_t i, Int_t j,Double_t param ) {fHadron1to10[i][j]=param;}
91  void SetHadronEnergyProb(Int_t i,Double_t param ) {fHadronEnergyProb[i]=param;}
92  void SetPiZero(Int_t i, Int_t j,Double_t param) {fPiZero[i][j]=param;}
93  void SetPiZeroEnergyProb(Int_t i,Double_t param) {fPiZeroEnergyProb[i]=param;}
94 
95  //Track Matching (Alberto; Revised by Rongrong)
96  /* track matching cut setters */
97  void SetMthCutEta(Double_t value) {fMthCutEta = value;}
98  void SetMthCutPhi(Double_t value) {fMthCutPhi = value;}
99  void SetExtrapolateStep(Double_t value) {fStep = value;}
100  void SetTrkCutPt(Double_t value) {fTrkCutPt = value;}
101  void SetTrkCutNITS(Double_t value) {fTrkCutNITS = value;}
102  void SetTrkCutNTPC(Double_t value) {fTrkCutNTPC = value;}
103  void SetTrkInITS(Bool_t value) {fTrkInITS = value;}
104 
105  /* track matching cut getters */
106  Double_t GetMthCutEta() const {return fMthCutEta;}
107  Double_t GetMthCutPhi() const {return fMthCutPhi;}
108  Double_t GetExtrapolateStep() const {return fStep;}
109  Double_t GetTrkCutPt() const {return fTrkCutPt;}
110  Double_t GetTrkCutNITS() const {return fTrkCutNITS;}
111  Double_t GetTrkCutNTPC() const {return fTrkCutNTPC;}
112  Bool_t GetTrkInITS() const {return fTrkInITS;}
113 
114  //Raw signal fitting (Jenn)
115  /* raw signal setters */
116  void SetHighLowGainFactor(Double_t value) {fHighLowGainFactor = value;}
117  void SetOrderParameter(Int_t value) {fOrderParameter = value;}
118  void SetTau(Double_t value) {fTau = value;}
119  void SetNoiseThreshold(Int_t value) {fNoiseThreshold = value;}
120  void SetNPedSamples(Int_t value) {fNPedSamples = value;}
121  void SetRemoveBadChannels(Bool_t val) {fRemoveBadChannels=val; }
122  void SetFittingAlgorithm(Int_t val) {fFittingAlgorithm=val; }
123  void SetFALTROUsage(Bool_t val) {fUseFALTRO=val; }
124  void SetLEDFit(Bool_t val) {fFitLEDEvents=val; }
125  void SetL1PhaseUse(Bool_t val) {fUseL1Phase=val; }
127 
128 
129  /* raw signal getters */
130  Double_t GetHighLowGainFactor() const {return fHighLowGainFactor;}
131  Int_t GetOrderParameter() const {return fOrderParameter;}
132  Double_t GetTau() const {return fTau;}
133  Int_t GetNoiseThreshold() const {return fNoiseThreshold;}
134  Int_t GetNPedSamples() const {return fNPedSamples;}
135  Bool_t GetRemoveBadChannels() const {return fRemoveBadChannels;}
136  Int_t GetFittingAlgorithm() const {return fFittingAlgorithm; }
137  Bool_t UseFALTRO() const {return fUseFALTRO; }
138  Bool_t FitLEDEvents() const {return fFitLEDEvents; }
139  Bool_t UseL1Phase() const {return fUseL1Phase;}
141 
142  //Unfolding (Adam)
143  void InitUnfoldingParameters();
144  Double_t GetSSPars(Int_t i) const { return fSSPars[i] ; }
145  Double_t GetPar5 (Int_t i) const { return fPar5 [i] ; }
146  Double_t GetPar6 (Int_t i) const { return fPar6 [i] ; }
147  void SetSSPars(Int_t i, Double_t param ) { fSSPars[i] = param ; }
148  void SetPar5 (Int_t i, Double_t param ) { fPar5 [i] = param ; }
149  void SetPar6 (Int_t i, Double_t param ) { fPar6 [i] = param ; }
150 
152  void SetRejectBelowThreshold(Bool_t reject) { fRejectBelowThreshold = reject; }
153 
154  virtual void Print(Option_t * option="") const;
155 
161 
162  static const TObjArray* GetMappings();
163 
164  void SetClusterizerFlag(Short_t val) { fClusterizerFlag = val; }
165  Short_t GetClusterizerFlag() const { return fClusterizerFlag; }
166 
167  private:
168  // Clustering
170  Float_t fW0 ;
171  Float_t fMinECut;
172  Bool_t fUnfold;
173  Float_t fLocMaxCut;
174  Float_t fTimeCut ;
175  Float_t fTimeMin ;
176  Float_t fTimeMax ;
178  Short_t fClusterizerFlag ;
179  Int_t fNRowDiff;
180  Int_t fNColDiff;
181 
182  // PID (Guenole)
183  Double_t fGamma[6][6];
184  Double_t fGamma1to10[6][6];
185  Double_t fHadron[6][6];
186  Double_t fHadron1to10[6][6];
187  Double_t fHadronEnergyProb[6];
188  Double_t fPiZeroEnergyProb[6];
189  Double_t fGammaEnergyProb[6];
190  Double_t fPiZero[6][6];
191 
192  // Track-Matching (Alberto; Revised by Rongrong)
193  Double_t fMthCutEta;
194  Double_t fMthCutPhi;
195  Double_t fStep;
196  Double_t fTrkCutPt;
197  Double_t fTrkCutNITS;
198  Double_t fTrkCutNTPC;
199 
200  // Raw signal fitting parameters (Jenn)
203  Double_t fTau;
205  Int_t fNPedSamples;
208  Bool_t fUseFALTRO;
209  Bool_t fFitLEDEvents;
210  Bool_t fUseL1Phase;
211 
212  // Shower shape parameters (Adam)
214  Double_t fSSPars[8];
215  Double_t fPar5[3];
216  Double_t fPar6[3];
217 
218  // Trigger electronics
220 
221  static TObjArray* fgkMaps;
222 
223  Bool_t fTrkInITS;
224 
226  ClassDef(AliEMCALRecParam,21) ;
228 
229 };
230 
231 #endif // ALIEMCALRECPARAM_H
232 
Double_t fPiZero[6][6]
Parameter to Compute PID for pi0.
void SetClusteringThreshold(Float_t thrsh)
void SetTimeMin(Float_t t)
void SetPar5(Int_t i, Double_t param)
Double_t fGamma1to10[6][6]
Parameter to Compute PID not used.
void SetTau(Double_t value)
Bool_t GetRemoveBadChannels() const
Float_t fW0
Logarithmic weight for the cluster center of gravity calculation.
Int_t GetFittingAlgorithm() const
Double_t fTau
Decay constant for raw signal fit.
void SetSSPars(Int_t i, Double_t param)
Bool_t fTimeCalibration
Activate time calibration.
void SetHadronEnergyProb(Int_t i, Double_t param)
Double_t fPar5[3]
UF SSPar nr 5.
Double_t GetHadronEnergyProb(Int_t i) const
Bool_t FitLEDEvents() const
void SetTimeCalibration(Bool_t yn)
Double_t GetPiZero(Int_t i, Int_t j) const
Double_t fMthCutPhi
phi-difference cut for track matching
#define TObjArray
void SetGamma(Int_t i, Int_t j, Double_t param)
Bool_t IsSimulateTriggerElectronics() const
Bool_t fFitLEDEvents
Fit LED events or not.
Bool_t UseL1Phase() const
void SetLEDFit(Bool_t val)
Bool_t fUseFALTRO
Get FALTRO (trigger) and put it on trigger digits.
void SetPiZero(Int_t i, Int_t j, Double_t param)
Double_t GetPar6(Int_t i) const
Double_t fMthCutEta
eta-difference cut for track matching
void SetSimulateTriggerElectronics(Bool_t doSim)
Double_t fHadron1to10[6][6]
Parameter to Compute PID for hadrons between 1 and 10 GeV.
Bool_t IsTimeCalibrationOn() const
Float_t GetMinECut() const
void SetOrderParameter(Int_t value)
Bool_t UseFALTRO() const
Double_t GetGamma1to10(Int_t i, Int_t j) const
Double_t fHadronEnergyProb[6]
Parameter to Compute PID for energy ponderation for hadrons.
Float_t fTimeCut
Maximum time of digits with respect to EMC cluster max.
void SetHadron(Int_t i, Int_t j, Double_t param)
void SetHighLowGainFactor(Double_t value)
static AliEMCALRecParam * GetLowFluxParam()
void SetFALTROUsage(Bool_t val)
Double_t fGammaEnergyProb[6]
Parameter to Compute PID for energy ponderation for gamma.
Int_t GetNPedSamples() const
void SetNPedSamples(Int_t value)
void SetTimeMax(Float_t t)
static AliEMCALRecParam * GetCosmicParam()
Double_t fSSPars[8]
Unfolding shower shape parameters.
static AliEMCALRecParam * GetDefaultParameters()
Default parameters for the reconstruction.
Bool_t fRemoveBadChannels
Select if bad channels are removed before fitting.
Container of reconstruction parameters.
Double_t GetExtrapolateStep() const
Int_t fNColDiff
NxN: How many neighbors to consider along col (eta)
Bool_t fSimulateTriggerElectronics
Steer simulating trigger electronics.
void SetMthCutPhi(Double_t value)
Float_t GetLocMaxCut() const
void SetMinECut(Float_t ecut)
Double_t GetHadron1to10(Int_t i, Int_t j) const
Double_t GetMthCutPhi() const
Int_t GetNRowDiff() const
void SetMthCutEta(Double_t value)
Double_t fHighLowGainFactor
Gain factor to convert between high and low gain.
void SetRejectBelowThreshold(Bool_t reject)
void SetNxM(Int_t rdiff, Int_t cdiff)
virtual void Print(Option_t *option="") const
void SetPar6(Int_t i, Double_t param)
void InitPIDParametersForHighFlux()
Double_t fPar6[3]
UF SSPar nr 6.
Float_t fLocMaxCut
Minimum energy difference to consider local maxima in a cluster.
Float_t fTimeMax
Maximum time of digits.
Bool_t fRejectBelowThreshold
split (false-default) or reject (true) cell energy below threshold after UF
Float_t GetTimeCut() const
AliEMCALRecParam & operator=(const AliEMCALRecParam &recParam)
Double_t GetHadron(Int_t i, Int_t j) const
Bool_t fUnfold
Flag to perform cluster unfolding.
Double_t GetTau() const
Int_t fFittingAlgorithm
Select the fitting algorithm.
Short_t GetClusterizerFlag() const
Double_t fTrkCutPt
Minimum pT cut on tracks. Needed for Pb-Pb runs.
Bool_t GetRejectBelowThreshold() const
Double_t GetMthCutEta() const
Float_t fMinECut
Minimum energy for a digit to be a member of a cluster.
void SetTrkInITS(Bool_t value)
void SetTrkCutNITS(Double_t value)
Double_t GetHighLowGainFactor() const
Double_t fHadron[6][6]
Parameter to Compute PID for hadrons.
void SetTimeCut(Float_t t)
virtual ~AliEMCALRecParam()
Float_t fTimeMin
Minimum time of digits.
void SetFittingAlgorithm(Int_t val)
void SetW0(Float_t w0)
Double_t fPiZeroEnergyProb[6]
Parameter to Compute PID for energy ponderation for Pi0.
Float_t GetW0() const
Bool_t fUseL1Phase
Shift time bin depending on L1 phase.
Int_t fNRowDiff
NxN: How many neighbors to consider along row (phi)
void SetTrkCutNTPC(Double_t value)
Double_t fTrkCutNTPC
Number of TPC hits for track matching.
Float_t GetTimeMin() const
void SetTrkCutPt(Double_t value)
Bool_t fTrkInITS
Select tracks with AliVTrack::kITSout.
Int_t GetNoiseThreshold() const
static TObjArray * fgkMaps
ALTRO mappings for RCU0..RCUX.
Int_t GetOrderParameter() const
Double_t GetPar5(Int_t i) const
Short_t fClusterizerFlag
Choice of the clusterizer; Default selection (v1) is zero.
Double_t GetGammaEnergyProb(Int_t i) const
Float_t GetClusteringThreshold() const
Bool_t GetUnfold() const
Int_t fOrderParameter
Order parameter for raw signal fit.
Bool_t GetTrkInITS() const
Double_t GetTrkCutNITS() const
void SetUnfold(Bool_t unfold)
Double_t fGamma[6][6]
Parameter to Compute PID for photons.
static AliEMCALRecParam * GetHighFluxParam()
void SetLocMaxCut(Float_t locMaxCut)
void SetExtrapolateStep(Double_t value)
Double_t GetSSPars(Int_t i) const
Float_t GetTimeMax() const
void SetNoiseThreshold(Int_t value)
Int_t fNoiseThreshold
Threshold to consider signal or noise.
Double_t GetTrkCutPt() const
void SetPiZeroEnergyProb(Int_t i, Double_t param)
static AliEMCALRecParam * GetCalibParam()
void SetL1PhaseUse(Bool_t val)
void SetHadron1to10(Int_t i, Int_t j, Double_t param)
Double_t GetPiZeroEnergyProb(Int_t i) const
Double_t fStep
Extrapolate length of each step.
void SetRemoveBadChannels(Bool_t val)
Double_t GetTrkCutNTPC() const
Double_t fTrkCutNITS
Number of ITS hits for track matching.
Int_t fNPedSamples
Number of time samples to use in pedestal calculation.
Float_t fClusteringThreshold
Minimum energy to seed a EC digit in a cluster.
Int_t GetNColDiff() const
void SetClusterizerFlag(Short_t val)
void SetGammaEnergyProb(Int_t i, Double_t param)
static const TObjArray * GetMappings()
Double_t GetGamma(Int_t i, Int_t j) const
void SetGamma1to10(Int_t i, Int_t j, Double_t param)