ATLAS Offline Software
PhysicsAnalysis
D3PDMaker
TileD3PDMaker
src
TileEventFillerTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/*
6
* File: TileEventFillerTool.h
7
* Author: Marco van Woerden <mvanwoer@cern.ch>
8
* Date: September 2012
9
*
10
*/
11
12
#ifndef TILEMUONEVENTFILLERTOOL_H
13
#define TILEMUONEVENTFILLERTOOL_H
14
15
// INCLUDE HEADER FILES
16
// D3PD INCLUDES
17
#include "
D3PDMakerUtils/BlockFillerTool.h
"
18
19
// GENERIC INCLUDES
20
#include "
StoreGate/StoreGateSvc.h
"
21
#include "GaudiKernel/ISvcLocator.h"
22
#include "GaudiKernel/IToolSvc.h"
23
#include "GaudiKernel/ITHistSvc.h"
24
#include "GaudiKernel/ServiceHandle.h"
25
#include "GaudiKernel/StatusCode.h"
26
#include "GaudiKernel/ToolHandle.h"
27
28
29
// TRACK INCLUDES
30
#include "
VxVertex/VxContainer.h
"
31
32
// MISSING ENERGY
33
#include "
xAODMissingET/MissingETContainer.h
"
34
#include "
xAODMissingET/MissingET.h
"
35
36
// TRIGGER INCLUDES
37
#include "
xAODTrigger/TrigDecision.h
"
38
39
// EVENT INFO
40
#include "
xAODEventInfo/EventInfo.h
"
41
#include "
EventInfo/EventID.h
"
42
43
//MUONS
44
#include "
xAODMuon/MuonContainer.h
"
45
46
// C++/ROOT INCLUDES
47
#include <TLorentzVector.h>
48
#include <vector>
49
#include <algorithm>
50
#include <math.h>
51
#include <regex.h>
52
#include <string>
53
54
namespace
Trk
{
55
class
VxContainer
;
56
}
// namespace
57
58
using namespace
std;
59
using namespace
xAOD
;
60
61
// ADD TILEMUONEVENTFILLERTOOL TO D3PD NAMESPACE
62
namespace
D3PD
{
63
//====================================================================
64
class
TileEventFillerTool
:
public
D3PD::BlockFillerTool
<xAOD::EventInfo>{
65
//====================================================================
66
67
public
:
68
// CONSTRUCTOR
69
TileEventFillerTool
(
const
std::string&
type
,
const
std::string&
name
,
const
IInterface*
parent
);
70
~TileEventFillerTool
(){;};
71
72
// FUNCTIONS
73
virtual
StatusCode
initialize
();
74
virtual
StatusCode
book
();
75
virtual
StatusCode
fill
(
const
xAOD::EventInfo
& ei );
76
77
private
:
78
// EVENT TRIGGER STREAMS AND THE PREFERRED SELECTION
79
const
xAOD::TrigDecision
*
m_trigDec
;
80
81
// LEVEL OF DETAILS
82
short
m_LevelOfDetails
;
83
84
// PILE-UP
85
float
*
m_actualInteractionPerCrossing
;
86
float
*
m_averageInteractionPerCrossing
;
87
88
// EVENT TYPE
89
bool
*
m_is_simulation
;
90
bool
*
m_is_calibration
;
91
bool
*
m_is_testbeam
;
92
93
// VERTEXING
94
int
*
m_nVtx
;
95
const
VxContainer
*
m_pVertex
;
96
97
// EVENT FILTERS
98
bool
*
m_EF_2mu10
;
99
bool
*
m_EF_2mu10_loose
;
100
bool
*
m_EF_2mu4
;
101
bool
*
m_EF_2mu6
;
102
bool
*
m_EF_3mu4
;
103
bool
*
m_EF_3mu6
;
104
bool
*
m_EF_4mu4
;
105
bool
*
m_EF_mu10
;
106
bool
*
m_EF_mu10_loose
;
107
bool
*
m_EF_mu10i_loose
;
108
bool
*
m_EF_mu13
;
109
bool
*
m_EF_mu15
;
110
bool
*
m_EF_mu15i
;
111
bool
*
m_EF_mu15i_medium
;
112
bool
*
m_EF_mu18
;
113
bool
*
m_EF_mu18_medium
;
114
bool
*
m_EF_mu20
;
115
bool
*
m_EF_mu20_medium
;
116
bool
*
m_EF_mu20i
;
117
bool
*
m_EF_mu20i_medium
;
118
bool
*
m_EF_mu22
;
119
bool
*
m_EF_mu22_medium
;
120
bool
*
m_EF_mu24_medium
;
121
bool
*
m_EF_mu24_tight
;
122
bool
*
m_EF_mu30_medium
;
123
bool
*
m_EF_mu30_tight
;
124
bool
*
m_EF_mu4
;
125
bool
*
m_EF_mu4_mu6
;
126
bool
*
m_EF_mu40_slow
;
127
bool
*
m_EF_mu6
;
128
129
// LEVEL 1 TRIGGERS
130
bool
*
m_L1_MU0_EMPTY
;
131
bool
*
m_L1_MU0
;
132
bool
*
m_L1_MU4
;
133
bool
*
m_L1_MU6
;
134
bool
*
m_L1_MU10
;
135
bool
*
m_L1_MU11
;
136
bool
*
m_L1_MU15
;
137
bool
*
m_L1_MU20
;
138
bool
*
m_L1_MU40
;
139
bool
*
m_L1_MU0_COMM
;
140
bool
*
m_L1_2MU0
;
141
bool
*
m_L1_2MU4
;
142
bool
*
m_L1_2MU6
;
143
bool
*
m_L1_2MU10
;
144
bool
*
m_L1_2MU11
;
145
bool
*
m_L1_2MU15
;
146
bool
*
m_L1_2MU20
;
147
bool
*
m_L1_3MU0
;
148
bool
*
m_L1_3MU4
;
149
bool
*
m_L1_3MU6
;
150
bool
*
m_L1_4MU0
;
151
152
// EVENT FLAGS
153
EventID::number_type
*
m_run_number
;
154
EventID::number_type
*
m_event_number
;
155
EventID::number_type
*
m_timestamp
;
156
EventID::number_type
*
m_timestamp_ns
;
157
EventID::number_type
*
m_lbn
;
158
EventID::number_type
*
m_bcid
;
159
EventID::number_type
*
m_detmask0
;
160
EventID::number_type
*
m_detmask1
;
161
162
// MISSING ENERGY VARIABLES
163
std::string
m_metContainer
;
164
165
bool
m_isMissingEtAvailable
;
166
float
*
m_MET_Ref_FinalClus_Ex
;
167
float
*
m_MET_Ref_FinalClus_Ey
;
168
float
*
m_MET_Ref_FinalClus_EtSum
;
169
170
float
*
m_MET_Ref_FinalTrk_Ex
;
171
float
*
m_MET_Ref_FinalTrk_Ey
;
172
float
*
m_MET_Ref_FinalTrk_EtSum
;
173
174
//size of Muons container
175
int
*
m_N_mu
;
176
177
// TOOLHANDLES
178
StoreGateSvc
*
m_storeGate
;
179
180
};
// TILEMUONEVENTFILLERTOOL
181
182
}
// NAMESPACE D3PD
183
184
#endif
D3PD::TileEventFillerTool::m_EF_mu22
bool * m_EF_mu22
Definition:
TileEventFillerTool.h:118
D3PD::TileEventFillerTool::m_L1_3MU4
bool * m_L1_3MU4
Definition:
TileEventFillerTool.h:148
D3PD::TileEventFillerTool::m_EF_mu20
bool * m_EF_mu20
Definition:
TileEventFillerTool.h:114
D3PD::TileEventFillerTool::m_EF_mu15i_medium
bool * m_EF_mu15i_medium
Definition:
TileEventFillerTool.h:111
D3PD::TileEventFillerTool::m_L1_MU0_EMPTY
bool * m_L1_MU0_EMPTY
Definition:
TileEventFillerTool.h:130
D3PD::TileEventFillerTool::m_trigDec
const xAOD::TrigDecision * m_trigDec
Definition:
TileEventFillerTool.h:79
D3PD::TileEventFillerTool::m_detmask1
EventID::number_type * m_detmask1
Definition:
TileEventFillerTool.h:160
TrigDecision.h
D3PD::TileEventFillerTool::m_EF_mu20i_medium
bool * m_EF_mu20i_medium
Definition:
TileEventFillerTool.h:117
D3PD::TileEventFillerTool::m_EF_mu13
bool * m_EF_mu13
Definition:
TileEventFillerTool.h:108
D3PD::TileEventFillerTool::m_event_number
EventID::number_type * m_event_number
Definition:
TileEventFillerTool.h:154
D3PD::TileEventFillerTool::m_isMissingEtAvailable
bool m_isMissingEtAvailable
Definition:
TileEventFillerTool.h:165
D3PD::TileEventFillerTool::m_storeGate
StoreGateSvc * m_storeGate
Definition:
TileEventFillerTool.h:178
initialize
void initialize()
Definition:
run_EoverP.cxx:894
D3PD::TileEventFillerTool::m_is_calibration
bool * m_is_calibration
Definition:
TileEventFillerTool.h:90
D3PD::TileEventFillerTool::m_EF_mu10
bool * m_EF_mu10
Definition:
TileEventFillerTool.h:105
D3PD::TileEventFillerTool::m_EF_mu18_medium
bool * m_EF_mu18_medium
Definition:
TileEventFillerTool.h:113
D3PD::TileEventFillerTool::m_is_testbeam
bool * m_is_testbeam
Definition:
TileEventFillerTool.h:91
D3PD::TileEventFillerTool::m_EF_mu24_medium
bool * m_EF_mu24_medium
Definition:
TileEventFillerTool.h:120
D3PD::TileEventFillerTool::m_L1_2MU10
bool * m_L1_2MU10
Definition:
TileEventFillerTool.h:143
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition:
ICaloAffectedTool.h:24
D3PD::TileEventFillerTool::m_L1_2MU0
bool * m_L1_2MU0
Definition:
TileEventFillerTool.h:140
D3PD::TileEventFillerTool::m_EF_mu18
bool * m_EF_mu18
Definition:
TileEventFillerTool.h:112
D3PD::TileEventFillerTool::m_timestamp_ns
EventID::number_type * m_timestamp_ns
Definition:
TileEventFillerTool.h:156
D3PD::TileEventFillerTool::m_metContainer
std::string m_metContainer
Definition:
TileEventFillerTool.h:163
D3PD::TileEventFillerTool::m_EF_mu15i
bool * m_EF_mu15i
Definition:
TileEventFillerTool.h:110
D3PD::TileEventFillerTool::m_L1_MU0_COMM
bool * m_L1_MU0_COMM
Definition:
TileEventFillerTool.h:139
D3PD::TileEventFillerTool::m_L1_MU20
bool * m_L1_MU20
Definition:
TileEventFillerTool.h:137
D3PD::TileEventFillerTool::m_MET_Ref_FinalTrk_EtSum
float * m_MET_Ref_FinalTrk_EtSum
Definition:
TileEventFillerTool.h:172
D3PD::TileEventFillerTool::m_MET_Ref_FinalClus_Ex
float * m_MET_Ref_FinalClus_Ex
Definition:
TileEventFillerTool.h:166
D3PD::TileEventFillerTool::m_MET_Ref_FinalClus_Ey
float * m_MET_Ref_FinalClus_Ey
Definition:
TileEventFillerTool.h:167
D3PD::TileEventFillerTool::m_timestamp
EventID::number_type * m_timestamp
Definition:
TileEventFillerTool.h:155
D3PD::TileEventFillerTool::m_L1_2MU6
bool * m_L1_2MU6
Definition:
TileEventFillerTool.h:142
D3PD::TileEventFillerTool::m_EF_mu30_tight
bool * m_EF_mu30_tight
Definition:
TileEventFillerTool.h:123
BlockFillerTool.h
Type-safe wrapper for block filler tools.
D3PD::TileEventFillerTool::~TileEventFillerTool
~TileEventFillerTool()
Definition:
TileEventFillerTool.h:70
D3PD::TileEventFillerTool::m_EF_3mu4
bool * m_EF_3mu4
Definition:
TileEventFillerTool.h:102
D3PD::TileEventFillerTool::m_L1_MU11
bool * m_L1_MU11
Definition:
TileEventFillerTool.h:135
D3PD::TileEventFillerTool::m_L1_MU40
bool * m_L1_MU40
Definition:
TileEventFillerTool.h:138
D3PD::TileEventFillerTool::m_EF_2mu6
bool * m_EF_2mu6
Definition:
TileEventFillerTool.h:101
D3PD::TileEventFillerTool::m_EF_3mu6
bool * m_EF_3mu6
Definition:
TileEventFillerTool.h:103
D3PD::TileEventFillerTool::m_N_mu
int * m_N_mu
Definition:
TileEventFillerTool.h:175
D3PD
Block filler tool for noisy FEB information.
Definition:
InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
EventID.h
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
D3PD::TileEventFillerTool::m_bcid
EventID::number_type * m_bcid
Definition:
TileEventFillerTool.h:158
D3PD::TileEventFillerTool::m_L1_MU0
bool * m_L1_MU0
Definition:
TileEventFillerTool.h:131
D3PD::TileEventFillerTool::m_L1_MU4
bool * m_L1_MU4
Definition:
TileEventFillerTool.h:132
EventID::number_type
EventIDBase::number_type number_type
Definition:
EventID.h:37
book
T * book(const std::string &n, const std::string &t, unsigned nbins)
Definition:
main_benchmark.cxx:138
D3PD::TileEventFillerTool::m_L1_4MU0
bool * m_L1_4MU0
Definition:
TileEventFillerTool.h:150
D3PD::TileEventFillerTool::m_EF_mu30_medium
bool * m_EF_mu30_medium
Definition:
TileEventFillerTool.h:122
D3PD::TileEventFillerTool::m_L1_2MU4
bool * m_L1_2MU4
Definition:
TileEventFillerTool.h:141
D3PD::TileEventFillerTool::m_L1_3MU0
bool * m_L1_3MU0
Definition:
TileEventFillerTool.h:147
Atlas.StoreGateSvc
StoreGateSvc
Definition:
Atlas.UnixStandardJob.py:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::TileEventFillerTool::m_EF_mu20_medium
bool * m_EF_mu20_medium
Definition:
TileEventFillerTool.h:115
D3PD::TileEventFillerTool::m_MET_Ref_FinalTrk_Ey
float * m_MET_Ref_FinalTrk_Ey
Definition:
TileEventFillerTool.h:171
test_pyathena.parent
parent
Definition:
test_pyathena.py:15
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition:
BlockFillerTool.h:68
D3PD::TileEventFillerTool::m_L1_MU10
bool * m_L1_MU10
Definition:
TileEventFillerTool.h:134
D3PD::TileEventFillerTool::m_run_number
EventID::number_type * m_run_number
Definition:
TileEventFillerTool.h:153
VxContainer.h
VxContainer
Definition:
VxContainer.h:28
D3PD::TileEventFillerTool::m_EF_mu22_medium
bool * m_EF_mu22_medium
Definition:
TileEventFillerTool.h:119
D3PD::TileEventFillerTool::m_lbn
EventID::number_type * m_lbn
Definition:
TileEventFillerTool.h:157
D3PD::TileEventFillerTool::m_L1_2MU11
bool * m_L1_2MU11
Definition:
TileEventFillerTool.h:144
D3PD::TileEventFillerTool::m_nVtx
int * m_nVtx
Definition:
TileEventFillerTool.h:94
D3PD::TileEventFillerTool::m_EF_2mu4
bool * m_EF_2mu4
Definition:
TileEventFillerTool.h:100
D3PD::TileEventFillerTool::m_actualInteractionPerCrossing
float * m_actualInteractionPerCrossing
Definition:
TileEventFillerTool.h:85
D3PD::TileEventFillerTool::m_EF_4mu4
bool * m_EF_4mu4
Definition:
TileEventFillerTool.h:104
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition:
FakeTrackBuilder.h:9
D3PD::TileEventFillerTool::m_L1_2MU20
bool * m_L1_2MU20
Definition:
TileEventFillerTool.h:146
MissingET.h
D3PD::TileEventFillerTool::m_EF_mu10_loose
bool * m_EF_mu10_loose
Definition:
TileEventFillerTool.h:106
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:195
D3PD::TileEventFillerTool::m_EF_mu6
bool * m_EF_mu6
Definition:
TileEventFillerTool.h:127
D3PD::TileEventFillerTool::m_EF_mu4
bool * m_EF_mu4
Definition:
TileEventFillerTool.h:124
EventInfo.h
D3PD::TileEventFillerTool::m_L1_MU6
bool * m_L1_MU6
Definition:
TileEventFillerTool.h:133
xAOD::EventInfo_v1
Class describing the basic event information.
Definition:
EventInfo_v1.h:43
MuonContainer.h
D3PD::TileEventFillerTool::m_detmask0
EventID::number_type * m_detmask0
Definition:
TileEventFillerTool.h:159
D3PD::TileEventFillerTool::m_EF_mu20i
bool * m_EF_mu20i
Definition:
TileEventFillerTool.h:116
D3PD::TileEventFillerTool::m_L1_2MU15
bool * m_L1_2MU15
Definition:
TileEventFillerTool.h:145
lumiFormat.fill
fill
Definition:
lumiFormat.py:111
D3PD::TileEventFillerTool::m_averageInteractionPerCrossing
float * m_averageInteractionPerCrossing
Definition:
TileEventFillerTool.h:86
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
D3PD::TileEventFillerTool::m_is_simulation
bool * m_is_simulation
Definition:
TileEventFillerTool.h:89
D3PD::TileEventFillerTool::m_EF_2mu10
bool * m_EF_2mu10
Definition:
TileEventFillerTool.h:98
D3PD::TileEventFillerTool::m_EF_mu15
bool * m_EF_mu15
Definition:
TileEventFillerTool.h:109
D3PD::TileEventFillerTool::m_L1_MU15
bool * m_L1_MU15
Definition:
TileEventFillerTool.h:136
D3PD::TileEventFillerTool::m_EF_2mu10_loose
bool * m_EF_2mu10_loose
Definition:
TileEventFillerTool.h:99
D3PD::TileEventFillerTool::m_MET_Ref_FinalClus_EtSum
float * m_MET_Ref_FinalClus_EtSum
Definition:
TileEventFillerTool.h:168
D3PD::TileEventFillerTool::m_L1_3MU6
bool * m_L1_3MU6
Definition:
TileEventFillerTool.h:149
D3PD::TileEventFillerTool
Definition:
TileEventFillerTool.h:64
D3PD::TileEventFillerTool::m_pVertex
const VxContainer * m_pVertex
Definition:
TileEventFillerTool.h:95
StoreGateSvc.h
D3PD::TileEventFillerTool::m_MET_Ref_FinalTrk_Ex
float * m_MET_Ref_FinalTrk_Ex
Definition:
TileEventFillerTool.h:170
MissingETContainer.h
xAOD::TrigDecision_v1
Interface to the raw trigger decision information of the event.
Definition:
TrigDecision_v1.h:44
D3PD::TileEventFillerTool::m_EF_mu24_tight
bool * m_EF_mu24_tight
Definition:
TileEventFillerTool.h:121
D3PD::TileEventFillerTool::m_LevelOfDetails
short m_LevelOfDetails
Definition:
TileEventFillerTool.h:82
D3PD::TileEventFillerTool::m_EF_mu4_mu6
bool * m_EF_mu4_mu6
Definition:
TileEventFillerTool.h:125
D3PD::TileEventFillerTool::m_EF_mu40_slow
bool * m_EF_mu40_slow
Definition:
TileEventFillerTool.h:126
D3PD::TileEventFillerTool::m_EF_mu10i_loose
bool * m_EF_mu10i_loose
Definition:
TileEventFillerTool.h:107
Generated on Thu Jul 4 2024 21:29:02 for ATLAS Offline Software by
1.8.18