Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TileEventFillerTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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 
42 //MUONS
43 #include "xAODMuon/MuonContainer.h"
44 
45 // C++/ROOT INCLUDES
46 #include <TLorentzVector.h>
47 #include <vector>
48 #include <algorithm>
49 #include <math.h>
50 #include <regex.h>
51 #include <string>
52 #include <cstdint>
53 
54 namespace Trk{
55  class VxContainer;
56 } // namespace
57 
58 
59 // ADD TILEMUONEVENTFILLERTOOL TO D3PD NAMESPACE
60 namespace D3PD {
61 //====================================================================
62 class TileEventFillerTool:public D3PD::BlockFillerTool<xAOD::EventInfo>{
63 //====================================================================
64 
65  public:
66  // CONSTRUCTOR
67  TileEventFillerTool(const std::string& type,const std::string& name,const IInterface* parent);
69 
70  // FUNCTIONS
71  virtual StatusCode initialize();
72  virtual StatusCode book();
73  virtual StatusCode fill( const xAOD::EventInfo& ei );
74 
75  private:
76  // EVENT TRIGGER STREAMS AND THE PREFERRED SELECTION
78 
79  // LEVEL OF DETAILS
81 
82  // PILE-UP
85 
86  // EVENT TYPE
90 
91  // VERTEXING
92  int* m_nVtx;
94 
95  // EVENT FILTERS
96  bool* m_EF_2mu10;
98  bool* m_EF_2mu4;
99  bool* m_EF_2mu6;
100  bool* m_EF_3mu4;
101  bool* m_EF_3mu6;
102  bool* m_EF_4mu4;
103  bool* m_EF_mu10;
106  bool* m_EF_mu13;
107  bool* m_EF_mu15;
108  bool* m_EF_mu15i;
110  bool* m_EF_mu18;
112  bool* m_EF_mu20;
114  bool* m_EF_mu20i;
116  bool* m_EF_mu22;
122  bool* m_EF_mu4;
125  bool* m_EF_mu6;
126 
127  // LEVEL 1 TRIGGERS
129  bool* m_L1_MU0;
130  bool* m_L1_MU4;
131  bool* m_L1_MU6;
132  bool* m_L1_MU10;
133  bool* m_L1_MU11;
134  bool* m_L1_MU15;
135  bool* m_L1_MU20;
136  bool* m_L1_MU40;
138  bool* m_L1_2MU0;
139  bool* m_L1_2MU4;
140  bool* m_L1_2MU6;
141  bool* m_L1_2MU10;
142  bool* m_L1_2MU11;
143  bool* m_L1_2MU15;
144  bool* m_L1_2MU20;
145  bool* m_L1_3MU0;
146  bool* m_L1_3MU4;
147  bool* m_L1_3MU6;
148  bool* m_L1_4MU0;
149 
150  // EVENT FLAGS
159 
160  // MISSING ENERGY VARIABLES
161  std::string m_metContainer;
162 
167 
171 
172  //size of Muons container
173  int *m_N_mu;
174 
175 }; // TILEMUONEVENTFILLERTOOL
176 
177 } // NAMESPACE D3PD
178 
179 #endif
D3PD::TileEventFillerTool::m_EF_mu22
bool * m_EF_mu22
Definition: TileEventFillerTool.h:116
D3PD::TileEventFillerTool::m_L1_3MU4
bool * m_L1_3MU4
Definition: TileEventFillerTool.h:146
D3PD::TileEventFillerTool::m_EF_mu20
bool * m_EF_mu20
Definition: TileEventFillerTool.h:112
D3PD::TileEventFillerTool::m_EF_mu15i_medium
bool * m_EF_mu15i_medium
Definition: TileEventFillerTool.h:109
D3PD::TileEventFillerTool::m_L1_MU0_EMPTY
bool * m_L1_MU0_EMPTY
Definition: TileEventFillerTool.h:128
D3PD::TileEventFillerTool::m_trigDec
const xAOD::TrigDecision * m_trigDec
Definition: TileEventFillerTool.h:77
TrigDecision.h
D3PD::TileEventFillerTool::fill
virtual StatusCode fill(const xAOD::EventInfo &ei)
Fill one block — type-safe version.
Definition: TileEventFillerTool.cxx:280
D3PD::TileEventFillerTool::m_EF_mu20i_medium
bool * m_EF_mu20i_medium
Definition: TileEventFillerTool.h:115
D3PD::TileEventFillerTool::m_detmask0
uint32_t * m_detmask0
Definition: TileEventFillerTool.h:157
D3PD::TileEventFillerTool::m_EF_mu13
bool * m_EF_mu13
Definition: TileEventFillerTool.h:106
D3PD::TileEventFillerTool::initialize
virtual StatusCode initialize()
Definition: TileEventFillerTool.cxx:141
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
D3PD::TileEventFillerTool::m_isMissingEtAvailable
bool m_isMissingEtAvailable
Definition: TileEventFillerTool.h:163
D3PD::TileEventFillerTool::m_is_calibration
bool * m_is_calibration
Definition: TileEventFillerTool.h:88
D3PD::TileEventFillerTool::m_EF_mu10
bool * m_EF_mu10
Definition: TileEventFillerTool.h:103
D3PD::TileEventFillerTool::m_EF_mu18_medium
bool * m_EF_mu18_medium
Definition: TileEventFillerTool.h:111
D3PD::TileEventFillerTool::m_timestamp_ns
uint32_t * m_timestamp_ns
Definition: TileEventFillerTool.h:154
D3PD::TileEventFillerTool::m_is_testbeam
bool * m_is_testbeam
Definition: TileEventFillerTool.h:89
D3PD::TileEventFillerTool::m_EF_mu24_medium
bool * m_EF_mu24_medium
Definition: TileEventFillerTool.h:118
D3PD::TileEventFillerTool::m_L1_2MU10
bool * m_L1_2MU10
Definition: TileEventFillerTool.h:141
D3PD::TileEventFillerTool::m_L1_2MU0
bool * m_L1_2MU0
Definition: TileEventFillerTool.h:138
D3PD::TileEventFillerTool::m_EF_mu18
bool * m_EF_mu18
Definition: TileEventFillerTool.h:110
D3PD::TileEventFillerTool::m_metContainer
std::string m_metContainer
Definition: TileEventFillerTool.h:161
D3PD::TileEventFillerTool::m_EF_mu15i
bool * m_EF_mu15i
Definition: TileEventFillerTool.h:108
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
D3PD::TileEventFillerTool::m_L1_MU0_COMM
bool * m_L1_MU0_COMM
Definition: TileEventFillerTool.h:137
D3PD::TileEventFillerTool::m_L1_MU20
bool * m_L1_MU20
Definition: TileEventFillerTool.h:135
D3PD::TileEventFillerTool::m_MET_Ref_FinalTrk_EtSum
float * m_MET_Ref_FinalTrk_EtSum
Definition: TileEventFillerTool.h:170
D3PD::TileEventFillerTool::m_MET_Ref_FinalClus_Ex
float * m_MET_Ref_FinalClus_Ex
Definition: TileEventFillerTool.h:164
D3PD::TileEventFillerTool::m_MET_Ref_FinalClus_Ey
float * m_MET_Ref_FinalClus_Ey
Definition: TileEventFillerTool.h:165
D3PD::TileEventFillerTool::m_L1_2MU6
bool * m_L1_2MU6
Definition: TileEventFillerTool.h:140
D3PD::TileEventFillerTool::m_EF_mu30_tight
bool * m_EF_mu30_tight
Definition: TileEventFillerTool.h:121
D3PD::TileEventFillerTool::m_run_number
uint32_t * m_run_number
Definition: TileEventFillerTool.h:151
BlockFillerTool.h
Type-safe wrapper for block filler tools.
D3PD::TileEventFillerTool::~TileEventFillerTool
~TileEventFillerTool()
Definition: TileEventFillerTool.h:68
D3PD::TileEventFillerTool::m_EF_3mu4
bool * m_EF_3mu4
Definition: TileEventFillerTool.h:100
D3PD::TileEventFillerTool::m_L1_MU11
bool * m_L1_MU11
Definition: TileEventFillerTool.h:133
D3PD::TileEventFillerTool::m_detmask1
uint32_t * m_detmask1
Definition: TileEventFillerTool.h:158
D3PD::TileEventFillerTool::m_L1_MU40
bool * m_L1_MU40
Definition: TileEventFillerTool.h:136
D3PD::TileEventFillerTool::m_EF_2mu6
bool * m_EF_2mu6
Definition: TileEventFillerTool.h:99
D3PD::TileEventFillerTool::m_EF_3mu6
bool * m_EF_3mu6
Definition: TileEventFillerTool.h:101
D3PD::TileEventFillerTool::m_N_mu
int * m_N_mu
Definition: TileEventFillerTool.h:173
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
D3PD::TileEventFillerTool::m_L1_MU0
bool * m_L1_MU0
Definition: TileEventFillerTool.h:129
D3PD::TileEventFillerTool::m_bcid
uint32_t * m_bcid
Definition: TileEventFillerTool.h:156
D3PD::TileEventFillerTool::m_L1_MU4
bool * m_L1_MU4
Definition: TileEventFillerTool.h:130
D3PD::TileEventFillerTool::m_L1_4MU0
bool * m_L1_4MU0
Definition: TileEventFillerTool.h:148
D3PD::TileEventFillerTool::TileEventFillerTool
TileEventFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TileEventFillerTool.cxx:33
D3PD::TileEventFillerTool::m_EF_mu30_medium
bool * m_EF_mu30_medium
Definition: TileEventFillerTool.h:120
D3PD::TileEventFillerTool::m_L1_2MU4
bool * m_L1_2MU4
Definition: TileEventFillerTool.h:139
D3PD::TileEventFillerTool::m_L1_3MU0
bool * m_L1_3MU0
Definition: TileEventFillerTool.h:145
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:113
D3PD::TileEventFillerTool::m_MET_Ref_FinalTrk_Ey
float * m_MET_Ref_FinalTrk_Ey
Definition: TileEventFillerTool.h:169
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:65
D3PD::TileEventFillerTool::m_L1_MU10
bool * m_L1_MU10
Definition: TileEventFillerTool.h:132
VxContainer.h
VxContainer
Definition: VxContainer.h:28
D3PD::TileEventFillerTool::m_lbn
uint32_t * m_lbn
Definition: TileEventFillerTool.h:155
D3PD::TileEventFillerTool::m_EF_mu22_medium
bool * m_EF_mu22_medium
Definition: TileEventFillerTool.h:117
D3PD::TileEventFillerTool::m_L1_2MU11
bool * m_L1_2MU11
Definition: TileEventFillerTool.h:142
D3PD::TileEventFillerTool::m_nVtx
int * m_nVtx
Definition: TileEventFillerTool.h:92
D3PD::TileEventFillerTool::m_EF_2mu4
bool * m_EF_2mu4
Definition: TileEventFillerTool.h:98
D3PD::TileEventFillerTool::m_actualInteractionPerCrossing
float * m_actualInteractionPerCrossing
Definition: TileEventFillerTool.h:83
D3PD::TileEventFillerTool::m_EF_4mu4
bool * m_EF_4mu4
Definition: TileEventFillerTool.h:102
D3PD::TileEventFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition: TileEventFillerTool.cxx:164
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:144
MissingET.h
D3PD::TileEventFillerTool::m_EF_mu10_loose
bool * m_EF_mu10_loose
Definition: TileEventFillerTool.h:104
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
D3PD::TileEventFillerTool::m_EF_mu6
bool * m_EF_mu6
Definition: TileEventFillerTool.h:125
D3PD::TileEventFillerTool::m_EF_mu4
bool * m_EF_mu4
Definition: TileEventFillerTool.h:122
EventInfo.h
D3PD::TileEventFillerTool::m_L1_MU6
bool * m_L1_MU6
Definition: TileEventFillerTool.h:131
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
MuonContainer.h
D3PD::TileEventFillerTool::m_timestamp
uint32_t * m_timestamp
Definition: TileEventFillerTool.h:153
D3PD::TileEventFillerTool::m_EF_mu20i
bool * m_EF_mu20i
Definition: TileEventFillerTool.h:114
D3PD::TileEventFillerTool::m_L1_2MU15
bool * m_L1_2MU15
Definition: TileEventFillerTool.h:143
D3PD::TileEventFillerTool::m_averageInteractionPerCrossing
float * m_averageInteractionPerCrossing
Definition: TileEventFillerTool.h:84
D3PD::TileEventFillerTool::m_is_simulation
bool * m_is_simulation
Definition: TileEventFillerTool.h:87
D3PD::TileEventFillerTool::m_EF_2mu10
bool * m_EF_2mu10
Definition: TileEventFillerTool.h:96
D3PD::TileEventFillerTool::m_EF_mu15
bool * m_EF_mu15
Definition: TileEventFillerTool.h:107
D3PD::TileEventFillerTool::m_L1_MU15
bool * m_L1_MU15
Definition: TileEventFillerTool.h:134
D3PD::TileEventFillerTool::m_EF_2mu10_loose
bool * m_EF_2mu10_loose
Definition: TileEventFillerTool.h:97
D3PD::TileEventFillerTool::m_MET_Ref_FinalClus_EtSum
float * m_MET_Ref_FinalClus_EtSum
Definition: TileEventFillerTool.h:166
D3PD::TileEventFillerTool::m_L1_3MU6
bool * m_L1_3MU6
Definition: TileEventFillerTool.h:147
D3PD::TileEventFillerTool
Definition: TileEventFillerTool.h:62
D3PD::TileEventFillerTool::m_event_number
uint64_t * m_event_number
Definition: TileEventFillerTool.h:152
D3PD::TileEventFillerTool::m_pVertex
const VxContainer * m_pVertex
Definition: TileEventFillerTool.h:93
StoreGateSvc.h
D3PD::TileEventFillerTool::m_MET_Ref_FinalTrk_Ex
float * m_MET_Ref_FinalTrk_Ex
Definition: TileEventFillerTool.h:168
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:119
D3PD::TileEventFillerTool::m_LevelOfDetails
short m_LevelOfDetails
Definition: TileEventFillerTool.h:80
D3PD::TileEventFillerTool::m_EF_mu4_mu6
bool * m_EF_mu4_mu6
Definition: TileEventFillerTool.h:123
D3PD::TileEventFillerTool::m_EF_mu40_slow
bool * m_EF_mu40_slow
Definition: TileEventFillerTool.h:124
D3PD::TileEventFillerTool::m_EF_mu10i_loose
bool * m_EF_mu10i_loose
Definition: TileEventFillerTool.h:105