AliPhysics  2f4fa0a (2f4fa0a)
AliHadCorrTask.h
Go to the documentation of this file.
1 #ifndef ALIHADCORRTASK_H
2 #define ALIHADCORRTASK_H
3 
4 class TClonesArray;
5 class TList;
6 class TH1;
7 class TH2;
8 class AliVCluster;
9 class TString;
10 
11 #include "AliAnalysisTaskEmcal.h"
12 
14 
15  public:
17  AliHadCorrTask(const char *name, Bool_t histo=kFALSE);
18  virtual ~AliHadCorrTask();
19 
21 
22  void SetEexcl(Double_t Emin) { fEexclCell = Emin ; }
23  void SetEtaMatch(Double_t eta) { fEtaMatch = eta ; }
24  void SetHadCorr(Double_t c) { fHadCorr = c ; }
25  void SetOutClusName(const char *n) { fOutCaloName = n ; }
26  void SetPhiMatch(Double_t phi) { fPhiMatch = phi ; }
28  void SetDoExact(Bool_t d) { fDoExact = d ; }
29 
30  protected:
31  Double_t ApplyHadCorrOneTrack(Int_t icluster, Double_t hadCorr);
32  Double_t ApplyHadCorrAllTracks(Int_t icluster, Double_t hadCorr);
33  void DoMatchedTracksLoop(Int_t icluster, Double_t &totalTrkP, Int_t &Nmatches, Double_t &trkPMCfrac, Int_t &NMCmatches);
34  void DoTrackLoop();
35  Double_t GetEtaSigma(Int_t pbin) const;
36  UInt_t GetMomBin(Double_t pt) const;
37  Double_t GetPhiMean(Int_t pbin, Int_t centbin) const;
38  Double_t GetPhiSigma(Int_t pbin, Int_t centbin) const;
39  Bool_t Run() ;
40  void ExecOnce() ;
41 
42  // Task configuration
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
49  Bool_t fDoExact; // do exact correction (embedding only)
50 
51  // Service fields (non-streamed)
53  TClonesArray *fOutClusters;
54 
55  // QA plots
56  TH2 *fHistMatchEtaPhi[10][9][2];
79 
80  private:
81  AliHadCorrTask(const AliHadCorrTask&); // not implemented
82  AliHadCorrTask &operator=(const AliHadCorrTask&); // not implemented
83 
84  ClassDef(AliHadCorrTask, 15) // Hadronic correction task
85 };
86 #endif
TH2 * fHistOversubMCClusters[5]
Over-subtracted energy / cluster energy with non-embedded track matches (embedded matches < 5%) ...
TH2 * fHistMatchdRvsEP[5]
n cells vs. cluster energy
TH2 * fHistNClusMatchCent
n matches vs. centraity
TString fOutCaloName
double Double_t
Definition: External.C:58
Double_t fHadCorr
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
Double_t GetEtaSigma(Int_t pbin) const
Base task in the EMCAL framework.
void SetOutClusName(const char *n)
TH1 * fHistEafter
average energy of clusters before correction vs. centrality
TH2 * fHistEsubPchRat[10]
Esub vs. total momentum of matched tracks (only 1 match)
void SetEtaMatch(Double_t eta)
void SetHadCorr(Double_t c)
void DoTrackLoop()
Double_t GetPhiMean(Int_t pbin, Int_t centbin) const
TCanvas * c
Definition: TestFitELoss.C:172
Double_t ApplyHadCorrAllTracks(Int_t icluster, Double_t hadCorr)
void ExecOnce()
Perform steps needed to initialize the analysis.
UInt_t GetMomBin(Double_t pt) const
TH2 * fHistNMatchEnergy[5]
cluster energy vs. track momentum of matched pairs
Double_t fPhiMatch
TClonesArray * fOutClusters
ESD/AOD mode.
TH2 * fHistEsubPchRatAll[5]
Esub/momentum of matched tracks vs. total momentum of matched tracks (only 1 match) ...
TH2 * fHistMatchEtaPhiAll
deta vs. dphi of matched cluster-track pairs
TH2 * fHistMatchEtaPhi[10][9][2]
output cluster collection
TH2 * fHistEmbTrackMatchesOversub[5]
Esub/momentum of matched tracks vs. total momentum of matched tracks (all number of matches) ...
Double_t fEtaMatch
TH2 * fHistNMatchCent
E/P vs. centrality.
TH2 * fHistOversubNonMCClusters[5]
Over-subtracted energy / cluster energy (cluster MC energy fraction > 95%)
Double_t ApplyHadCorrOneTrack(Int_t icluster, Double_t hadCorr)
int Int_t
Definition: External.C:63
unsigned int UInt_t
Definition: External.C:33
Double_t fEexclCell
Double_t GetPhiSigma(Int_t pbin, Int_t centbin) const
void DoMatchedTracksLoop(Int_t icluster, Double_t &totalTrkP, Int_t &Nmatches, Double_t &trkPMCfrac, Int_t &NMCmatches)
TH1 * fHistNclusMatchvsCent
n clusters vs. centrality
void SetTrackClus(Int_t c)
TH2 * fHistMatchEtaPhiAllCl
deta vs. dphi of all cluster-track pairs (tr loop)
TH2 * fHistOversub[5]
Over-subtracted energy / cluster energy (cluster MC energy fraction < 5%)
TH2 * fHistEoPCent
average energy of clusters after correction vs. centrality
TH2 * fHistNonEmbTrackMatchesOversub[5]
Over-subtracted energy / cluster energy with embedded track matches (non-embedded matches < 5%) ...
void SetPhiMatch(Double_t phi)
Definition: External.C:220
TH1 * fHistEsubPch[10]
n clusters macthed to some track (tracks allowed to match more than one cluster)
TH2 * fHistMatchEtaPhiAllTr
deta vs. dphi of matched cluster-track pairs
void UserCreateOutputObjects()
virtual ~AliHadCorrTask()
TH2 * fHistNCellsEnergy[5][4]
n matches vs. cluster energy
AliHadCorrTask & operator=(const AliHadCorrTask &)
void SetDoExact(Bool_t d)
bool Bool_t
Definition: External.C:53
void SetEexcl(Double_t Emin)
TH2 * fHistMatchEvsP[5]
deta vs. dphi of all cluster-track pairs (cl loop)
TH1 * fHistEbefore
n clusters matched to some track vs. centrality
TH1 * fHistNclusvsCent
matching distance vs. E/P
Definition: External.C:196