-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAliGMFSimpleEventCuts.cxx
96 lines (84 loc) · 3.38 KB
/
AliGMFSimpleEventCuts.cxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// author: redmer alexander bertens ([email protected])
#include "AliGMFSimpleEventCuts.h"
#include "AliGMFEventContainer.h"
ClassImp(AliGMFSimpleEventCuts);
AliGMFSimpleEventCuts::AliGMFSimpleEventCuts() : TObject(),
fCheckMultiplicity(kFALSE),
fMultiplicityMin(1),
fMultiplicityMax(-1),
fCheckVertex(kFALSE),
fVertexMin(1),
fVertexMax(-1),
fCheckEventPlane(kFALSE),
fEventPlaneMin(1),
fEventPlaneMax(-1),
fCheckEventPlane3(kFALSE),
fEventPlane3Min(1),
fEventPlane3Max(-1),
fCheckCentrality(kFALSE),
fCentralityMin(1),
fCentralityMax(-1),
fCheckRunNumber(kFALSE),
fRunNumberMin(0),
fRunNumberMax(1e9)
{
// default constructor
}
void AliGMFSimpleEventCuts::Diagnose() {
// check why an event doesn't pass the seleciton criteria
if(!fCurrentEvent) printf(" > No event found \n");
if(!PassesCentralitySelection()) printf(" Failed centrality check \n");
if(!PassesVertexSelection()) printf(" Failed vertex check \n");
if(!PassesEventPlaneSelection()) printf(" Failed event plane check \n");
if(!PassesEventPlane3Selection()) printf(" Failed event plane check \n");
if(!PassesMultiplicitySelection()) printf(" Failed multiplicity check \n");
if(!PassesRunNumberSelection()) printf(" Failed run number check \n");
}
Bool_t AliGMFSimpleEventCuts::IsSelected(AliGMFEventContainer* event) {
// check event cuts
fCurrentEvent = event;
if(!fCurrentEvent) return kFALSE;
if(!PassesCentralitySelection()) return kFALSE;
if(!PassesVertexSelection()) return kFALSE;
if(!PassesEventPlaneSelection()) return kFALSE;
if(!PassesEventPlane3Selection()) return kFALSE;
if(!PassesMultiplicitySelection()) return kFALSE;
if(!PassesRunNumberSelection()) return kFALSE;
// all is good, jay
return kTRUE;
}
Bool_t AliGMFSimpleEventCuts::PassesCentralitySelection() {
// check centrality criteria
if(!fCheckCentrality) return kTRUE;
if(fCurrentEvent->GetCentrality() > fCentralityMin && fCurrentEvent->GetCentrality() < fCentralityMax) return kTRUE;
return kFALSE;
}
Bool_t AliGMFSimpleEventCuts::PassesVertexSelection() {
// check vertex criteria
if(!fCheckVertex) return kTRUE;
if(fCurrentEvent->GetZvtx() > fVertexMin && fCurrentEvent->GetZvtx() < fVertexMax) return kTRUE;
return kFALSE;
}
Bool_t AliGMFSimpleEventCuts::PassesEventPlaneSelection() {
// check event plane criteria
if(!fCheckEventPlane) return kTRUE;
if(fCurrentEvent->GetEventPlane() > fEventPlaneMin && fCurrentEvent->GetEventPlane() < fEventPlaneMax) return kTRUE;
return kFALSE;
}
Bool_t AliGMFSimpleEventCuts::PassesEventPlane3Selection() {
// check event plane criteria
if(!fCheckEventPlane3) return kTRUE;
if(fCurrentEvent->GetEventPlane3() > fEventPlane3Min && fCurrentEvent->GetEventPlane3() < fEventPlane3Max) return kTRUE;
return kFALSE;
}
Bool_t AliGMFSimpleEventCuts::PassesMultiplicitySelection() {
// check multiplicity criteria
if(!fCheckMultiplicity) return kTRUE;
if(fCurrentEvent->GetMultiplicity() > fMultiplicityMin && fCurrentEvent->GetMultiplicity() < fMultiplicityMax) return kTRUE;
return kFALSE;
}
Bool_t AliGMFSimpleEventCuts::PassesRunNumberSelection() {
if(!fCheckRunNumber) return kTRUE;
if(fCurrentEvent->GetRunNumber() > fRunNumberMin && fCurrentEvent->GetRunNumber() < fRunNumberMax) return kTRUE;
return kFALSE;
}