ATLAS Offline Software
TileEventFillerTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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
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
35 
36 // TRIGGER INCLUDES
38 
39 // EVENT INFO
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);
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
80 
81  // LEVEL OF DETAILS
83 
84  // PILE-UP
87 
88  // EVENT TYPE
92 
93  // VERTEXING
94  int* m_nVtx;
96 
97  // EVENT FILTERS
98  bool* m_EF_2mu10;
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;
108  bool* m_EF_mu13;
109  bool* m_EF_mu15;
110  bool* m_EF_mu15i;
112  bool* m_EF_mu18;
114  bool* m_EF_mu20;
116  bool* m_EF_mu20i;
118  bool* m_EF_mu22;
124  bool* m_EF_mu4;
127  bool* m_EF_mu6;
128 
129  // LEVEL 1 TRIGGERS
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;
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
161 
162  // MISSING ENERGY VARIABLES
163  std::string m_metContainer;
164 
169 
173 
174  //size of Muons container
175  int *m_N_mu;
176 
177 }; // TILEMUONEVENTFILLERTOOL
178 
179 } // NAMESPACE D3PD
180 
181 #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
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: CaloCellDetailsFillerTool.cxx:29
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
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
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
fill
void fill(H5::Group &out_file, size_t iterations)
Definition: test-hdf5-writer.cxx:95
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:221
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
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