]>
Commit | Line | Data |
---|---|---|
0aaa8b91 | 1 | #ifndef ALIDNDPTEVENTCUTS_H\r |
2 | #define ALIDNDPTEVENTCUTS_H\r | |
3 | \r | |
4 | //------------------------------------------------------------------------------\r | |
5 | // Class to keep event selection cuts for dNdPt analysis. \r | |
6 | // \r | |
7 | // Author: J.Otwinowski 01/11/2008 \r | |
8 | //------------------------------------------------------------------------------\r | |
9 | \r | |
10 | #include "AliAnalysisCuts.h"\r | |
0aaa8b91 | 11 | \r |
12 | class AliESDEvent;\r | |
13 | class AliESDVertex;\r | |
14 | class AliMCEvent;\r | |
15 | class AliHeader;\r | |
16 | class AliGenEventHeader;\r | |
17 | \r | |
bad4ba69 | 18 | #include "AliPWG0Helper.h"\r |
19 | #include "AlidNdPtHelper.h"\r | |
20 | \r | |
0aaa8b91 | 21 | class AlidNdPtEventCuts : public AliAnalysisCuts\r |
22 | {\r | |
23 | public:\r | |
24 | AlidNdPtEventCuts(const Char_t* name ="AlidNdPtEventCuts", const Char_t *title ="");\r | |
25 | virtual ~AlidNdPtEventCuts(); \r | |
26 | \r | |
27 | // setters \r | |
bad4ba69 | 28 | void SetTriggerRequired(const Bool_t bFlag=kTRUE) {fTriggerRequired=bFlag;}\r |
0aaa8b91 | 29 | void SetRecVertexRequired(const Bool_t bFlag=kTRUE) {fRecVertexRequired=bFlag;}\r |
bad4ba69 | 30 | void SetEventProcessType(AliPWG0Helper::MCProcessType type=AliPWG0Helper::kInvalidProcess) {fEventProcessType=type;}\r |
0aaa8b91 | 31 | void SetNContributorsRange(const Float_t min=0.,const Float_t max=1e99) {fMinNContributors=min; fMaxNContributors=max;}\r |
32 | void SetMaxR(const Float_t max=1e99) {fMaxR=max;}\r | |
33 | void SetZvRange(const Float_t min=-1e99, const Float_t max=1e99) {fMinZv=min; fMaxZv=max;}\r | |
34 | \r | |
35 | void SetMeanXYZv(const Float_t xv=0.0, const Float_t yv=0.0, const Float_t zv=0.0) {\r | |
36 | fMeanXv = xv; fMeanYv = yv; fMeanZv = zv;\r | |
37 | }\r | |
38 | \r | |
39 | void SetSigmaMeanXYZv(const Float_t sxv=1.0, const Float_t syv=1.0, const Float_t szv=10.0) {\r | |
40 | fSigmaMeanXv = sxv; fSigmaMeanYv = syv; fSigmaMeanZv = szv;\r | |
41 | }\r | |
42 | \r | |
bad4ba69 | 43 | void SetRedoTPCVertex(const Bool_t redo = kTRUE) {fRedoTPCVertex = redo;}\r |
44 | void SetUseBeamSpotConstraint(const Bool_t useConstr = kTRUE) {fUseBeamSpotConstraint = useConstr;}\r | |
45 | \r | |
0aaa8b91 | 46 | // getters \r |
bad4ba69 | 47 | Bool_t IsTriggerRequired() const {return fTriggerRequired;}\r |
0aaa8b91 | 48 | Bool_t IsRecVertexRequired() const {return fRecVertexRequired;}\r |
49 | Int_t GetEventProcessType() const {return fEventProcessType;} \r | |
50 | Float_t GetMinNContributors() const {return fMinNContributors;}\r | |
51 | Float_t GetMaxNContributors() const {return fMaxNContributors;}\r | |
52 | Float_t GetMaxR() const {return fMaxR;}\r | |
53 | Float_t GetMinZv() const {return fMinZv;}\r | |
54 | Float_t GetMaxZv() const {return fMaxZv;}\r | |
55 | \r | |
56 | Float_t GetMeanXv() const {return fMeanXv;}\r | |
57 | Float_t GetMeanYv() const {return fMeanYv;}\r | |
58 | Float_t GetMeanZv() const {return fMeanZv;}\r | |
59 | \r | |
60 | Float_t GetSigmaMeanXv() const {return fSigmaMeanXv;}\r | |
61 | Float_t GetSigmaMeanYv() const {return fSigmaMeanYv;}\r | |
62 | Float_t GetSigmaMeanZv() const {return fSigmaMeanZv;}\r | |
63 | \r | |
bad4ba69 | 64 | Bool_t IsRedoTPCVertex() const {return fRedoTPCVertex;}\r |
65 | Bool_t IsUseBeamSpotConstraint() const {return fUseBeamSpotConstraint;}\r | |
66 | \r | |
0aaa8b91 | 67 | // cuts init function\r |
68 | void Init();\r | |
69 | \r | |
70 | // check MC tracks\r | |
9ebbddd4 | 71 | Bool_t IsSelected(TObject *, TObject * /*event */ = 0) {return kTRUE;}\r |
72 | //Bool_t IsSelected(TList *) {return kTRUE;}\r | |
0aaa8b91 | 73 | \r |
74 | // accept event\r | |
75 | Bool_t AcceptEvent(AliESDEvent *event=0, AliMCEvent *mcEvent=0, const AliESDVertex *vtx=0);\r | |
76 | Bool_t AcceptMCEvent(AliMCEvent *mcEvent=0);\r | |
77 | \r | |
78 | // Merge output objects (needed by PROOF) \r | |
79 | virtual Long64_t Merge(TCollection* list);\r | |
80 | \r | |
81 | private:\r | |
bad4ba69 | 82 | Bool_t fTriggerRequired; // trigger required \r |
0aaa8b91 | 83 | Bool_t fRecVertexRequired; // reconstructed event vertex required \r |
84 | Int_t fEventProcessType; // select MC event process type (ND, SD, DD)\r | |
85 | Float_t fMinNContributors; // min. number of contributing vertex tracks\r | |
86 | Float_t fMaxNContributors; // max. number of contributing vertex tracks\r | |
87 | Float_t fMaxR; // max. vertex radii (R = sqrt(Xv^2+Yv^2) \r | |
88 | Float_t fMinZv; // min. Zv vertex\r | |
89 | Float_t fMaxZv; // max. Zv vertex\r | |
90 | \r | |
91 | // interaction spot constraint\r | |
92 | Float_t fMeanXv; // mean Xv position\r | |
93 | Float_t fMeanYv; // mean Yv position\r | |
94 | Float_t fMeanZv; // mean Zv position\r | |
95 | \r | |
96 | Float_t fSigmaMeanXv; // sigma mean Xv position \r | |
97 | Float_t fSigmaMeanYv; // sigma mean Yv position\r | |
98 | Float_t fSigmaMeanZv; // sigma mean Zv position\r | |
99 | \r | |
bad4ba69 | 100 | Bool_t fRedoTPCVertex; // redo vertex\r |
101 | Bool_t fUseBeamSpotConstraint; // use beam spot contraints \r | |
102 | \r | |
0aaa8b91 | 103 | AlidNdPtEventCuts(const AlidNdPtEventCuts&); // not implemented\r |
104 | AlidNdPtEventCuts& operator=(const AlidNdPtEventCuts&); // not implemented\r | |
105 | \r | |
106 | ClassDef(AlidNdPtEventCuts, 1)\r | |
107 | };\r | |
108 | \r | |
109 | #endif // ALIDNDPTEVENTCUTS_H\r |