-#ifndef ALIDNDPTEVENTCUTS_H\r
-#define ALIDNDPTEVENTCUTS_H\r
-\r
-//------------------------------------------------------------------------------\r
-// Class to keep event selection cuts for dNdPt analysis. \r
-// \r
-// Author: J.Otwinowski 01/11/2008 \r
-//------------------------------------------------------------------------------\r
-\r
-#include "AliAnalysisCuts.h"\r
-\r
-class AliESDEvent;\r
-class AliESDVertex;\r
-class AliMCEvent;\r
-class AliHeader;\r
-class AliGenEventHeader;\r
-\r
-#include "AliPWG0Helper.h"\r
-#include "AlidNdPtHelper.h"\r
-\r
-class AlidNdPtEventCuts : public AliAnalysisCuts\r
-{\r
-public:\r
- AlidNdPtEventCuts(const Char_t* name ="AlidNdPtEventCuts", const Char_t *title ="");\r
- virtual ~AlidNdPtEventCuts(); \r
- \r
- // setters \r
- void SetTriggerRequired(const Bool_t bFlag=kTRUE) {fTriggerRequired=bFlag;}\r
- void SetRecVertexRequired(const Bool_t bFlag=kTRUE) {fRecVertexRequired=bFlag;}\r
- void SetEventProcessType(AliPWG0Helper::MCProcessType type=AliPWG0Helper::kInvalidProcess) {fEventProcessType=type;}\r
- void SetNContributorsRange(const Float_t min=0.,const Float_t max=1e99) {fMinNContributors=min; fMaxNContributors=max;}\r
- void SetMaxR(const Float_t max=1e99) {fMaxR=max;}\r
- void SetZvRange(const Float_t min=-1e99, const Float_t max=1e99) {fMinZv=min; fMaxZv=max;}\r
-\r
- void SetMeanXYZv(const Float_t xv=0.0, const Float_t yv=0.0, const Float_t zv=0.0) {\r
- fMeanXv = xv; fMeanYv = yv; fMeanZv = zv;\r
- }\r
-\r
- void SetSigmaMeanXYZv(const Float_t sxv=1.0, const Float_t syv=1.0, const Float_t szv=10.0) {\r
- fSigmaMeanXv = sxv; fSigmaMeanYv = syv; fSigmaMeanZv = szv;\r
- }\r
-\r
-\r
- void SetRedoTPCVertex(const Bool_t redo = kTRUE) {fRedoTPCVertex = redo;}\r
- void SetUseBeamSpotConstraint(const Bool_t useConstr = kTRUE) {fUseBeamSpotConstraint = useConstr;}\r
- void SetEventSelectedRequired(const Bool_t evtSel = kTRUE) {fEventSelectedRequired = evtSel;} \r
-\r
-\r
- // getters \r
- Bool_t IsEventSelectedRequired() const {return fEventSelectedRequired;}\r
- Bool_t IsTriggerRequired() const {return fTriggerRequired;}\r
- Bool_t IsRecVertexRequired() const {return fRecVertexRequired;}\r
- Int_t GetEventProcessType() const {return fEventProcessType;} \r
- Float_t GetMinNContributors() const {return fMinNContributors;}\r
- Float_t GetMaxNContributors() const {return fMaxNContributors;}\r
- Float_t GetMaxR() const {return fMaxR;}\r
- Float_t GetMinZv() const {return fMinZv;}\r
- Float_t GetMaxZv() const {return fMaxZv;}\r
-\r
- Float_t GetMeanXv() const {return fMeanXv;}\r
- Float_t GetMeanYv() const {return fMeanYv;}\r
- Float_t GetMeanZv() const {return fMeanZv;}\r
-\r
- Float_t GetSigmaMeanXv() const {return fSigmaMeanXv;}\r
- Float_t GetSigmaMeanYv() const {return fSigmaMeanYv;}\r
- Float_t GetSigmaMeanZv() const {return fSigmaMeanZv;}\r
- \r
- Bool_t IsRedoTPCVertex() const {return fRedoTPCVertex;}\r
- Bool_t IsUseBeamSpotConstraint() const {return fUseBeamSpotConstraint;}\r
-\r
-\r
- // cuts init function\r
- void Init();\r
-\r
- // check MC tracks\r
- Bool_t IsSelected(TObject *) {return kTRUE;}\r
- Bool_t IsSelected(TList *) {return kTRUE;}\r
-\r
- // accept event\r
- Bool_t AcceptEvent(AliESDEvent *event=0, AliMCEvent *mcEvent=0, const AliESDVertex *vtx=0);\r
- Bool_t AcceptMCEvent(AliMCEvent *mcEvent=0);\r
-\r
- // Merge output objects (needed by PROOF) \r
- virtual Long64_t Merge(TCollection* list);\r
-\r
-private:\r
- Bool_t fTriggerRequired; // trigger required \r
- Bool_t fRecVertexRequired; // reconstructed event vertex required \r
- Int_t fEventProcessType; // select MC event process type (ND, SD, DD)\r
- Float_t fMinNContributors; // min. number of contributing vertex tracks\r
- Float_t fMaxNContributors; // max. number of contributing vertex tracks\r
- Float_t fMaxR; // max. vertex radii (R = sqrt(Xv^2+Yv^2) \r
- Float_t fMinZv; // min. Zv vertex\r
- Float_t fMaxZv; // max. Zv vertex\r
-\r
- // interaction spot constraint\r
- Float_t fMeanXv; // mean Xv position\r
- Float_t fMeanYv; // mean Yv position\r
- Float_t fMeanZv; // mean Zv position\r
-\r
- Float_t fSigmaMeanXv; // sigma mean Xv position \r
- Float_t fSigmaMeanYv; // sigma mean Yv position\r
- Float_t fSigmaMeanZv; // sigma mean Zv position\r
- \r
- Bool_t fRedoTPCVertex; // redo vertex\r
- Bool_t fUseBeamSpotConstraint; // use beam spot contraints \r
-\r
- Bool_t fEventSelectedRequired; // event with at least one track (pT>0.5 GeV, |eta|<0.8) required\r
-\r
- AlidNdPtEventCuts(const AlidNdPtEventCuts&); // not implemented\r
- AlidNdPtEventCuts& operator=(const AlidNdPtEventCuts&); // not implemented\r
-\r
- ClassDef(AlidNdPtEventCuts, 2)\r
-};\r
-\r
-#endif // ALIDNDPTEVENTCUTS_H\r
+#ifndef ALIDNDPTEVENTCUTS_H
+#define ALIDNDPTEVENTCUTS_H
+
+//------------------------------------------------------------------------------
+// Class to keep event selection cuts for dNdPt analysis.
+//
+// Author: J.Otwinowski 01/11/2008
+//------------------------------------------------------------------------------
+
+#include "AliAnalysisCuts.h"
+
+class AliESDEvent;
+class AliESDVertex;
+class AliMCEvent;
+class AliHeader;
+class AliGenEventHeader;
+
+#include "AliPWG0Helper.h"
+#include "AlidNdPtHelper.h"
+
+class AlidNdPtEventCuts : public AliAnalysisCuts
+{
+public:
+ AlidNdPtEventCuts(const Char_t* name ="AlidNdPtEventCuts", const Char_t *title ="");
+ virtual ~AlidNdPtEventCuts();
+
+ // setters
+ void SetTriggerRequired(const Bool_t bFlag=kTRUE) {fTriggerRequired=bFlag;}
+ void SetRecVertexRequired(const Bool_t bFlag=kTRUE) {fRecVertexRequired=bFlag;}
+ void SetEventProcessType(AliPWG0Helper::MCProcessType type=AliPWG0Helper::kInvalidProcess) {fEventProcessType=type;}
+ void SetNContributorsRange(const Float_t min=0.,const Float_t max=1e99) {fMinNContributors=min; fMaxNContributors=max;}
+ void SetMaxR(const Float_t max=1e99) {fMaxR=max;}
+ void SetZvRange(const Float_t min=-1e99, const Float_t max=1e99) {fMinZv=min; fMaxZv=max;}
+
+ void SetMeanXYZv(const Float_t xv=0.0, const Float_t yv=0.0, const Float_t zv=0.0) {
+ fMeanXv = xv; fMeanYv = yv; fMeanZv = zv;
+ }
+
+ void SetSigmaMeanXYZv(const Float_t sxv=1.0, const Float_t syv=1.0, const Float_t szv=10.0) {
+ fSigmaMeanXv = sxv; fSigmaMeanYv = syv; fSigmaMeanZv = szv;
+ }
+
+
+ void SetRedoTPCVertex(const Bool_t redo = kTRUE) {fRedoTPCVertex = redo;}
+ void SetUseBeamSpotConstraint(const Bool_t useConstr = kTRUE) {fUseBeamSpotConstraint = useConstr;}
+ void SetEventSelectedRequired(const Bool_t evtSel = kTRUE) {fEventSelectedRequired = evtSel;}
+
+
+ // getters
+ Bool_t IsEventSelectedRequired() const {return fEventSelectedRequired;}
+ Bool_t IsTriggerRequired() const {return fTriggerRequired;}
+ Bool_t IsRecVertexRequired() const {return fRecVertexRequired;}
+ Int_t GetEventProcessType() const {return fEventProcessType;}
+ Float_t GetMinNContributors() const {return fMinNContributors;}
+ Float_t GetMaxNContributors() const {return fMaxNContributors;}
+ Float_t GetMaxR() const {return fMaxR;}
+ Float_t GetMinZv() const {return fMinZv;}
+ Float_t GetMaxZv() const {return fMaxZv;}
+
+ Float_t GetMeanXv() const {return fMeanXv;}
+ Float_t GetMeanYv() const {return fMeanYv;}
+ Float_t GetMeanZv() const {return fMeanZv;}
+
+ Float_t GetSigmaMeanXv() const {return fSigmaMeanXv;}
+ Float_t GetSigmaMeanYv() const {return fSigmaMeanYv;}
+ Float_t GetSigmaMeanZv() const {return fSigmaMeanZv;}
+
+ Bool_t IsRedoTPCVertex() const {return fRedoTPCVertex;}
+ Bool_t IsUseBeamSpotConstraint() const {return fUseBeamSpotConstraint;}
+
+
+ // cuts init function
+ void Init();
+
+ // check MC tracks
+ Bool_t IsSelected(TObject *) {return kTRUE;}
+ Bool_t IsSelected(TList *) {return kTRUE;}
+
+ // accept event
+ Bool_t AcceptEvent(AliESDEvent *event=0, AliMCEvent *mcEvent=0, const AliESDVertex *vtx=0);
+ Bool_t AcceptMCEvent(AliMCEvent *mcEvent=0);
+
+ // Merge output objects (needed by PROOF)
+ virtual Long64_t Merge(TCollection* list);
+
+private:
+ Bool_t fTriggerRequired; // trigger required
+ Bool_t fRecVertexRequired; // reconstructed event vertex required
+ Int_t fEventProcessType; // select MC event process type (ND, SD, DD)
+ Float_t fMinNContributors; // min. number of contributing vertex tracks
+ Float_t fMaxNContributors; // max. number of contributing vertex tracks
+ Float_t fMaxR; // max. vertex radii (R = sqrt(Xv^2+Yv^2)
+ Float_t fMinZv; // min. Zv vertex
+ Float_t fMaxZv; // max. Zv vertex
+
+ // interaction spot constraint
+ Float_t fMeanXv; // mean Xv position
+ Float_t fMeanYv; // mean Yv position
+ Float_t fMeanZv; // mean Zv position
+
+ Float_t fSigmaMeanXv; // sigma mean Xv position
+ Float_t fSigmaMeanYv; // sigma mean Yv position
+ Float_t fSigmaMeanZv; // sigma mean Zv position
+
+ Bool_t fRedoTPCVertex; // redo vertex
+ Bool_t fUseBeamSpotConstraint; // use beam spot contraints
+
+ Bool_t fEventSelectedRequired; // event with at least one track (pT>0.5 GeV, |eta|<0.8) required
+
+ AlidNdPtEventCuts(const AlidNdPtEventCuts&); // not implemented
+ AlidNdPtEventCuts& operator=(const AlidNdPtEventCuts&); // not implemented
+
+ ClassDef(AlidNdPtEventCuts, 2)
+};
+
+#endif // ALIDNDPTEVENTCUTS_H