]>
Commit | Line | Data |
---|---|---|
eec7bbb0 | 1 | #ifndef ALIEMCALTRACKINGQATASK_H |
2 | #define ALIEMCALTRACKINGQATASK_H | |
3 | ||
4 | #include "AliAnalysisTaskEmcal.h" | |
5 | ||
6 | class AliParticleContainer; | |
7 | class THnSparse; | |
8 | class TH3; | |
9 | ||
10 | class AliEmcalTrackingQATask : public AliAnalysisTaskEmcal { | |
11 | ||
12 | public: | |
13 | AliEmcalTrackingQATask(); | |
14 | AliEmcalTrackingQATask(const char *name); | |
15 | virtual ~AliEmcalTrackingQATask(); | |
16 | ||
17 | void UserCreateOutputObjects(); | |
18 | void SetGeneratorLevelName(const char* name); | |
19 | void SetDetectorLevelName(const char* name); | |
e00c3b87 | 20 | void SetSelectHIJING(Bool_t s) {fSelectHIJING = s; } |
21 | void SetDoSigma1OverPt(Bool_t s) {fDoSigma1OverPt = s; } | |
22 | void SetDoSigmaPtOverPtGen(Bool_t s) {fDoSigmaPtOverPtGen = s; } | |
eec7bbb0 | 23 | |
24 | protected: | |
25 | Bool_t FillHistograms() ; | |
26 | void ExecOnce() ; | |
427d6cf5 | 27 | void GenerateHistoBins() ; |
db9194f4 | 28 | void AllocateDetectorLevelTHnSparse() ; |
29 | void AllocateGeneratorLevelTHnSparse() ; | |
eec7bbb0 | 30 | void AllocateMatchedParticlesTHnSparse() ; |
1876c758 | 31 | void FillDetectorLevelTHnSparse(Double_t cent, Double_t trackEta, Double_t trackPhi, Double_t trackPt, |
32 | Double_t sigma1OverPt, Int_t mcGen, Byte_t trackType); | |
33 | void FillGeneratorLevelTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt, Int_t mcGen, Byte_t findable); | |
eec7bbb0 | 34 | void FillMatchedParticlesTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt, |
35 | Double_t trackEta, Double_t trackPhi, Double_t trackPt, Byte_t trackType); | |
36 | ||
37 | // Task configuration | |
d7ab1a93 | 38 | Bool_t fSelectHIJING ; // select HIJING particles |
8c96eb55 | 39 | Bool_t fDoSigma1OverPt ; // add sigma(1/pt), if false add sigma(pt)/pt instead |
e00c3b87 | 40 | Bool_t fDoSigmaPtOverPtGen ; // MC: if true do sigma((ptgen - ptdet) / ptgen), otherwise do sigma((ptgen - ptdet) / ptdet) |
eec7bbb0 | 41 | |
42 | // Service fields (non-streamed) | |
43 | AliParticleContainer* fGeneratorLevel ; //! generator level container | |
44 | AliParticleContainer* fDetectorLevel ; //! detector level container | |
427d6cf5 | 45 | Int_t fNPtHistBins ; //! number of pt bins |
46 | Double_t* fPtHistBins ; //! pt bins | |
47 | Int_t fNEtaHistBins ; //! number of eta bins | |
48 | Double_t* fEtaHistBins ; //! eta bins | |
49 | Int_t fNPhiHistBins ; //! number of phi bins | |
50 | Double_t* fPhiHistBins ; //! phi bins | |
51 | Int_t fNCentHistBins ; //! number of cent bins | |
52 | Double_t* fCentHistBins ; //! cent bins | |
8c96eb55 | 53 | Int_t fNPtRelDiffHistBins ; //! number of pt relative difference bins |
54 | Double_t* fPtRelDiffHistBins ; //! pt relative difference bins | |
427d6cf5 | 55 | Int_t fNPtResHistBins ; //! number of pt res bins |
8c96eb55 | 56 | Double_t* fPtResHistBins ; //! pt res bins |
57 | Double_t* f1OverPtResHistBins ; //! 1/pt res bins | |
1876c758 | 58 | Int_t fN1OverPtResHistBins ; //! number of 1/pt res bins |
427d6cf5 | 59 | Int_t fNIntegerHistBins ; //! number of integer bins |
60 | Double_t* fIntegerHistBins ; //! integer bins | |
61 | ||
eec7bbb0 | 62 | |
63 | // Histograms | |
1876c758 | 64 | THnSparse* fTracks ; //! all tracks |
65 | THnSparse* fParticlesPhysPrim ; //! all physical primary particles | |
eec7bbb0 | 66 | THnSparse* fParticlesMatched ; //! primary particles matched to detector level tracks |
67 | ||
68 | private: | |
69 | AliEmcalTrackingQATask(const AliEmcalTrackingQATask&); // not implemented | |
70 | AliEmcalTrackingQATask &operator=(const AliEmcalTrackingQATask&); // not implemented | |
71 | ||
e00c3b87 | 72 | ClassDef(AliEmcalTrackingQATask, 3) // Track QA task (efficiency and pt resolution) |
eec7bbb0 | 73 | }; |
74 | #endif |