AliPhysics  608b256 (608b256)
AliEmcalTrackingQATask.h
Go to the documentation of this file.
1 #ifndef ALIEMCALTRACKINGQATASK_H
2 #define ALIEMCALTRACKINGQATASK_H
3 
4 #if !(defined(__CINT__) || defined(__MAKECINT__))
5 #include <tuple>
6 #endif
7 
8 #include <vector>
9 
11 
12 class THnSparse;
13 
26 
27  public:
29  AliEmcalTrackingQATask(const char *name);
30  virtual ~AliEmcalTrackingQATask();
31 
37 
38  static AliEmcalTrackingQATask* AddTaskTrackingQA(Bool_t isMC, const char *suffix = "");
39 
40  protected:
42  void ExecOnce();
43  void GenerateHistoBins() ;
47  void FillDetectorLevelTHnSparse(Double_t cent, Double_t trackEta, Double_t trackPhi, Double_t trackPt,
48  Double_t sigma1OverPt, Int_t mcGen, Byte_t trackType);
49  void FillGeneratorLevelTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt, Int_t mcGen, Byte_t findable);
50  void FillMatchedParticlesTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt,
51  Double_t trackEta, Double_t trackPhi, Double_t trackPt, Byte_t trackType);
52 #if !(defined(__CINT__) || defined(__MAKECINT__))
53  THnSparse* GenerateTHnSparse(const char* name, const std::vector<std::tuple<std::string, std::vector<Double_t>::iterator, std::vector<Double_t>::iterator>>& axis);
54 #endif
55 
56  // Task configuration
61 
62  // Service fields (non-streamed)
66  std::vector<Double_t> fPtHistBins ;
67  std::vector<Double_t> fEtaHistBins ;
68  std::vector<Double_t> fPhiHistBins ;
69  std::vector<Double_t> fCentHistBins ;
70  std::vector<Double_t> fPtRelDiffHistBins ;
71  std::vector<Double_t> fPtResHistBins ;
72  std::vector<Double_t> f1OverPtResHistBins ;
73  std::vector<Double_t> fIntegerHistBins ;
74 
75  // Histograms
76  THnSparse* fTracks ;
77  THnSparse* fParticlesPhysPrim ;
78  THnSparse* fParticlesMatched ;
79 
80  private:
81  AliEmcalTrackingQATask(const AliEmcalTrackingQATask&); // not implemented
82  AliEmcalTrackingQATask &operator=(const AliEmcalTrackingQATask&); // not implemented
83 
84  ClassDef(AliEmcalTrackingQATask, 4) // Track QA task (efficiency and pt resolution)
85 };
86 #endif
std::vector< Double_t > fEtaHistBins
! eta bins
double Double_t
Definition: External.C:58
static AliEmcalTrackingQATask * AddTaskTrackingQA(Bool_t isMC, const char *suffix="")
AliTrackContainer * fDetectorLevel
! detector level container
std::vector< Double_t > fIntegerHistBins
! integer bins
std::vector< Double_t > f1OverPtResHistBins
! 1/pt res bins
Container with name, TClonesArray and cuts for particles.
Bool_t fUseTRDUpdateFlag
Use TRD update flag to separate tracks into gold and semi-gold.
void SetDoSigmaPtOverPtGen(Bool_t s)
THnSparse * GenerateTHnSparse(const char *name, const std::vector< std::tuple< std::string, std::vector< Double_t >::iterator, std::vector< Double_t >::iterator >> &axis)
std::vector< Double_t > fPtHistBins
! pt bins
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 FillDetectorLevelTHnSparse(Double_t cent, Double_t trackEta, Double_t trackPhi, Double_t trackPt, Double_t sigma1OverPt, Int_t mcGen, Byte_t trackType)
Bool_t fIsEsd
! whether it is ESD data
std::vector< Double_t > fPtResHistBins
! pt res bins
int Int_t
Definition: External.C:63
Base task in the EMCAL framework (lighter version of AliAnalysisTaskEmcal)
AliEmcalTrackingQATask & operator=(const AliEmcalTrackingQATask &)
std::vector< Double_t > fCentHistBins
! cent bins
void SetDoSeparateTRDrefit(Bool_t s)
std::vector< Double_t > fPtRelDiffHistBins
! pt relative difference bins
Bool_t isMC
Bool_t fDoSigmaPtOverPtGen
MC: if true do sigma((ptgen - ptdet) / ptgen), otherwise do sigma((ptgen - ptdet) / ptdet) ...
void FillGeneratorLevelTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt, Int_t mcGen, Byte_t findable)
AliMCParticleContainer * fGeneratorLevel
! generator level container
Bool_t fDoSigma1OverPt
add sigma(1/pt), if false add sigma(pt)/pt instead
std::vector< Double_t > fPhiHistBins
! phi bins
bool Bool_t
Definition: External.C:53
THnSparse * fParticlesPhysPrim
all tracks
Bool_t fDoSeparateTRDrefit
Separate tracks into tracks with TRD refit and 4 tracklets (gold) or not (sub-gold) ...
Container for MC-true particles within the EMCAL framework.
THnSparse * fParticlesMatched
all physical primary particles