]>
Commit | Line | Data |
---|---|---|
cf6522d1 | 1 | //_________________________________________________________________________ |
2 | // Utility Class for transverse energy studies | |
3 | // Base class for ESD analysis, for PHOS | |
4 | // - reconstruction output | |
5 | // implementation file | |
6 | // | |
7 | //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL) | |
8 | //_________________________________________________________________________ | |
2fbf38ac | 9 | #include "AliAnalysisEtReconstructedPhos.h" |
ef647350 | 10 | #include "AliAnalysisEtSelectorPhos.h" |
2fbf38ac | 11 | #include "AliAnalysisEtCuts.h" |
12 | #include "AliESDtrack.h" | |
ef647350 | 13 | #include <fstream> |
14 | #include <iostream> | |
15 | #include <AliPHOSGeoUtils.h> | |
16 | #include "AliPHOSGeometry.h" | |
17 | #include <vector> | |
18 | #include "TH2I.h" | |
19 | ||
16abb579 | 20 | using namespace std; |
21 | ||
22 | ClassImp(AliAnalysisEtReconstructedPhos); | |
23 | ||
6deef1fa | 24 | /*// Worst case (protons and neutrons): |
3825c7d6 | 25 | const Double_t kMEANCHARGED = 0.335; |
26 | const Double_t kMEANNEUTRAL = 0.434; | |
27 | const Double_t kMEANGAMMA = 0.374; | |
6deef1fa | 28 | |
ef647350 | 29 | // Best case (pions and K0s): |
3825c7d6 | 30 | const Double_t kMEANCHARGED = 0.304; |
31 | const Double_t kMEANNEUTRAL = 0.3356; | |
32 | const Double_t kMEANGAMMA = 0.374; | |
6deef1fa | 33 | */ |
34 | // Simulated case: | |
ef647350 | 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); | |
6deef1fa | 39 | |
16abb579 | 40 | |
2fbf38ac | 41 | AliAnalysisEtReconstructedPhos::AliAnalysisEtReconstructedPhos() : |
ef647350 | 42 | AliAnalysisEtReconstructed() |
2fbf38ac | 43 | { |
ef647350 | 44 | fHistogramNameSuffix = TString("PhosRec"); |
45 | ||
f61cec2f | 46 | // fChargedContributionCorrectionParameters[0] = -0.017; |
47 | // fChargedContributionCorrectionParameters[1] = 0.065; | |
48 | // | |
49 | // fNeutralContributionCorrectionParameters[0] = -0.002; | |
50 | // fNeutralContributionCorrectionParameters[1] = 0.017; | |
51 | // fNeutralContributionCorrectionParameters[2] = -3.6e-5; | |
52 | // | |
53 | // fRemovedGammaContributionCorrectionParameters[0] = 0.001; | |
54 | // fRemovedGammaContributionCorrectionParameters[1] = 0.37e-5; | |
55 | // fRemovedGammaContributionCorrectionParameters[2] = 0.0003; | |
56 | ||
57 | fChargedContributionCorrectionParameters[0] = -0.0231864; | |
58 | fChargedContributionCorrectionParameters[1] = 0.112661; | |
59 | fChargedContributionCorrectionParameters[2] = 9.2836e-05; | |
60 | ||
61 | fNeutralContributionCorrectionParameters[0] = -9.18740e-03; | |
62 | fNeutralContributionCorrectionParameters[1] = 3.58584e-02; | |
63 | fNeutralContributionCorrectionParameters[2] = 9.48208e-04; | |
64 | ||
65 | fRemovedGammaContributionCorrectionParameters[0] = -2.74323e-03; | |
66 | fRemovedGammaContributionCorrectionParameters[1] = 2.71104e-03; | |
67 | fRemovedGammaContributionCorrectionParameters[2] = 3.52758e-04; | |
68 | ||
69 | fSecondaryContributionCorrectionParameters[0] = 0.075; | |
70 | fSecondaryContributionCorrectionParameters[1] = 0.150187; | |
71 | fSecondaryContributionCorrectionParameters[2] = 0.00329361; | |
311c6540 | 72 | |
2fbf38ac | 73 | } |
74 | ||
ef647350 | 75 | AliAnalysisEtReconstructedPhos::~AliAnalysisEtReconstructedPhos() |
cf6522d1 | 76 | { |
77 | } | |
2fbf38ac | 78 | |
79 | void AliAnalysisEtReconstructedPhos::Init() | |
cf6522d1 | 80 | { // Init |
ef647350 | 81 | AliAnalysisEtReconstructed::Init(); |
82 | ||
2fbf38ac | 83 | |
ef647350 | 84 | fDetectorRadius = fCuts->GetGeometryPhosDetectorRadius(); |
ef647350 | 85 | fSingleCellEnergyCut = fCuts->GetReconstructedPhosSingleCellEnergyCut(); |
86 | ||
4998becf | 87 | |
2fbf38ac | 88 | } |
89 | ||
90 | bool AliAnalysisEtReconstructedPhos::TrackHitsCalorimeter(AliVParticle* track, Double_t magField) | |
91 | { | |
ef647350 | 92 | return AliAnalysisEtReconstructed::TrackHitsCalorimeter(track, magField); |
2fbf38ac | 93 | } |
94 | ||
6deef1fa | 95 | Double_t AliAnalysisEtReconstructedPhos::GetChargedContribution(Int_t clusterMult) |
3825c7d6 | 96 | { // Charged contrib |
ef647350 | 97 | if (clusterMult > 0) |
98 | { | |
f61cec2f | 99 | Double_t nPart = fChargedContributionCorrectionParameters[0] + fChargedContributionCorrectionParameters[1]*clusterMult + fChargedContributionCorrectionParameters[2]*clusterMult*clusterMult; |
ef647350 | 100 | |
101 | Double_t contr = nPart*kMEANCHARGED; | |
102 | ||
103 | return contr; | |
104 | } | |
105 | return 0; | |
106 | ||
6deef1fa | 107 | } |
108 | ||
109 | Double_t AliAnalysisEtReconstructedPhos::GetNeutralContribution(Int_t clusterMult) | |
3825c7d6 | 110 | { // Neutral contrib |
ef647350 | 111 | if (clusterMult > 0) |
112 | { | |
113 | Double_t nPart = fNeutralContributionCorrectionParameters[0] + fNeutralContributionCorrectionParameters[1]*clusterMult + fNeutralContributionCorrectionParameters[2]*clusterMult*clusterMult; | |
114 | ||
115 | Double_t contr = nPart*kMEANNEUTRAL; | |
116 | ||
117 | return contr; | |
118 | } | |
119 | return 0; | |
6deef1fa | 120 | } |
121 | ||
122 | Double_t AliAnalysisEtReconstructedPhos::GetGammaContribution(Int_t clusterMult) | |
3825c7d6 | 123 | { // Gamma contrib |
ef647350 | 124 | if (clusterMult > 0) |
125 | { | |
126 | Double_t nPart = fRemovedGammaContributionCorrectionParameters[0] + fRemovedGammaContributionCorrectionParameters[1]*clusterMult + fRemovedGammaContributionCorrectionParameters[2]*clusterMult*clusterMult; | |
6deef1fa | 127 | |
ef647350 | 128 | Double_t contr = nPart*kMEANGAMMA; |
6deef1fa | 129 | |
ef647350 | 130 | return contr; |
131 | } | |
132 | return 0; | |
133 | } | |
6deef1fa | 134 | |
f61cec2f | 135 | Double_t AliAnalysisEtReconstructedPhos::GetSecondaryContribution(Int_t clusterMultiplicity) |
136 | { | |
137 | if(clusterMultiplicity > 0) | |
138 | { | |
139 | return fSecondaryContributionCorrectionParameters[0] + fSecondaryContributionCorrectionParameters[1]*clusterMultiplicity + fSecondaryContributionCorrectionParameters[2]*clusterMultiplicity*clusterMultiplicity; | |
140 | } | |
141 | ||
142 | return 0; | |
143 | } | |
6deef1fa | 144 | |
145 | ||
146 | ||
311c6540 | 147 | |
148 | void AliAnalysisEtReconstructedPhos::CreateHistograms() | |
149 | { // add some extra histograms & objects to the ones from base class | |
150 | AliAnalysisEtReconstructed::CreateHistograms(); | |
151 | fSelector = new AliAnalysisEtSelectorPhos(fCuts); | |
152 | } |