]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraAOD.h
e04139a67ba5fc0b431d9c67301a7f2187931579
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AliAnalysisTaskSpectraAOD.h
1 #ifndef ALIANALYSISTASKSPECTRAAOD_H\r
2 #define ALIANALYSISTASKSPECTRAAOD_H\r
3 \r
4 /*  See cxx source for full Copyright notice */\r
5 \r
6 //-------------------------------------------------------------------------\r
7 //                      AliAnalysisTaskSpectraAOD\r
8 //\r
9 //\r
10 //\r
11 //\r
12 // Author: Michele Floris, CERN\r
13 //-------------------------------------------------------------------------\r
14 \r
15 class TH1F;\r
16 class TH2F;\r
17 class AliAODEvent;\r
18 class AliSpectraAODHistoManager;\r
19 class AliSpectraAODTrackCuts;\r
20 class AliSpectraAODEventCuts;\r
21 #include "AliSpectraAODHistoManager.h"\r
22 #include "AliAnalysisTaskSE.h"\r
23 \r
24 \r
25 class AliAnalysisTaskSpectraAOD : public AliAnalysisTaskSE\r
26 {\r
27 public:\r
28 \r
29    // constructors\r
30    AliAnalysisTaskSpectraAOD() : AliAnalysisTaskSE(), fAOD(0), fHistMan(0), fTrackCuts(0), fEventCuts(0), fIsMC(0), fPIDResponse(0), fNSigmaPID(0), fYCut(0) {}\r
31    AliAnalysisTaskSpectraAOD(const char *name);\r
32    virtual ~AliAnalysisTaskSpectraAOD() {}\r
33 \r
34    void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; };\r
35    Bool_t GetIsMC()           const           { return fIsMC;};\r
36    void SetNSigmaForIdentification (Double_t sigma ) { fNSigmaPID = sigma; }\r
37    Double_t GetNSigmaForIdentification () const {return fNSigmaPID; }\r
38    void SetYCut (Double_t y ) { fYCut = y; }\r
39    Double_t GetYCut () const {return fYCut; }\r
40 \r
41    virtual void   UserCreateOutputObjects();\r
42    Bool_t         CheckYCut(AliSpectraNameSpace::AODParticleSpecies_t species, AliAODTrack* track) const;\r
43    Bool_t         CheckYCut(AliAODMCParticle* particle) const;\r
44    virtual void   UserExec(Option_t *option);\r
45    virtual void   Terminate(Option_t *);\r
46    void SetTrackCuts(AliSpectraAODTrackCuts * tc)   {      fTrackCuts = tc;   }\r
47    void SetEventCuts(AliSpectraAODEventCuts * vc)   {      fEventCuts = vc;   }\r
48 \r
49 private:\r
50 \r
51    AliAODEvent           * fAOD;         //! AOD object\r
52    AliSpectraAODHistoManager      * fHistMan;       // Histogram Manager\r
53    AliSpectraAODTrackCuts      * fTrackCuts;     // Track Cuts\r
54    AliSpectraAODEventCuts      * fEventCuts;     // Event Cuts\r
55    Bool_t          fIsMC;// true if processing MC\r
56    AliPIDResponse                        *fPIDResponse;     // ! PID response object\r
57    Double_t        fNSigmaPID; // Maximum number of sigmas allowed in particle identification\r
58    Double_t        fYCut; // Maximum rapidity - calculated from identified particle's mass\r
59    AliAnalysisTaskSpectraAOD(const AliAnalysisTaskSpectraAOD&);\r
60    AliAnalysisTaskSpectraAOD& operator=(const AliAnalysisTaskSpectraAOD&);\r
61 \r
62    ClassDef(AliAnalysisTaskSpectraAOD, 1);\r
63 };\r
64 \r
65 #endif\r