AliPhysics  cda3415 (cda3415)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskPWGJEQA.h
Go to the documentation of this file.
1 
11 #ifndef ALIANALYSISTASKPWGJEQA_H
12 #define ALIANALYSISTASKPWGJEQA_H
13 
14 /* Copyright(c) 1998-2016, ALICE Experiment at CERN, All rights reserved. *
15  * See cxx source for full Copyright notice */
16 
17 class TH1;
18 class TH2;
19 class TH3;
20 class THnSparse;
21 
22 #include "THistManager.h"
23 #include "AliTLorentzVector.h"
24 //#include "AliAnalysisTaskEmcalJetLight.h"
26 
34 
35 public:
36 
37  struct EventQA_t {
38  EventQA_t() : fCent(0), fNTracks(0), fMaxTrack() { fNClusters[0] = 0; fNClusters[1] = 0; fNClusters[2] = 0;}
44  };
45 
46  enum ClusterType {
47  kNA = -1,
48  kEMCal = 0,
49  kDCal = 1,
50  kPHOS = 2
51  };
52 
54  AliAnalysisTaskPWGJEQA(const char *name);
55  virtual ~AliAnalysisTaskPWGJEQA();
56 
58 
59  void SetCellEnergyCut(Float_t cut) { fCellEnergyCut = cut ; }
61  void SetPtBin(Float_t w, Float_t max) { fPtBinWidth = w; fMaxPt = max ; }
62  void SetGeneratorLevelName(const char* name) { fGeneratorLevelName = name ; }
63  void SetDetectorLevelName(const char* name) { fDetectorLevelName = name ; }
64 
65  void SetDoTrackQA(Bool_t b) { fDoTrackQA = b; }
66  void SetDoEmcalQA(Bool_t b) { fDoEmcalQA = b; }
67  void SetDoJetQA(Bool_t b) { fDoJetQA = b; }
68  void SetDoEventQA(Bool_t b) { fDoEventQA = b; }
69 
70 protected:
71 
72  void ExecOnce() ;
75 
77  void AllocateCellHistograms() ;
79  void AllocateJetHistograms() ;
81 
82  void FillTrackHistograms() ;
83  void FillCellHistograms() ;
84  void FillClusterHistograms() ;
85  void FillJetHistograms() ;
86  void FillEventQAHistograms() ;
87 
88  void GenerateHistoBins() ;
92  void FillDetectorLevelTHnSparse(Double_t cent, Double_t trackEta, Double_t trackPhi, Double_t trackPt,
93  Double_t sigma1OverPt, Byte_t trackType);
94  void FillGeneratorLevelTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt);
95  void FillMatchedParticlesTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt,
96  Double_t trackEta, Double_t trackPhi, Double_t trackPt, Byte_t trackType);
97 
112 
113  // Service fields (non-streamed)
132 
133  // Histograms
134  THnSparse* fTracks ;
135  THnSparse* fParticlesPhysPrim ;
136  THnSparse* fParticlesMatched ;
137 
139 
140 private:
141  AliAnalysisTaskPWGJEQA(const AliAnalysisTaskPWGJEQA&); // not implemented
142  AliAnalysisTaskPWGJEQA &operator=(const AliAnalysisTaskPWGJEQA&); // not implemented
143 
145  ClassDef(AliAnalysisTaskPWGJEQA, 1);
147 };
148 #endif
Bool_t fDoEmcalQA
Set whether to enable cell/cluster QA.
Double_t * fEtaHistBins
number of eta bins
Double_t * fPtResHistBins
number of pt res bins
Bool_t fDoEventQA
Set whether to enable event QA.
double Double_t
Definition: External.C:58
Int_t fN1OverPtResHistBins
1/pt res bins
Float_t fPtBinWidth
Histogram pt bin width.
Definition: External.C:244
Int_t fNPtResHistBins
pt relative difference bins
AliTrackContainer * fDetectorLevel
generator level container
Container with name, TClonesArray and cuts for particles.
Declaration of class AliTLorentzVector.
AliAnalysisTaskPWGJEQA()
Default constructor for ROOT I/O purposes.
THnSparse * fTracks
integer bins
THistManager fHistManager
primary particles matched to detector level tracks
Int_t fNTotClusters[3]
!Total number of accepted clusters in current event (DCal/EMCal)
TString fDetectorLevelName
detector level container name
Bool_t fDoTrackQA
Set whether to enable track QA.
void SetCellEnergyCut(Float_t cut)
THnSparse * fParticlesPhysPrim
all tracks
Double_t * fPtHistBins
number of pt bins
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
AliAnalysisTaskPWGJEQA & operator=(const AliAnalysisTaskPWGJEQA &)
void FillDetectorLevelTHnSparse(Double_t cent, Double_t trackEta, Double_t trackPhi, Double_t trackPt, Double_t sigma1OverPt, Byte_t trackType)
Bool_t fSeparateEMCalDCal
Separate EMCal from DCal in QA plots.
Int_t fNTotTracks
!Total number of accepted tracks in current event
Float_t fCellEnergyCut
Energy cell cut.
Double_t * fPtRelDiffHistBins
number of pt relative difference bins
Int_t fNPtHistBins
detector level container
void SetGeneratorLevelName(const char *name)
Int_t fNIntegerHistBins
number of 1/pt res bins
Double_t * f1OverPtResHistBins
pt res bins
Double_t * fIntegerHistBins
number of integer bins
void SetDetectorLevelName(const char *name)
void FillMatchedParticlesTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt, Double_t trackEta, Double_t trackPhi, Double_t trackPt, Byte_t trackType)
void FillGeneratorLevelTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt)
AliTLorentzVector fLeadingTrack
!Leading track in current event
Definition: External.C:220
void GenerateHistoBins()
Generate histogram binning arrays for track histograms.
This is a task used to do basic PWGJE QA on tracks, clusters, and jets. Based on code from Salvatore ...
void SetPtBin(Float_t w, Float_t max)
Base task in the EMCAL jet framework.
Container class for histograms.
Definition: THistManager.h:43
Bool_t fDoJetQA
Set whether to enable jet QA.
TString fGeneratorLevelName
generator level container name
Float_t fMaxPt
Histogram pt limit.
AliMCParticleContainer * fGeneratorLevel
bool Bool_t
Definition: External.C:53
Double_t * fCentHistBins
number of cent bins
THnSparse * fParticlesMatched
all physical primary particles
Container for MC-true particles within the EMCAL framework.
Definition: External.C:196
Double_t * fPhiHistBins
number of phi bins
AliTLorentzVector fLeadingCluster[3]
!Leading cluster in current event (EMCal/DCal)