]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/extra/AliAnalysisTaskSigma1385.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / extra / AliAnalysisTaskSigma1385.h
1 #ifndef ALIANALYSISTASKSIGMA1385_H
2 #define ALIANALYSISTASKSIGMA1385_H
3
4 /*  See cxx source for full Copyright notice */
5
6 //-----------------------------------------------------------------
7 //                 AliAnalysisTaskSigma1385 class
8 //-----------------------------------------------------------------
9
10 class TList;
11 class TH1F;
12 class TNtuple;
13 class AliESDcascade;
14 class AliESDpid;
15 class AliTOFT0maker;
16 class AliTOFcalib;
17 class AliCDBManager;
18 class AliESDtrackCuts;
19
20
21 #include "TString.h"
22 #include "AliAnalysisTaskSE.h"
23
24 class AliAnalysisTaskSigma1385 : public AliAnalysisTaskSE {
25 public:
26    AliAnalysisTaskSigma1385();
27    AliAnalysisTaskSigma1385(const char *name);
28    virtual ~AliAnalysisTaskSigma1385() {}
29
30    virtual void   UserCreateOutputObjects();
31    virtual void   UserExec(Option_t *option);
32    virtual void   Terminate(Option_t *);
33
34    void SetCollidingSystems(Short_t collidingSystems = 0)     {fCollidingSystems = collidingSystems;}
35    void SetAnalysisType(const char* analysisType = "ESD") {fAnalysisType = analysisType;}
36    void SetDataType(const char* dataType = "REAL") {fDataType = dataType;}
37
38    virtual const char *GetDataType() {return fDataType;}
39
40    //Bool_t *IsSelected(AliESDtrack* track);
41    void IsSelected(AliESDtrack* track);
42
43
44    void             SetCheckITS(Bool_t yn = kTRUE) {fCheckITS = yn;}
45    void             SetCheckTPC(Bool_t yn = kTRUE) {fCheckTPC = yn;}
46    void             SetCheckTOF(Bool_t yn = kTRUE) {fCheckTOF = yn;}
47    void             SetUseGlobal(Bool_t yn = kTRUE) {fUseGlobal = yn;}
48    void             SetUseITSSA(Bool_t yn = kTRUE) {fUseITSSA = yn;}
49
50    void             SetITSband(Double_t v) {fMaxITSband = v;}
51
52    void             SetTPCpLimit(Double_t v) {fTPCpLimit = v;}
53    void             SetTPCrange(Double_t min, Double_t max) {fMinTPCband = min; fMaxTPCband = max;}
54    void             SetTPCpar(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4)
55    {fTPCpar[0] = p0; fTPCpar[1] = p1; fTPCpar[2] = p2; fTPCpar[3] = p3; fTPCpar[4] = p4;}
56
57    void             SetTOFcalibrateESD(Bool_t yn = kTRUE)  {fTOFcalibrateESD = yn;}
58    void             SetTOFcorrectTExp(Bool_t yn = kTRUE)  {fTOFcorrectTExp = yn;}
59    void             SetTOFuseT0(Bool_t yn = kTRUE)  {fTOFuseT0 = yn;}
60    void             SetTOFtuneMC(Bool_t yn = kTRUE)  {fTOFtuneMC = yn;}
61    void             SetTOFresolution(Double_t v = 100.0) {fTOFresolution = v;}
62    void             SetTOFrange(Double_t v1, Double_t v2) {fMinTOF = v1; fMaxTOF = v2;}
63
64
65
66 protected:
67
68    Bool_t           fisMC;             //  switch for MC analysis (support member)
69    Bool_t           fIsMC;             //  switch for MC analysis
70    Bool_t           fCheckITS;         //  switch for ITS dE/dx check
71    Bool_t           fCheckTPC;         //  switch for TPC dE/dx check
72    Bool_t           fCheckTOF;         //  switch for TOF time check
73    Bool_t           fUseGlobal;        //  switch to use TPC global tracks
74    Bool_t           fUseITSSA;         //  switch to use ITS standalone tracks
75
76    Double_t         fMaxITSband;       //  range for ITS de/dx band
77
78    Double_t         fTPCpLimit;        //  limit to choose what band to apply
79    Double_t         fTPCpar[5];        //  parameters for TPC bethe-Bloch
80    Double_t         fMinTPCband;       //  range for TPC de/dx band - min
81    Double_t         fMaxTPCband;       //  range for TPC de/dx band - max
82
83
84    AliESDpid       *fESDpid;           //! PID manager
85    AliTOFT0maker   *fTOFmaker;         //! TOF time0 computator
86    AliTOFcalib     *fTOFcalib;         //! TOF calibration
87    Bool_t           fTOFcalibrateESD;  //  TOF settings
88    Bool_t           fTOFcorrectTExp;   //  TOF settings
89    Bool_t           fTOFuseT0;         //  TOF settings
90    Bool_t           fTOFtuneMC;        //  TOF settings
91    Double_t         fTOFresolution;    //  TOF settings
92    Double_t         fMinTOF;           //  range for TOF PID (min)
93    Double_t         fMaxTOF;           //  range for TOF PID (max)
94    Int_t            fLastRun;          //  last run number
95    Bool_t           fOkTrack[5];       //  utility variable to know track selection success
96
97
98 private:
99
100    TString fAnalysisType;                  // "ESD" or "AOD" analysis type
101    Short_t fCollidingSystems;              // 0 = pp collisions or 1 = AA collisions
102    TString fDataType;                      // "REAL" or "SIM" data type
103   
104    TList   *fListHistCascade;               //! List of Cascade histograms
105    TH1F    *fHistEventMultiplicity;        // event multiplicity
106    TH1F    *fHistEventMultiplicityRAVS;    //event rejected after vertex selection
107    TNtuple *fNtuple1;                      // ntuple with general quantities
108    TNtuple *fNtuple2;                      // ntuple with Lambda related quantities
109    TNtuple *fNtuple3;                      // ntuple with bachelor related quantities
110    TNtuple *fNtuple4;                      // ntuple with Sigma1385 related quantities
111    
112
113
114    AliAnalysisTaskSigma1385(const AliAnalysisTaskSigma1385&);            // not implemented
115    AliAnalysisTaskSigma1385& operator=(const AliAnalysisTaskSigma1385&); // not implemented
116
117    ClassDef(AliAnalysisTaskSigma1385, 3);
118 };
119
120 #endif