]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/totEt/AliAnalysisEtTrackMatchCorrections.cxx
K0s code update (Matt Steinpreis)
[u/mrichter/AliRoot.git] / PWGLF / totEt / AliAnalysisEtTrackMatchCorrections.cxx
1
2
3 #include "AliAnalysisEtTrackMatchCorrections.h"
4
5 ClassImp(AliAnalysisEtTrackMatchCorrections);
6
7 AliAnalysisEtTrackMatchCorrections::AliAnalysisEtTrackMatchCorrections() : TNamed("TMCorr","TMCorr")
8     ,fChargedContr(new TF1)
9     ,fNeutralContr(new TF1)
10     ,fGammaContr(new TF1)
11     ,fSecondaryContr(new TF1)
12                                                                          ,fRecoEff(0)
13     ,fMeanCharged(0)
14     ,fMeanNeutral(0)
15     ,fMeanGamma(0)
16     ,fMeanSecondary(0)
17 {}
18
19 AliAnalysisEtTrackMatchCorrections::AliAnalysisEtTrackMatchCorrections(const TString name, const TF1 &chargedContr, const TF1 &neutralContr, const TF1 &gammaContr, const TF1 &secondaryContr, const TH2F &recoEff,
20                                                                        Double_t meanCharged, Double_t meanNeutral, Double_t meanGammas, Double_t meanSecondary) : TNamed(name,name)
21                                                                                                                                                                 ,fChargedContr(new TF1(chargedContr))
22                                                                                                                                                                 ,fNeutralContr(new TF1(neutralContr))
23                                                                                                                                                                 ,fGammaContr(new TF1(gammaContr))
24                                                                                                                                                                 ,fSecondaryContr(new TF1(secondaryContr))                                                                                       ,fRecoEff(new TH2F(recoEff))
25                                                                       //,fRecoEff(0)
26                                                                                                                                                                 ,fMeanCharged(meanCharged)
27                                                                                                                                                                 ,fMeanNeutral(meanNeutral)
28                                                                                                                                                                 ,fMeanGamma(meanGammas)
29                                                                                                                                                                 ,fMeanSecondary(meanSecondary)
30 {}
31
32 //! Copy constructor
33 AliAnalysisEtTrackMatchCorrections::AliAnalysisEtTrackMatchCorrections(const AliAnalysisEtTrackMatchCorrections &obj) : TNamed(obj)
34     ,fChargedContr(new TF1(*(obj.fChargedContr)))
35     ,fNeutralContr(new TF1(*(obj.fNeutralContr)))
36     ,fGammaContr(new TF1(*(obj.fGammaContr)))
37     ,fSecondaryContr(new TF1(*(obj.fSecondaryContr)))
38     ,fRecoEff(new TH2F(*(obj.fRecoEff)))
39     ,fMeanCharged(obj.fMeanCharged)
40     ,fMeanNeutral(obj.fMeanNeutral)
41     ,fMeanGamma(obj.fMeanGamma)
42     ,fMeanSecondary(obj.fMeanSecondary)
43     
44 {}
45
46 //! Destructor
47 AliAnalysisEtTrackMatchCorrections::~AliAnalysisEtTrackMatchCorrections()
48 {
49 //   delete fChargedContr;
50 //   delete fNeutralContr;
51 //   delete fGammaContr;
52 //   delete fSecondaryContr;
53 //   delete fRecoEff;
54 }
55
56 //! Assignment operator
57 AliAnalysisEtTrackMatchCorrections& AliAnalysisEtTrackMatchCorrections::operator=(const AliAnalysisEtTrackMatchCorrections &other)
58 {
59     if (this != &other)
60     {
61         *fChargedContr = *(other.fChargedContr);
62         *fNeutralContr = *(other.fNeutralContr);
63         *fGammaContr = *(other.fGammaContr);
64         ;        *fSecondaryContr = *(other.fSecondaryContr);
65         fMeanCharged = other.fMeanCharged;
66         fMeanNeutral = other.fMeanNeutral;
67         fMeanGamma = other.fMeanGamma;
68         fMeanSecondary = other.fMeanSecondary;
69         
70     }
71     return *this;
72 }
73
74 Double_t AliAnalysisEtTrackMatchCorrections::TrackMatchingEfficiency(Float_t pT, Int_t cent) const{
75   Double_t eff = 1.0;
76   if(fRecoEff) eff =  fRecoEff->GetBinContent(fRecoEff->GetXaxis()->FindBin(pT),fRecoEff->GetYaxis()->FindBin(cent));
77   //cout <<"eff "<<eff<<endl;
78   //cout <<"eff "<<eff<<" bin pT "<<fRecoEff->GetXaxis()->FindBin(pT)<<" bin centrality "<<fRecoEff->GetYaxis()->FindBin(cent)<<endl;
79   if(eff>1e-5){return eff;}
80   else{return 1.0;}
81 }