]>
Commit | Line | Data |
---|---|---|
0b777a09 | 1 | #ifndef ALIHADCORRTASK_H |
2 | #define ALIHADCORRTASK_H | |
3 | ||
4 | // $Id$ | |
5 | ||
6 | class TClonesArray; | |
0b777a09 | 7 | class TList; |
1f6c8e39 | 8 | class TH1F; |
9 | class TH2F; | |
10 | class AliEmcalParticle; | |
1f6fff78 | 11 | class TString; |
0b777a09 | 12 | |
1f6c8e39 | 13 | #include "AliAnalysisTaskEmcal.h" |
14 | ||
15 | class AliHadCorrTask : public AliAnalysisTaskEmcal { | |
0b777a09 | 16 | |
0b777a09 | 17 | public: |
0b777a09 | 18 | AliHadCorrTask(); |
181a0a09 | 19 | AliHadCorrTask(const char *name, Bool_t histo=kFALSE); |
0b777a09 | 20 | virtual ~AliHadCorrTask(); |
21 | ||
c7d52659 | 22 | void UserCreateOutputObjects(); |
0b777a09 | 23 | |
c7d52659 | 24 | void SetEexcl(Double_t Emin) { fEexclCell = Emin ; } |
25 | void SetEtaMatch(Double_t eta) { fEtaMatch = eta ; } | |
26 | void SetHadCorr(Double_t c) { fHadCorr = c ; } | |
27 | void SetOutClusName(const char *n) { fOutCaloName = n ; } | |
28 | void SetPhiMatch(Double_t phi) { fPhiMatch = phi ; } | |
29 | void SetTrackClus(Int_t c) { fDoTrackClus = c ; } | |
0b777a09 | 30 | |
31 | protected: | |
c7d52659 | 32 | Double_t ApplyHadCorrOneTrack(AliEmcalParticle *emccluster, Double_t hadCorr); |
33 | Double_t ApplyHadCorrAllTracks(AliEmcalParticle *emccluster, Double_t hadCorr); | |
34 | void DoMatchedTracksLoop(AliEmcalParticle *emccluster, Double_t &totalTrkP, Int_t &Nmatches); | |
1b4db73a | 35 | void DoTrackLoop(); |
c7d52659 | 36 | Double_t GetEtaSigma(Int_t pbin) const; |
37 | Int_t GetMomBin(Double_t pt) const; | |
38 | Double_t GetPhiMean(Int_t pbin, Int_t centbin) const; | |
39 | Double_t GetPhiSigma(Int_t pbin, Int_t centbin) const; | |
40 | virtual Bool_t Run() ; | |
1b4db73a | 41 | virtual void ExecOnce() ; |
c7d52659 | 42 | |
43 | TString fOutCaloName; // name of output clusters | |
44 | Double_t fPhiMatch; // phi match value (pp=0.050) | |
45 | Double_t fEtaMatch; // eta match value (pp=0.025) | |
46 | Int_t fDoTrackClus; // loop over tracks first | |
47 | Double_t fHadCorr; // hadronic correction (fraction) | |
48 | Double_t fEexclCell; // energy/cell that we cannot subtract from the clusters | |
1b4db73a | 49 | Bool_t fEsdMode; //!ESD/AOD mode |
c7d52659 | 50 | TClonesArray *fOutClusters; //!output cluster collection |
1f6c8e39 | 51 | TH2F *fHistMatchEtaPhi[8][9][2]; //!output histograms |
52 | TH2F *fHistMatchEvsP[4]; //!output histograms | |
53 | TH2F *fHistNMatchEnergy[4]; //!output histograms | |
1b4db73a | 54 | TH2F *fHistNCellsEnergy[4][4]; //!output histograms |
1f6c8e39 | 55 | TH2F *fHistMatchdRvsEP[4]; //!output histograms |
56 | TH1F *fHistNclusvsCent; //!output histograms | |
57 | TH1F *fHistNclusMatchvsCent; //!output histograms | |
a89e2005 | 58 | TH1F *fHistEbefore; //!output histograms |
59 | TH1F *fHistEafter; //!output histograms | |
1f6c8e39 | 60 | TH2F *fHistEoPCent; //!output histograms |
61 | TH2F *fHistNMatchCent; //!output histograms | |
1b4db73a | 62 | TH2F *fHistNClusMatchCent; //!output histograms |
1f6c8e39 | 63 | TH1F *fHistEsubPch[8]; //!output histograms |
64 | TH2F *fHistEsubPchRat[8]; //!output histograms | |
0c5f6f08 | 65 | TH2F *fHistEsubPchRatAll[8]; //!output histograms |
0b777a09 | 66 | |
67 | private: | |
68 | AliHadCorrTask(const AliHadCorrTask&); // not implemented | |
69 | AliHadCorrTask &operator=(const AliHadCorrTask&); // not implemented | |
70 | ||
0c5f6f08 | 71 | ClassDef(AliHadCorrTask, 11) // Hadronic correction task |
0b777a09 | 72 | }; |
73 | #endif |