Josh, Irakli, David: AliCaloCalibSignal update - replacing possible 10k+ TProfiles...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALRecParam.h
CommitLineData
3a8be91c 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/* $Id$ */
7
8//-----------------------------------------------------------------------------
9// Container of EMCAL reconstruction parameters
10// The purpose of this object is to store it to OCDB
b4133f05 11// and retrieve it in AliEMCALClusterizerv1, AliEMCALPID,
12// AliEMCALTracker and use it to configure AliEMCALRawUtils
13//
14//
3a8be91c 15// Author: Yuri Kharlov
16//-----------------------------------------------------------------------------
17
18// --- ROOT system ---
19
20#include "TObject.h"
225cd96d 21#include "AliLog.h"
3a8be91c 22
23class AliEMCALRecParam : public TObject
24{
25public:
26
27 AliEMCALRecParam() ;
28 virtual ~AliEMCALRecParam() {}
8ba062b1 29
225cd96d 30 //Clustering (Unfolding : Cynthia)
c47157cd 31 Float_t GetClusteringThreshold() const {return fClusteringThreshold;}
32 Float_t GetW0 () const {return fW0 ;}
33 Float_t GetMinECut () const {return fMinECut ;}
225cd96d 34 Float_t GetLocMaxCut () const {return fLocMaxCut ;}
35 Bool_t GetUnfold () const {return fUnfold ;}
3a8be91c 36 void SetClusteringThreshold(Float_t thrsh) {fClusteringThreshold = thrsh;}
37 void SetW0 (Float_t w0) {fW0 = w0 ;}
38 void SetMinECut (Float_t minEcut) {fMinECut = minEcut ;}
225cd96d 39 void SetLocMaxCut (Float_t locMaxCut) {fLocMaxCut = locMaxCut ;}
0561e246 40 void SetUnfold (Bool_t unfold) {fUnfold = unfold ; if(fUnfold) AliWarning("Cluster Unfolding ON. Implementing only for eta=0 case!!!");}
8ba062b1 41
42 //PID (Guenole)
43 Double_t GetGamma(Int_t i, Int_t j) const {return fGamma[i][j];}
44 Double_t GetHadron(Int_t i, Int_t j) const {return fHadron[i][j];}
45 Double_t GetPiZero5to10(Int_t i, Int_t j) const {return fPiZero5to10[i][j];}
46 Double_t GetPiZero10to60(Int_t i, Int_t j) const {return fPiZero10to60[i][j];}
47
48 void SetGamma(Int_t i, Int_t j,Double_t param ) {fGamma[i][j]=param;}
49 void SetHadron(Int_t i, Int_t j,Double_t param ) {fHadron[i][j]=param;}
50 void SetPiZero5to10(Int_t i, Int_t j,Double_t param) {fPiZero5to10[i][j]=param;}
51 void SetPiZero10to60(Int_t i, Int_t j,Double_t param) {fPiZero10to60[i][j]=param;}
52
53 //Track Matching (Alberto)
54 /* track matching cut setters */
55 void SetTrkCutX(Double_t value) {fTrkCutX = value;}
56 void SetTrkCutY(Double_t value) {fTrkCutY = value;}
57 void SetTrkCutZ(Double_t value) {fTrkCutZ = value;}
58 void SetTrkCutR(Double_t value) {fTrkCutR = value;}
59 void SetTrkCutAlphaMin(Double_t value) {fTrkCutAlphaMin = value;}
60 void SetTrkCutAlphaMax(Double_t value) {fTrkCutAlphaMax = value;}
61 void SetTrkCutAngle(Double_t value) {fTrkCutAngle = value;}
62 /* track matching cut getters */
63 Double_t GetTrkCutX() const {return fTrkCutX;}
64 Double_t GetTrkCutY() const {return fTrkCutY;}
65 Double_t GetTrkCutZ() const {return fTrkCutZ;}
66 Double_t GetTrkCutR() const {return fTrkCutR;}
67 Double_t GetTrkCutAlphaMin() const {return fTrkCutAlphaMin;}
68 Double_t GetTrkCutAlphaMax() const {return fTrkCutAlphaMax;}
69 Double_t GetTrkCutAngle() const {return fTrkCutAngle;}
70
b4133f05 71 //Raw signal fitting (Jenn)
72 /* raw signal setters */
73 void SetHighLowGainFactor(Double_t value) {fHighLowGainFactor = value;}
74 void SetOrderParameter(Int_t value) {fOrderParameter = value;}
75 void SetTau(Double_t value) {fTau = value;}
76 void SetNoiseThreshold(Int_t value) {fNoiseThreshold = value;}
77 void SetNPedSamples(Int_t value) {fNPedSamples = value;}
78 /* raw signal getters */
79 Double_t GetHighLowGainFactor() const {return fHighLowGainFactor;}
80 Int_t GetOrderParameter() const {return fOrderParameter;}
81 Double_t GetTau() const {return fTau;}
82 Int_t GetNoiseThreshold() const {return fNoiseThreshold;}
83 Int_t GetNPedSamples() const {return fNPedSamples;}
84
8ba062b1 85 virtual void Print(Option_t * option="") const ;
86
feedcab9 87 static const TObjArray* GetMappings();
3a8be91c 88
89private:
8ba062b1 90 //Clustering
3a8be91c 91 Float_t fClusteringThreshold ; // minimum energy to seed a EC digit in a cluster
92 Float_t fW0 ; // logarithmic weight for the cluster center of gravity calculation
93 Float_t fMinECut; // Minimum energy for a digit to be a member of a cluster
225cd96d 94 Bool_t fUnfold; // flag to perform cluster unfolding
95 Float_t fLocMaxCut; // minimum energy difference to consider local maxima in a cluster
3a8be91c 96
8ba062b1 97 //PID (Guenole)
98 Double_t fGamma[6][6]; // Parameter to Compute PID
99 Double_t fHadron[6][6]; // Parameter to Compute PID
100 Double_t fPiZero5to10[6][6]; // Parameter to Compute PID
101 Double_t fPiZero10to60[6][6]; // Parameter to Compute PID
102
103 //Track-Matching (Alberto)
104 Double_t fTrkCutX; // X-difference cut for track matching
105 Double_t fTrkCutY; // Y-difference cut for track matching
106 Double_t fTrkCutZ; // Z-difference cut for track matching
107 Double_t fTrkCutR; // cut on allowed track-cluster distance
108 Double_t fTrkCutAlphaMin; // cut on 'alpha' parameter for track matching (min)
109 Double_t fTrkCutAlphaMax; // cut on 'alpha' parameter for track matching (min)
110 Double_t fTrkCutAngle; // cut on relative angle between different track points for track matching
111
b4133f05 112 //Raw signal fitting parameters (Jenn)
113 Double_t fHighLowGainFactor; //gain factor to convert between high and low gain
114 Int_t fOrderParameter; //order parameter for raw signal fit
115 Double_t fTau; //decay constant for raw signal fit
116 Int_t fNoiseThreshold; //threshold to consider signal or noise
117 Int_t fNPedSamples; //number of time samples to use in pedestal calculation
118
feedcab9 119 static TObjArray* fgkMaps; // ALTRO mappings for RCU0..RCUX
120
225cd96d 121 ClassDef(AliEMCALRecParam,5) // Reconstruction parameters
3a8be91c 122
123} ;
124
125#endif // ALIEMCALRECPARAM_H
8ba062b1 126