AliPhysics  e59a9ba (e59a9ba)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEmcalTrackingQATask.h
Go to the documentation of this file.
1 #ifndef ALIEMCALTRACKINGQATASK_H
2 #define ALIEMCALTRACKINGQATASK_H
3 
4 #include "AliAnalysisTaskEmcal.h"
5 
7 class THnSparse;
8 class TH3;
9 
11 
12  public:
14  AliEmcalTrackingQATask(const char *name);
15  virtual ~AliEmcalTrackingQATask();
16 
18  void SetGeneratorLevelName(const char* name);
19  void SetDetectorLevelName(const char* name);
20  void SetDoSigma1OverPt(Bool_t s) {fDoSigma1OverPt = s; }
22 
23  protected:
24  Bool_t FillHistograms() ;
25  void ExecOnce() ;
26  void GenerateHistoBins() ;
30  void FillDetectorLevelTHnSparse(Double_t cent, Double_t trackEta, Double_t trackPhi, Double_t trackPt,
31  Double_t sigma1OverPt, Int_t mcGen, Byte_t trackType);
32  void FillGeneratorLevelTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt, Int_t mcGen, Byte_t findable);
33  void FillMatchedParticlesTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt,
34  Double_t trackEta, Double_t trackPhi, Double_t trackPt, Byte_t trackType);
35 
36  // Task configuration
37  Bool_t fDoSigma1OverPt ; // add sigma(1/pt), if false add sigma(pt)/pt instead
38  Bool_t fDoSigmaPtOverPtGen ; // MC: if true do sigma((ptgen - ptdet) / ptgen), otherwise do sigma((ptgen - ptdet) / ptdet)
39 
40  // Service fields (non-streamed)
43  Int_t fNPtHistBins ;
44  Double_t* fPtHistBins ;
45  Int_t fNEtaHistBins ;
46  Double_t* fEtaHistBins ;
47  Int_t fNPhiHistBins ;
48  Double_t* fPhiHistBins ;
49  Int_t fNCentHistBins ;
50  Double_t* fCentHistBins ;
52  Double_t* fPtRelDiffHistBins ;
53  Int_t fNPtResHistBins ;
54  Double_t* fPtResHistBins ;
55  Double_t* f1OverPtResHistBins ;
58  Double_t* fIntegerHistBins ;
59 
60 
61  // Histograms
62  THnSparse* fTracks ;
63  THnSparse* fParticlesPhysPrim ;
64  THnSparse* fParticlesMatched ;
65 
66  private:
67  AliEmcalTrackingQATask(const AliEmcalTrackingQATask&); // not implemented
68  AliEmcalTrackingQATask &operator=(const AliEmcalTrackingQATask&); // not implemented
69 
70  ClassDef(AliEmcalTrackingQATask, 3) // Track QA task (efficiency and pt resolution)
71 };
72 #endif
Double_t * fPtRelDiffHistBins
number of pt relative difference bins
void SetGeneratorLevelName(const char *name)
AliTrackContainer * fDetectorLevel
generator level container
Base task in the EMCAL framework.
Container with name, TClonesArray and cuts for particles.
void SetDetectorLevelName(const char *name)
Int_t fNPtResHistBins
pt relative difference bins
void SetDoSigmaPtOverPtGen(Bool_t s)
Int_t fNPtHistBins
detector level container
Container for particles within the EMCAL framework.
Double_t * fCentHistBins
number of cent bins
Double_t * fPtResHistBins
number of pt res bins
Double_t * fEtaHistBins
number of eta 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)
AliEmcalTrackingQATask & operator=(const AliEmcalTrackingQATask &)
Double_t * f1OverPtResHistBins
pt res bins
THnSparse * fTracks
integer bins
void FillGeneratorLevelTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt, Int_t mcGen, Byte_t findable)
Int_t fNIntegerHistBins
number of 1/pt res bins
AliMCParticleContainer * fGeneratorLevel
Double_t * fPtHistBins
number of pt bins
Double_t * fIntegerHistBins
number of integer bins
Int_t fNPtRelDiffHistBins
cent bins
Double_t * fPhiHistBins
number of phi bins
THnSparse * fParticlesPhysPrim
all tracks
Container for MC-true particles within the EMCAL framework.
Int_t fN1OverPtResHistBins
1/pt res bins
THnSparse * fParticlesMatched
all physical primary particles