1 #ifndef ALIHADCORRTASK_H
2 #define ALIHADCORRTASK_H
10 class AliEmcalParticle;
13 #include "AliAnalysisTaskEmcal.h"
15 class AliHadCorrTask : public AliAnalysisTaskEmcal {
19 AliHadCorrTask(const char *name);
20 AliHadCorrTask(const char *name, Bool_t histo);
21 virtual ~AliHadCorrTask();
23 void UserCreateOutputObjects();
24 void Terminate(Option_t *);
26 void SetOutClusName(const char *n) { fOutCaloName = n ; }
27 void SetEtaMatch(Double_t eta) { fEtaMatch = eta ; }
28 void SetPhiMatch(Double_t phi) { fPhiMatch = phi ; }
29 void SetTrackClus(Int_t c) { fDoTrackClus = c ; }
30 void SetHadCorr(Double_t c) { fHadCorr = c ; }
31 void SetEexcl(Double_t Emin) { fEexclCell = Emin ; }
35 virtual Bool_t Run() ;
36 virtual Bool_t FillHistograms() { return kTRUE ; }
37 Int_t GetMomBin(Double_t pt) const;
38 Double_t GetEtaSigma(Int_t pbin) const;
39 Double_t GetPhiMean(Int_t pbin, Int_t centbin) const;
40 Double_t GetPhiSigma(Int_t pbin, Int_t centbin) const;
41 void DoTrackClusLoop() ;
42 void DoMatchedTracksLoop(AliEmcalParticle *emccluster, Double_t &totalTrkP, Int_t &Nmatches);
43 Double_t ApplyHadCorrOneTrack(AliEmcalParticle *emccluster, Double_t hadCorr) ;
44 Double_t ApplyHadCorrAllTracks(AliEmcalParticle *emccluster, Double_t hadCorr) ;
47 TString fOutCaloName; // name of output clusters
48 Double_t fPhiMatch; // phi match value (pp=0.050)
49 Double_t fEtaMatch; // eta match value (pp=0.025)
50 Int_t fDoTrackClus; // loop over tracks first
51 Double_t fHadCorr; // hadronic correction (fraction)
52 Double_t fEexclCell; // Energy/cell that we cannot subtract from the clusters
54 TClonesArray *fOutClusters; //!output cluster collection
56 TH2F *fHistMatchEtaPhi[8][9][2]; //!output histograms
57 TH2F *fHistMatchEvsP[4]; //!output histograms
58 TH2F *fHistNMatchEnergy[4]; //!output histograms
59 TH2F *fHistNCellsEnergy[8][4]; //!output histograms
60 TH2F *fHistMatchdRvsEP[4]; //!output histograms
61 TH1F *fHistNclusvsCent; //!output histograms
62 TH1F *fHistNclusMatchvsCent; //!output histograms
63 TH1F *fHistEbefore; //!output histograms
64 TH1F *fHistEafter; //!output histograms
65 TH2F *fHistEoPCent; //!output histograms
66 TH2F *fHistNMatchCent; //!output histograms
67 TH2F *fHistNMatchCent_trk; //!output histograms
68 TH1F *fHistEsubPch[8]; //!output histograms
69 TH2F *fHistEsubPchRat[8]; //!output histograms
70 TH1F *fHistCentrality; //!output histograms
71 TH2F *fHistNoMatchEtaPhi; //!output histograms
74 AliHadCorrTask(const AliHadCorrTask&); // not implemented
75 AliHadCorrTask &operator=(const AliHadCorrTask&); // not implemented
77 ClassDef(AliHadCorrTask, 9) // Hadronic correction task