Splitted the PID cuts into three classes for ITS, TPC and TOF, and added the possibil...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / extra / AliRsnAnalysisPhi900GeV.h
CommitLineData
ca8d2905 1//
2// Header file for implementation of data analysis aft 900 GeV
3//
4// Author: A. Pulvirenti
5//
6
7#ifndef ALIRSNANALYSISPHI900GEV_H
8#define ALIRSNANALYSISPHI900GEV_H
b9bbd271 9
10#include "AliAnalysisTaskSE.h"
11#include "AliRsnTOFT0maker.h"
12
d7417f01 13class TH1I;
b9bbd271 14class TTree;
d7417f01 15
16class AliStack;
b9bbd271 17class AliESDEvent;
18class AliESDVertex;
b9bbd271 19
20class AliRsnAnalysisPhi900GeV : public AliAnalysisTaskSE
21{
22 public:
23
24 AliRsnAnalysisPhi900GeV(const char *name = "Phi900GeV");
25 AliRsnAnalysisPhi900GeV(const AliRsnAnalysisPhi900GeV& copy);
26 AliRsnAnalysisPhi900GeV& operator=(const AliRsnAnalysisPhi900GeV& copy);
27 virtual ~AliRsnAnalysisPhi900GeV();
28
29 void SetUseMC(Bool_t yn = kTRUE) {fUseMC = yn;}
30 void SetMaxDCAr(Double_t v) {fDCAr = v;}
31 void SetMaxDCAz(Double_t v) {fDCAz = v;}
32 void SetMaxChi2(Double_t v) {fChi2 = v;}
33 void SetMinNTPC(Int_t n) {fNTPC = n;}
d7417f01 34 void SetTPCparams(Bool_t isMC);
b9bbd271 35 void SetTPCrange(Double_t min, Double_t max) {fMinTPC = min; fMaxTPC = max;}
36 void SetTPCpar(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4)
37 {fTPCpar[0]=p0;fTPCpar[1]=p1;fTPCpar[2]=p2;fTPCpar[3]=p3;fTPCpar[4]=p4;}
38
d7417f01 39 void SetTOFESD(Bool_t yn = kTRUE) {fTOFESD = yn;}
40 void SetTOFSigma(Double_t v) {fTOFSigma = v;}
41 void SetTOFSettings(AliRsnTOFT0maker::ESettings set) {fTOFSettings = set;}
42
b9bbd271 43 virtual void UserCreateOutputObjects();
44 virtual void UserExec(Option_t *option = "");
45 virtual void Terminate(Option_t *option = "");
46
47 private:
48
49 void ProcessESD(AliESDEvent *esd, const AliESDVertex *v, Double_t time0, AliStack *stack);
50 void ProcessMC(AliStack *stack);
ca8d2905 51 Double_t AlephBB(Double_t p, Double_t mass = 0.493677) const;
b9bbd271 52 Double_t RemakeTOFtimeMC(AliESDEvent *& esd);
53
ca8d2905 54 Bool_t fUseMC; // use MC or data?
b9bbd271 55
ca8d2905 56 Short_t fPDG; // PDG code
57 Float_t fIM; // inv mass
58 Float_t fPt; // transv momentum
59 Float_t fY; // rapidity
60 Float_t fEta; // pseud-o-rapidity
b9bbd271 61
ca8d2905 62 Double_t fDCAr; // transverse DCA
63 Double_t fDCAz; // longitudinal DCA
64 Double_t fChi2; // track chi2
65 Int_t fNTPC; // number of TPC clusters
66
67 Double_t fTPCpar[5]; // parameters for TPC bethe-Bloch
68 Double_t fMinTPC; // range for TPC de/dx band - min
69 Double_t fMaxTPC; // range for TPC de/dx band - max
70
71 TTree *fOutTree[2]; // output tree
72 TList *fOutList; // list for output event counts
73 TH1I *fHEvents; // histogram of event types
b9bbd271 74
75 Bool_t fTOFESD; // TOF flag to check if ESD data should be used
76 Double_t fTOFSigma; // TOF default resolution
77 AliRsnTOFT0maker *fTOFmaker; //! TOF time0 computator
78 AliRsnTOFT0maker::ESettings fTOFSettings; // TOF settings
79
80 // ROOT dictionary
81 ClassDef(AliRsnAnalysisPhi900GeV,1)
82};
83
84#endif