AliPhysics  9fe175b (9fe175b)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEmcalJetByJetCorrection.h
Go to the documentation of this file.
1 #ifndef ALIEMCALJETBYJETCORRECTION_H
2 #define ALIEMCALJETBYJETCORRECTION_H
3 
4 #include <TNamed.h>
5 #include <TObjArray.h>
6 #include <TArrayF.h>
7 #include <TClonesArray.h>
8 
9 class TH3;
10 class TProfile;
11 class AliEmcalJet;
12 class TList;
13 class THnSparse;
14 
15 class AliEmcalJetByJetCorrection : public TNamed
16 {
17  public:
18 
20  AliEmcalJetByJetCorrection(const char* name);
24 
25  void SetTemplate(TH3 *h) { fh3JetPtDRTrackPt = h; }
26  void SetJetPtBinWidth(Double_t w) { fBinWidthJetPt = w; }
27  void SetJetPtRange(Double_t min, Double_t max) {fJetPtMin = min; fJetPtMax = max;}
28  void SetFixedTrackEfficiency(Double_t eff) { fEfficiencyFixed = eff; }
29  void SetEfficiencyHist(TH1 *h) { fhEfficiency = h ; }
30  void SetCorrectTemplateTrackpT(Bool_t correct=kTRUE) {fCorrectpTtrack = correct;}
31  void SetPoissonianNmissing(Bool_t set=kTRUE) {fNpPoisson=set;}
32  void SetNMissedTracks(Double_t number) {fNMissedTracks = number;}
33  void SetExternalDefinitionOfNmissed(Bool_t set=kTRUE) {fExternalNmissed=set;}
34 
35  Int_t GetJetPtBin(const Double_t jetpt) const;
36  Double_t GetEfficiency(const Double_t pt) const;
37  Double_t GetMeanPtConstituents(const AliEmcalJet *jet, TClonesArray *fTracks) const;
38 
39  TProfile *GetAppliedEfficiency() const {return fpAppliedEfficiency;}
40  Bool_t GetCorrectTemplateTrackpT() const {return fCorrectpTtrack;}
41  Bool_t GetPoissonianNmissing() const {return fNpPoisson;}
43  TList *GetListOfOutput() const {return fListOfOutput;}
44  void Init();
45  AliEmcalJet *Eval(const AliEmcalJet *jet, TClonesArray *fTracks);
46  TClonesArray *GetAddedTrackArray() const {return fArrayTrackCorr;}
47 
48  protected:
50  Double_t fBinWidthJetPt;
51  Double_t fJetPtMin;
52  Double_t fJetPtMax;
53  TObjArray fCollTemplates;
54  Bool_t fInitialized;
55  Double_t fEfficiencyFixed;
56  TH1 *fhEfficiency;
58  Bool_t fCorrectpTtrack;
59  Bool_t fNpPoisson;
61  TRandom3 *fRndm;
63  // -- now done in the analysis task from the difference of the integral of the pt distr of the constituents of the particle level jet and the reco level jet
64  TClonesArray *fArrayTrackCorr;
65  TString fPartArrayN;
66  //book-keeping object filled inside Eval()
67  TProfile *fpAppliedEfficiency;
68  THnSparse*fhNmissing;
69  TList *fListOfOutput;
70  private:
71  ClassDef(AliEmcalJetByJetCorrection, 8) // jet-by-jet correction class
72 };
73 #endif
void SetCorrectTemplateTrackpT(Bool_t correct=kTRUE)
void SetExternalDefinitionOfNmissed(Bool_t set=kTRUE)
TClonesArray * fArrayTrackCorr
TClonesArray containing the jet constituents after correction.
AliEmcalJetByJetCorrection & operator=(const AliEmcalJetByJetCorrection &jet)
void SetJetPtRange(Double_t min, Double_t max)
AliEmcalJet * Eval(const AliEmcalJet *jet, TClonesArray *fTracks)
void SetNMissedTracks(Double_t number)
Bool_t fNpPoisson
draw Nmissing particle from a Poissonian with mean Nconst(1/eff-1)
TH1D * fhSmoothEfficiency
single particle efficiency smooth (see Init())
Double_t GetEfficiency(const Double_t pt) const
TProfile * fpAppliedEfficiency
Control profile efficiency.
TList * fListOfOutput
list containing all histograms
Bool_t fExternalNmissed
Set to true if want to give Nmissing from the MassStructureTask.
TString fPartArrayN
Array of particles used for jet reconstruction at particle level (need to make it transient probably)...
THnSparse * fhNmissing
pTjet vs number of added constituents (depends on settings) versus Nmissed constituents ...
TRandom3 * fRndm
TRandom3 object.
Double_t fBinWidthJetPt
jet pt bin width in which to do correction
TObjArray fCollTemplates
templates (2D histos with track pT vs r)
Double_t fEfficiencyFixed
fixed efficiency for all pT and all types of tracks
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:44
Bool_t fCorrectpTtrack
if true the templates are corrected by track efficiency
Double_t GetMeanPtConstituents(const AliEmcalJet *jet, TClonesArray *fTracks) const
Int_t GetJetPtBin(const Double_t jetpt) const
TClonesArray * GetAddedTrackArray() const
TH1 * fhEfficiency
single particle efficiency
void SetPoissonianNmissing(Bool_t set=kTRUE)
Bool_t fInitialized
status of initialization
Int_t fNMissedTracks
Track missed in reconstruction calculated from external input (to be improved)