void Print(const Option_t*) const;
//enums
- enum NonlinearityFunctions{kPi0MC=0,kPi0GammaGamma=1,kPi0GammaConversion=2,kNoCorrection=3,kBeamTest=4,kBeamTestCorrected=5,kPi0MCv2=6,kPi0MCv3=7};
+ enum NonlinearityFunctions{kPi0MC=0,kPi0GammaGamma=1,kPi0GammaConversion=2,kNoCorrection=3,kBeamTest=4,kBeamTestCorrected=5,kPi0MCv2=6,kPi0MCv3=7,kBeamTestCorrectedv2=8};
enum PositionAlgorithms{kUnchanged=-1,kPosTowerIndex=0, kPosTowerGlobal=1};
enum ParticleType{kPhoton=0, kElectron=1,kHadron =2, kUnknown=-1};
enum { kNCuts = 12 }; //track matching Marcel
Float_t CorrectClusterEnergyLinearity(AliVCluster* clu) ;
- Float_t GetNonLinearityParam(const Int_t i) const { if(i < 7 ){ return fNonLinearityParams[i] ; }
- else { AliInfo(Form("Index %d larger than 7, do nothing\n",i)) ;
+ Float_t GetNonLinearityParam(const Int_t i) const { if(i < 7 && i >=0 ){ return fNonLinearityParams[i] ; }
+ else { AliInfo(Form("Index %d larger than 6 or negative, do nothing\n",i)) ;
return 0. ; } }
void SetNonLinearityParam(const Int_t i, const Float_t param) {
- if(i < 7 ){fNonLinearityParams[i] = param ; }
- else { AliInfo(Form("Index %d larger than 7, do nothing\n",i)) ; } }
+ if(i < 7 && i >=0 ){ fNonLinearityParams[i] = param ; }
+ else { AliInfo(Form("Index %d larger than 6 or negative, do nothing\n",i)) ; } }
void InitNonLinearityParam();
Int_t GetNonLinearityFunction() const { return fNonLinearityFunction ; }
static Bool_t ExtrapolateTrackToEMCalSurface(AliExternalTrackParam *trkParam,
const Double_t emcalR, const Double_t mass, const Double_t step,
- Float_t &eta, Float_t &phi);
+ Float_t &eta, Float_t &phi, Float_t &pt);
static Bool_t ExtrapolateTrackToPosition(AliExternalTrackParam *trkParam, const Float_t *clsPos,
const Double_t mass, const Double_t step,
Float_t &tmpEta, Float_t &tmpPhi);
void SetCutPhi(Float_t cutPhi) { fCutPhi = cutPhi ; }
void SetClusterWindow(Double_t window) { fClusterWindow = window ; }
void SetCutZ(Float_t cutZ) { printf("Obsolete fucntion of cutZ=%1.1f\n",cutZ) ; } //Obsolete
+ void SetEMCalSurfaceDistance(Double_t d) { fEMCalSurfaceDistance = d ; }
Double_t GetMass() const { return fMass ; }
Double_t GetStep() const { return fStepCluster ; }
Double_t fStepSurface; // Length of step to extrapolate tracks to EMCal surface
Double_t fStepCluster; // Length of step to extrapolate tracks to clusters
Bool_t fITSTrackSA; // If track matching is to be done with ITS tracks standing alone
+ Double_t fEMCalSurfaceDistance; // EMCal surface distance (= 430 by default, the last 10 cm are propagated on a cluster-track pair basis)
// Track cuts
Int_t fTrackCutsType; // Esd track cuts type for matching
Bool_t fCutRequireITSpureSA; // ITS pure standalone tracks
- ClassDef(AliEMCALRecoUtils, 20)
+ ClassDef(AliEMCALRecoUtils, 21)
};