-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheventSelections.h
139 lines (114 loc) · 5.17 KB
/
eventSelections.h
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#ifndef EVENTSELECTIONS_H
#define EVENTSELECTIONS_H
#include <sys/types.h>
//----------------------------------------------------------------
// A ridicolusly simple function, but since the Z veto is used
// in two places, might as well centralize it to keep consistency
//----------------------------------------------------------------
bool inZmassWindow (float mass);
//----------------------------------------------------------------
// standard event cleaning
// for data
//----------------------------------------------------------------
bool cleaning_standard(bool isData);
//----------------------------------------------------------------
// 20 October 2010
// standard event cleaning used for SS analysis
//----------------------------------------------------------------
bool cleaning_standardOctober2010();
//----------------------------------------------------------------
// 26 April 2011
// standard event cleaning used for OS analysis
//----------------------------------------------------------------
bool cleaning_standardApril2011();
//----------------------------------------------------------------
// 04 November 2011
// standard event cleaning used for SS analysis
//----------------------------------------------------------------
bool cleaning_standardNovember2011();
////----------------------------------------------------------------
//// 5 August 2010
//// standard event cleaning
//// for low pt dilepton / fake rate data studies
////----------------------------------------------------------------
//bool cleaning_standardAugust2010(bool isdata);
//----------------------------------------------------------------
// standard event cleaning
// for low pt dilepton / fake rate data studies
//----------------------------------------------------------------
bool cleaning_standardNoBSC(bool isData);
//----------------------------------------------------------------
// require BPTX
//----------------------------------------------------------------
bool cleaning_BPTX(bool isData);
//----------------------------------------------------------------
// require bit 40 or 41 passed
//----------------------------------------------------------------
bool cleaning_BSC();
//----------------------------------------------------------------
// require bits 36-39 DIDN't pass
// to reject beam halo
//----------------------------------------------------------------
bool cleaning_beamHalo();
// ----------------------------------------------------------------
// 5 August 2010
// at least 1 good vertex
// z position increased from 15 to 24 cm
// ----------------------------------------------------------------
bool cleaning_goodVertexAugust2010();
// ----------------------------------------------------------------
// 26 April 2011
// at least 1 good vertex
// ----------------------------------------------------------------
bool cleaning_goodVertexApril2011();
//----------------------------------------------------------------
// if >= 10 tracks, require at least 25% high purity
//----------------------------------------------------------------
bool cleaning_goodTracks();
//----------------------------------------------------------------
// checks whether a vertex is good or not
//----------------------------------------------------------------
bool isGoodVertex(size_t ivtx);
//----------------------------------------------------------------
// checks whether the leptons of a given
// hypothesis come from the same good vertex
// by checking if both leptons are within dz
// of 1cm of the same PV
//----------------------------------------------------------------
bool hypsFromSameVtx(size_t hypIdx);
//----------------------------------------------------------------
// checks whether the leptons of a given
// hypothesis come from the same good vertex
// by checking if both leptons are within dz
// of 0.2 cm of the same PV and if that PV is
// the closest vertex to each lepton
//----------------------------------------------------------------
int hypsFromSameVtx2011(size_t hypIdx, float dz = 0.2, bool requireClosest = false);
// find first good vertex
int firstGoodVertex ();
//----------------------------------------------------------------
// checks whether the leptons of a given
// hypothesis come from the same good vertex
// by checking if both leptons are within dz
// of 1cm of the same PV
//----------------------------------------------------------------
bool hypsFromFirstGoodVertex(size_t hypIdx, float dz_cut = 1.0);
/*****************************************************************************************/
// number of good vertices in the event
/*****************************************************************************************/
int numberOfGoodVertices(void);
//
int chargedHadronVertex( const unsigned int );
//----------------------------------------------------------------
// These are the MET filters described here:
// https://twiki.cern.ch/twiki/bin/viewauth/CMS/MissingETOptionalFilters
//----------------------------------------------------------------
bool passCSCBeamHaloFilter();
bool passHBHEFilter();
bool passHCALLaserFilter();
bool passECALDeadCellFilter();
bool passTrackingFailureFilter();
bool passeeBadScFilter();
bool passECALLaserFilter();
bool passMETFilters();
#endif