1 //_________________________________________________________________________
2 // Utility Class for transverse energy studies
3 // Base class for ESD analysis, for PHOS
4 // - reconstruction output
7 //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
8 //_________________________________________________________________________
9 #include "AliAnalysisEtReconstructedPhos.h"
10 #include "AliAnalysisEtSelectorPhos.h"
11 #include "AliAnalysisEtCuts.h"
12 #include "AliESDtrack.h"
15 #include <AliPHOSGeoUtils.h>
16 #include "AliPHOSGeometry.h"
22 ClassImp(AliAnalysisEtReconstructedPhos);
24 /*// Worst case (protons and neutrons):
25 const Double_t kMEANCHARGED = 0.335;
26 const Double_t kMEANNEUTRAL = 0.434;
27 const Double_t kMEANGAMMA = 0.374;
29 // Best case (pions and K0s):
30 const Double_t kMEANCHARGED = 0.304;
31 const Double_t kMEANNEUTRAL = 0.3356;
32 const Double_t kMEANGAMMA = 0.374;
35 //corrEnergy =cluster->E()/(0.51 + 0.02*cluster->E());
36 const Double_t kMEANCHARGED = 0.307/(0.51 + 0.02*0.307);
37 const Double_t kMEANNEUTRAL = 0.407/(0.51 + 0.02*0.407);
38 const Double_t kMEANGAMMA = 0.374/(0.51 + 0.02*0.374);
41 AliAnalysisEtReconstructedPhos::AliAnalysisEtReconstructedPhos() :
42 AliAnalysisEtReconstructed()
44 fHistogramNameSuffix = TString("PhosRec");
46 // fChargedContributionCorrectionParameters[0] = -0.017;
47 // fChargedContributionCorrectionParameters[1] = 0.065;
49 // fNeutralContributionCorrectionParameters[0] = -0.002;
50 // fNeutralContributionCorrectionParameters[1] = 0.017;
51 // fNeutralContributionCorrectionParameters[2] = -3.6e-5;
53 // fRemovedGammaContributionCorrectionParameters[0] = 0.001;
54 // fRemovedGammaContributionCorrectionParameters[1] = 0.37e-5;
55 // fRemovedGammaContributionCorrectionParameters[2] = 0.0003;
57 fChargedContributionCorrectionParameters[0] = -0.0231864;
58 fChargedContributionCorrectionParameters[1] = 0.112661;
59 fChargedContributionCorrectionParameters[2] = 9.2836e-05;
61 fNeutralContributionCorrectionParameters[0] = -9.18740e-03;
62 fNeutralContributionCorrectionParameters[1] = 3.58584e-02;
63 fNeutralContributionCorrectionParameters[2] = 9.48208e-04;
65 fRemovedGammaContributionCorrectionParameters[0] = -2.74323e-03;
66 fRemovedGammaContributionCorrectionParameters[1] = 2.71104e-03;
67 fRemovedGammaContributionCorrectionParameters[2] = 3.52758e-04;
69 fSecondaryContributionCorrectionParameters[0] = 0.075;
70 fSecondaryContributionCorrectionParameters[1] = 0.150187;
71 fSecondaryContributionCorrectionParameters[2] = 0.00329361;
75 AliAnalysisEtReconstructedPhos::~AliAnalysisEtReconstructedPhos()
79 void AliAnalysisEtReconstructedPhos::Init()
81 AliAnalysisEtReconstructed::Init();
84 fDetectorRadius = fCuts->GetGeometryPhosDetectorRadius();
85 fSingleCellEnergyCut = fCuts->GetReconstructedPhosSingleCellEnergyCut();
90 bool AliAnalysisEtReconstructedPhos::TrackHitsCalorimeter(AliVParticle* track, Double_t magField)
92 return AliAnalysisEtReconstructed::TrackHitsCalorimeter(track, magField);
95 Double_t AliAnalysisEtReconstructedPhos::GetChargedContribution(Int_t clusterMult)
99 Double_t nPart = fChargedContributionCorrectionParameters[0] + fChargedContributionCorrectionParameters[1]*clusterMult + fChargedContributionCorrectionParameters[2]*clusterMult*clusterMult;
101 Double_t contr = nPart*kMEANCHARGED;
109 Double_t AliAnalysisEtReconstructedPhos::GetNeutralContribution(Int_t clusterMult)
113 Double_t nPart = fNeutralContributionCorrectionParameters[0] + fNeutralContributionCorrectionParameters[1]*clusterMult + fNeutralContributionCorrectionParameters[2]*clusterMult*clusterMult;
115 Double_t contr = nPart*kMEANNEUTRAL;
122 Double_t AliAnalysisEtReconstructedPhos::GetGammaContribution(Int_t clusterMult)
126 Double_t nPart = fRemovedGammaContributionCorrectionParameters[0] + fRemovedGammaContributionCorrectionParameters[1]*clusterMult + fRemovedGammaContributionCorrectionParameters[2]*clusterMult*clusterMult;
128 Double_t contr = nPart*kMEANGAMMA;
135 Double_t AliAnalysisEtReconstructedPhos::GetSecondaryContribution(Int_t clusterMultiplicity)
136 { // Secondary contrib
137 if(clusterMultiplicity > 0)
139 return fSecondaryContributionCorrectionParameters[0] + fSecondaryContributionCorrectionParameters[1]*clusterMultiplicity + fSecondaryContributionCorrectionParameters[2]*clusterMultiplicity*clusterMultiplicity;
148 void AliAnalysisEtReconstructedPhos::CreateHistograms()
149 { // add some extra histograms & objects to the ones from base class
150 AliAnalysisEtReconstructed::CreateHistograms();
151 fSelector = new AliAnalysisEtSelectorPhos(fCuts);