]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/AliHadCorrTask.h
from Megan
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliHadCorrTask.h
CommitLineData
0b777a09 1#ifndef ALIHADCORRTASK_H
2#define ALIHADCORRTASK_H
3
4// $Id$
5
6class TClonesArray;
0b777a09 7class TList;
1f6c8e39 8class TH1F;
9class TH2F;
10class AliEmcalParticle;
1f6fff78 11class TString;
0b777a09 12
1f6c8e39 13#include "AliAnalysisTaskEmcal.h"
14
15class 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