]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliAnalysisMuMuEventCutter.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / muon / AliAnalysisMuMuEventCutter.h
CommitLineData
5376e016
CP
1#ifndef ALIANALYSISMUMUEVENTCUTTER_H
2#define ALIANALYSISMUMUEVENTCUTTER_H
3
4/**
16560e8e 5 *
5376e016
CP
6 * \class AliAnalysisMuMuEventCutter
7 *
8 * \brief Various event cuts used in AliAnalysisTaskMuMu
9 *
16560e8e 10 * \author L. Aphecetche and J. Martin Blanco
5376e016
CP
11 *
12 */
13
14#include "TObject.h"
15#include "TString.h"
16
17class AliMuonEventCuts;
18class TList;
19class AliVEvent;
20class AliVVertex;
21class AliInputEventHandler;
22
23class AliAnalysisMuMuEventCutter : public TObject
24{
25public:
16560e8e 26 AliAnalysisMuMuEventCutter(TList* triggerClassesToConsider=0x0, TList* triggerInputsMap=0x0);
5376e016
CP
27 virtual ~AliAnalysisMuMuEventCutter();
28
29 Bool_t SelectTriggerClass(const TString& firedTriggerClasses, TString& acceptedClasses,
30 UInt_t L0, UInt_t L1, UInt_t L2) const;
31
32 Bool_t IsTrue(const AliVEvent& /*event*/) const { return kTRUE; }
33 void NameOfIsTrue(TString& name) const { name="ALL"; }
34
35 Bool_t IsFalse(const AliVEvent& /*event*/) const { return kFALSE; }
36 void NameOfIsFalse(TString& name) const { name="NONE"; }
37
38 Bool_t IsPhysicsSelected(const AliInputEventHandler& eventHandler) const;
39 void NameOfIsPhysicsSelected(TString& name) const { name="PSALL"; }
40
41 Bool_t IsPhysicsSelectedVDM(const AliVEvent& event) const;
42 void NameOfIsPhysicsSelectedVDM(TString& name) const { name="VDM"; }
16560e8e 43
44 Bool_t IsMCEventNSD(const AliVEvent& event) const;
45 void NameOfIsMCEventNSD(TString& name) const { name="NSD"; }
5376e016
CP
46
47 Bool_t IsAbsZBelowValue(const AliVEvent& event, const Double_t& z) const;
48 void NameOfIsAbsZBelowValue(TString& name, const Double_t& z) const;
49
50 Bool_t IsAbsZSPDBelowValue(const AliVEvent& event, const Double_t& z) const;
51 void NameOfIsAbsZSPDBelowValue(TString& name, const Double_t& z) const;
52
53 Bool_t IsSPDzVertexInRange(AliVEvent& event, const Double_t& zMin, const Double_t& zMax) const;
54 void NameOfIsSPDzVertexInRange(TString& name, const Double_t& zMin, const Double_t& zMax) const;
55
56 Bool_t IsSPDzQA(const AliVEvent& event/*, const AliVVertex& vertex2Test*/, const Double_t& zResCut, const Double_t& zDifCut) const;
57 void NameOfIsSPDzQA(TString& name, const Double_t& zResCut, const Double_t& zDifCut) const;
58
59 Bool_t HasSPDVertex(AliVEvent& event) const;
60 void NameOfHasSPDVertex(TString& name) const { name = "HASSPD"; }
61
62 Bool_t IsMeandNchdEtaInRange(AliVEvent& event, const Double_t& dNchdEtaMin, const Double_t& dNchdEtaMax) const;
63 void NameOfIsMeandNchdEtaInRange(TString& name, const Double_t& dNchdEtaMin, const Double_t& dNchdEtaMax) const;
64
65 Bool_t IsTZEROPileUp(const AliVEvent& event) const;
66 void NameOfIsTZEROPileUp(TString& name) const { name="TZEROPILEUP"; }
67
68 AliMuonEventCuts* MuonEventCuts() const;
69
70// enum EEventCut
71// {
72// kEventIR2PILEUP = BIT( 6), /// events with pile-up (using AliAnalysisUtils::IsOutOfBunchPileUp)
73//
74// kEventGOODVERTEX = BIT(10), /// events with a good vertex
75// kEventZPOS = BIT(14), /// events with z > 0
76// kEventZNEG = BIT(15), /// events with z < 0
77//
78// kEventTRKLETA1 = BIT(20), /// event with at least one tracklet in |eta| < fTrackletEtaCutValue[0]
79
80// kEvent0TVX = BIT(31), /// events with 0TVX L0 input
81// kEventV0AND = BIT(32), /// events with both 0V0C and 0V0A L0 inputs
82// kEvent0SM2 = BIT(33), /// events with 0SM2 L0 input
83// kEvent0MSL = BIT(34), /// events with 0MSL input
84// };
85
86private:
87
0804b4cc 88 /// not implemented on purpose
89 AliAnalysisMuMuEventCutter& operator=(const AliAnalysisMuMuEventCutter& rhs);
90 /// not implemented on purpose
91 AliAnalysisMuMuEventCutter(const AliAnalysisMuMuEventCutter& rhs);
92
5376e016
CP
93 mutable AliMuonEventCuts* fMuonEventCuts; // common cuts for muon events (from Diego)
94
95 ClassDef(AliAnalysisMuMuEventCutter,1) // default event cutters for AliAnalysisTaskMuMu
96};
97
98#endif