AliPhysics  328058c (328058c)
AliAnalysisTaskJetJTJT.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKJETJTJT_H
2 #define ALIANALYSISTASKJETJTJT_H
3 
4 class TH1;
5 class TH2;
6 class TH3;
7 class TGraphErrors;
8 class TProfile;
9 class AliJetContainer;
12 class AliAnalysisUtils;
13 class JTJTEfficiency;
14 
15 
17 
18 using std::cout;
19 using std::endl;
20 
22  public:
23 
25  AliAnalysisTaskJetJTJT(const char *name);
26  virtual ~AliAnalysisTaskJetJTJT();
27 
29  void Terminate(Option_t *option);
30 
31  void SetTrackArrayName( char *c ) { fTrackArrayName = c; }
32 
33  void setCentBinBorders( int n, Double_t *c);
34  void setTriggPtBorders( int n, Double_t *c);
35  void setAssocPtBorders( int n, Double_t *c);
36  void setEffMode(int m) {fEffMode = m; };
37  void setDebug(int n) {debug = n; }
38  void setRunPeriod(const char *period) {runPeriod = period; cout << "RunPeriod set to " << runPeriod << endl;}
39  //AliJetContainer *AddJetContainer(const char *n, TString defaultCutType = "", Float_t jetRadius = 0.4);
40 
41 
42  protected:
43  void ExecOnce();
45  Bool_t Run() ;
47  Double_t getJt(AliVTrack *track, AliEmcalJet *jet, int reverse);
48  Double_t getJt(AliVParticle *track, AliEmcalJet *jet, int reverse);
49  Double_t getDiffR(double phi1, double phi2, double eta1, double eta2);
50 
51 
52  // General histograms
62 
63  //Jt histograms
67  TH1 ****fHistJTBg;
69 
70  TProfile ***fHistPtaVsJt;
71  TProfile ***fHistBgPtaVsJt;
72 
73  //non-invariant
79 
80 
81  //Background statistics
82 
85 
86  //Jet statistics
90  TProfile **fhTrackingEfficiency;
91 
95 
97  //AliJetContainer **fJetsConts; //!Jets
98  //Int_t nJetsConts;
101 
102  TH1F *fhVertexZ;
104 
105  private:
106  //TVector *EtaGapThresholds;
107  //TVector *RGapThresholds;
108  //TVector *KlongBorders;
109  //TVector *XeBorders;
110 
111 
112  const AliVVertex* fPrimaryVertex;
113 
114 
115  TClonesArray *fTracks;
116  TString fTrackArrayName; // track constituents array name
117  TString runPeriod; // run period name
119  AliAnalysisUtils* fVertexHelper;
120 
121 
122  //TVector *CentBinBorders;
123  //TVector *TriggPtBorders;
124  //TVector *AssocPtBorders;
128  AliAnalysisTaskJetJTJT(const AliAnalysisTaskJetJTJT&); // not implemented
129  AliAnalysisTaskJetJTJT &operator=(const AliAnalysisTaskJetJTJT&); // not implemented
130 
132 
133  ClassDef(AliAnalysisTaskJetJTJT, 3) // jet sample analysis task
134 
135 
136 
137 };
138 
139 class JTJTEfficiency { // this part can occurr anywhere inside the outer accolades
140 #define JUNUSED(expr) do { (void)(expr); } while (0)
141  public:
142  enum Mode { kNotUse, kPeriod, kRunNumber, kAuto };
143  enum { kJTPCOnly, kJRaa, kJGlobalTightDCA, kJGlobalDCA, kJGlobalSDD , kJHybrid, kJNTrackCuts };
144 
145 
146 
147  JTJTEfficiency();
148  JTJTEfficiency(const JTJTEfficiency& obj);
150  void SetMode( int i ){ fMode = i; }
151  void SetDataPath(TString s ){ fDataPath=s; }
152  void SetPeriodName(TString s ){ fPeriodStr=s; cout << "Eff: Run Period is set to " << fPeriodStr << endl; }
153  TString GetName() const { return fName; }
154  double GetCorrection( double pt, int icut, double cent ) const ;
155  void SetRunNumber( Long64_t runnum ){ fRunNumber=runnum; }
156 
157  TString GetEffName() ;
158  TString GetEffFullName() ;
159  bool Load();
160  void PrintOut() const {
161  cout<<fInputRootName<<endl;
162  }
163  //void Write();
164 
165  private:
166  int fMode; // Mode. see enum Mode
167  int fPeriod; // Data Period index
168  //AliJTrackCut fTrackCut; // Track Cut Object. TODO:why not pointer?
169  //AliJRunTable fRunTable; // run Table. TODO:why not pointer?
170 
171  TString fDataPath; // locaction of eff files
172  TString fName; // name of efficiency. usually empty
173  TString fPeriodStr; // DATA period
174  TString fMCPeriodStr; // MC period
175  Long64_t fRunNumber; // Runnumber
176  TString fTag; // Tags to distinguish special eff file
177  TString fInputRootName; // name of input
178 
179  TFile * fInputRoot; // input file
180  TDirectory * fEffDir[3]; // root directory of efficiency. only second item of fEffDir with "Efficiency" is being used.
181  TGraphErrors * fCorrection[20][20][20]; // Storage of Correction factor
182  TAxis * fCentBinAxis; // Bin of Centrality. replace with AliJBin?
183 
184 
185 
186 };
187 
188 #endif
TH1 **** fHistJTPta_all
Logarithmic Jet Jt spectrum.
void SetDataPath(TString s)
void setAssocPtBorders(int n, Double_t *c)
void SetPeriodName(TString s)
double Double_t
Definition: External.C:58
void ExecOnce()
Perform steps needed to initialize the analysis.
Definition: External.C:244
void Terminate(Option_t *option)
long long Long64_t
Definition: External.C:43
AliClusterContainer * fCaloClustersCont
Tracks.
TH1 ** fHistClustersPt
Track eta spectrum.
TH1 **** fHistLogJTBg
Jt background.
TCanvas * c
Definition: TestFitELoss.C:172
TProfile ** fhTrackingEfficiency
Track pT in jet.
TH1 *** fHistJetMulti
Jet eta distribution.
Int_t fNpttBins
Tracking efficiency.
TString GetName() const
TH1 *** fHistJetTracksPt
Multiplicity in jet.
TH1 **** fHistJTPtaNonInv
Associated pT vs. Jt in background.
Double_t getJt(AliVTrack *track, AliEmcalJet *jet, int reverse)
Container for particles within the EMCAL framework.
TH1 ** fHistTracksJt
Track pt spectrum.
Bool_t FillHistograms()
Function filling histograms.
Double_t getDiffR(double phi1, double phi2, double eta1, double eta2)
void Load()
Definition: UnfoldingHF.C:238
TProfile ** fHistJetsCorrPtVsNonCorr
Rho corrected Jet pt spectrum.
void SetRunNumber(Long64_t runnum)
TH1 *** fHistJetEta
Background pt distribution.
int Int_t
Definition: External.C:63
const AliVVertex * fPrimaryVertex
Event selection statistics.
Definition: External.C:204
AliParticleContainer * fTracksCont
Jets.
void setCentBinBorders(int n, Double_t *c)
TString fTrackArrayName
tracks array
void setTriggPtBorders(int n, Double_t *c)
TH1 *** fHistBgPt
Multiplicity in background cone.
void setRunPeriod(const char *period)
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 CentBinBorders[10]
Vertex selection helper.
TH1 **** fHistLogJTPtaNonInv
Jet Jt spectrum.
TH1 *** fHistJetsPt
Leading jet pt spectrum.
TH1 ** fHistLeadingJetPt
Cluster pt spectrum.
AliAnalysisTaskJetJTJT & operator=(const AliAnalysisTaskJetJTJT &)
TH1 **** fHistJTPta_allNonInv
Logarithmic Jet Jt spectrum.
TClonesArray * fTracks
Vertex found per event.
TH1 **** fHistJTBg
All particles Jt spectrum.
TH1 *** fHistJetsCorrPt
Jet pt spectrum.
TH1 ** fHistTracksEta
Track jt spectrum.
TH1 **** fHistLogJTPta
Jet Jt spectrum.
Definition: External.C:220
TH1 **** fHistLogJTBgNonInv
Jt background.
TH1 **** fHistJTBgNonInv
All particles Jt spectrum.
TH1 *** fHistBgMulti
Logarithmic Jt background.
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
AliAnalysisUtils * fVertexHelper
AliJ Efficiency.
const char Option_t
Definition: External.C:48
Int_t fRunNumber
!run number (triggering RunChanged()
bool Bool_t
Definition: External.C:53
Int_t kRunNumber
Declare the run number.
TH1 *** fHistBackgroundDone
Corrected versus raw jet pt.
Container structure for EMCAL clusters.
TH1I * fHistEvtSelection
vertexZ inclusive
Container for jet within the EMCAL jet framework.
Definition: External.C:196
TProfile *** fHistPtaVsJt
Logarithmic Jt background.
TH1 **** fHistJTPta
Background test.
TProfile *** fHistBgPtaVsJt
Associated pT vs. Jt in jet.