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