ATLAS Offline Software
Loading...
Searching...
No Matches
EMShowerMinimal.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef EGAMMAEVENT_EMSHOWERMINIMAL_H
6#define EGAMMAEVENT_EMSHOWERMINIMAL_H
15
16/********************************************************************
17NAME: EMShowerMinimal.h
18PACKAGE: offline/Reconstruction/egammaEvent
19
20AUTHORS: M.P. Casado, S. Rajagopalan
21MODIFIED: S.R. Armstrong - November 2004
22 R. Soluk - Feb 2005
23
24PURPOSE: Minimal EM shower property data class, as needed by LVL2.
25 Used in the Trigger/TrigT2Calo package.
26 This class contains information about quantities useful for
27 e/g identification in LVL2, such as shower shape variables.
28
29 Add extra variables for wide and narrow regions in the various samplings
30 as well as the L1 RoI word - R. Soluk
31UPDATED:
32 Jun 14, 2007 (FD) Doxygen documentation
33
34********************************************************************/
36#include "CaloEvent/CaloClusterContainer.h"
37#include "AthLinks/ElementLink.h"
39
40class CaloCluster;
42
43{
44 public:
45
46// EMShowerMinimal constructor and destructor
50 ~EMShowerMinimal() = default;
51
52 void print() const;
53
54// return values of shower parameters
56 double ehad1() const;
58 double e237() const;
60 double e277() const;
62 double weta2() const;
64 double e2tsts1() const;
66 double fracs1() const;
68 double emaxs1() const;
70 double l1SimEta() const;
72 double l1SimPhi() const;
74 double l1SimEmClus() const;
76 double l1SimEmIsol() const;
78 double l1SimHdCore() const;
80 double l1SimHdIsol() const;
82 long l1SimnRoIperRegion() const;
84 const CaloCluster* caloClus() const;
85
86 // add variables for tau trigger and studies - Feb 2005, R. Soluk
88 long RoIword() const;
90 double eem0nar() const;
92 double eem0wid() const;
94 double eem1nar() const;
96 double eem1wid() const;
98 double eem2nar() const;
100 double eem2wid() const;
102 double eem3nar() const;
104 double eem3wid() const;
105
107 double ehad1nar() const;
109 double ehad1wid() const;
111 double ehad2nar() const;
113 double ehad2wid() const;
115 double ehad3nar() const;
117 double ehad3wid() const;
118
120 double eem0rad() const;
122 double eem1rad() const;
124 double eem2rad() const;
126 double eem3rad() const;
128 double em0weta() const;
130 double em1weta() const;
132 double em2weta() const;
134 double em3weta() const;
136 double had1weta() const;
138 double had2weta() const;
140 double had3weta() const;
141
142 // some normalization energies
144 double energyem0nor() const;
146 double energyem1nor() const;
148 double energyem2nor() const;
150 double energyem3nor() const;
152 double energyhad1nor() const;
154 double energyhad2nor() const;
156 double energyhad3nor() const;
157
158
159// set the values of the different shower shape and isolation variables
160 void set_ehad1(double);
161 void set_e237(double);
162 void set_e277(double);
163 void set_weta2(double);
164 void set_e2tsts1(double);
165 void set_fracs1(double);
166 void set_emaxs1(double);
167 void set_caloClus(const CaloCluster*);
169 void set_l1SimEta(double);
170 void set_l1SimPhi(double);
171 void set_l1SimEmClus(double);
172 void set_l1SimEmIsol(double);
173 void set_l1SimHdCore(double);
174 void set_l1SimHdIsol(double);
175 void set_l1SimnRoIperRegion(long);
176
177 // add set members for tau variables
178 void set_RoIword(long);
179 void set_eem0nar(double);
180 void set_eem0wid(double);
181 void set_eem1nar(double);
182 void set_eem1wid(double);
183 void set_eem2nar(double);
184 void set_eem2wid(double);
185 void set_eem3nar(double);
186 void set_eem3wid(double);
187
188 void set_ehad1nar(double);
189 void set_ehad1wid(double);
190 void set_ehad2nar(double);
191 void set_ehad2wid(double);
192 void set_ehad3nar(double);
193 void set_ehad3wid(double);
194
195 void set_eem0rad(double);
196 void set_eem1rad(double);
197 void set_eem2rad(double);
198 void set_eem3rad(double);
199
200 void set_em0weta(double);
201 void set_em1weta(double);
202 void set_em2weta(double);
203 void set_em3weta(double);
204 void set_had1weta(double);
205 void set_had2weta(double);
206 void set_had3weta(double);
207
208 void set_energyem0nor(double);
209 void set_energyem1nor(double);
210 void set_energyem2nor(double);
211 void set_energyem3nor(double);
212 void set_energyhad1nor(double);
213 void set_energyhad2nor(double);
214 void set_energyhad3nor(double);
215
216//
217 private:
218
219 // const CaloCluster* m_caloClus;
221 double m_ehad1;
222 double m_e237;
223 double m_e277;
224 double m_weta2;
225 double m_e2tsts1;
226 double m_fracs1;
227 double m_emaxs1;
235
237 double m_eem0nar;
238 double m_eem0wid;
239 double m_eem1nar;
240 double m_eem1wid;
241 double m_eem2nar;
242 double m_eem2wid;
243 double m_eem3nar;
244 double m_eem3wid;
245
252
253 double m_eem0rad;
254 double m_eem1rad;
255 double m_eem2rad;
256 double m_eem3rad;
257
258 double m_em0weta;
259 double m_em1weta;
260 double m_em2weta;
261 double m_em3weta;
265
273};
274
275/************************************************************/
276//
277// return values for the different variables in the EMShowerMinimal object
278//
279
280inline double EMShowerMinimal::ehad1() const { return m_ehad1 ;}
281inline double EMShowerMinimal::e237() const { return m_e237 ;}
282inline double EMShowerMinimal::e277() const { return m_e277 ;}
283inline double EMShowerMinimal::weta2() const { return m_weta2 ;}
284inline double EMShowerMinimal::e2tsts1() const { return m_e2tsts1 ;}
285inline double EMShowerMinimal::fracs1() const { return m_fracs1 ;}
286inline double EMShowerMinimal::emaxs1() const { return m_emaxs1 ;}
287inline double EMShowerMinimal::l1SimEta() const { return m_l1SimEta ;}
288inline double EMShowerMinimal::l1SimPhi() const { return m_l1SimPhi ;}
289inline double EMShowerMinimal::l1SimEmClus() const { return m_l1SimEmClus ;}
290inline double EMShowerMinimal::l1SimEmIsol() const { return m_l1SimEmIsol ;}
291inline double EMShowerMinimal::l1SimHdCore() const { return m_l1SimHdCore ;}
292inline double EMShowerMinimal::l1SimHdIsol() const { return m_l1SimHdIsol ;}
294
295inline long EMShowerMinimal::RoIword() const { return m_RoIword ;}
296inline double EMShowerMinimal::eem0nar() const { return m_eem0nar ;}
297inline double EMShowerMinimal::eem0wid() const { return m_eem0wid ;}
298inline double EMShowerMinimal::eem1nar() const { return m_eem1nar ;}
299inline double EMShowerMinimal::eem1wid() const { return m_eem1wid ;}
300inline double EMShowerMinimal::eem2nar() const { return m_eem2nar ;}
301inline double EMShowerMinimal::eem2wid() const { return m_eem2wid ;}
302inline double EMShowerMinimal::eem3nar() const { return m_eem3nar ;}
303inline double EMShowerMinimal::eem3wid() const { return m_eem3wid ;}
304
305inline double EMShowerMinimal::ehad1nar() const { return m_ehad1nar ;}
306inline double EMShowerMinimal::ehad1wid() const { return m_ehad1wid ;}
307inline double EMShowerMinimal::ehad2nar() const { return m_ehad2nar ;}
308inline double EMShowerMinimal::ehad2wid() const { return m_ehad2wid ;}
309inline double EMShowerMinimal::ehad3nar() const { return m_ehad3nar ;}
310inline double EMShowerMinimal::ehad3wid() const { return m_ehad3wid ;}
311
312inline double EMShowerMinimal::eem0rad() const { return m_eem0rad ;}
313inline double EMShowerMinimal::eem1rad() const { return m_eem1rad ;}
314inline double EMShowerMinimal::eem2rad() const { return m_eem2rad ;}
315inline double EMShowerMinimal::eem3rad() const { return m_eem3rad ;}
316inline double EMShowerMinimal::em0weta() const { return m_em0weta ;}
317inline double EMShowerMinimal::em1weta() const { return m_em1weta ;}
318inline double EMShowerMinimal::em2weta() const { return m_em2weta ;}
319inline double EMShowerMinimal::em3weta() const { return m_em3weta ;}
320inline double EMShowerMinimal::had1weta() const { return m_had1weta ;}
321inline double EMShowerMinimal::had2weta() const { return m_had2weta ;}
322inline double EMShowerMinimal::had3weta() const { return m_had3weta ;}
323inline double EMShowerMinimal::energyem0nor() const { return m_energyem0nor;}
324inline double EMShowerMinimal::energyem1nor() const { return m_energyem1nor;}
325inline double EMShowerMinimal::energyem2nor() const { return m_energyem2nor;}
326inline double EMShowerMinimal::energyem3nor() const { return m_energyem3nor;}
327inline double EMShowerMinimal::energyhad1nor() const { return m_energyhad1nor;}
328inline double EMShowerMinimal::energyhad2nor() const { return m_energyhad2nor;}
329inline double EMShowerMinimal::energyhad3nor() const { return m_energyhad3nor;}
330
331//inline const CaloCluster* EMShowerMinimal::caloClus() { return m_caloClus ;}
333{
334 if (m_caloClus.isValid()){
335 return *m_caloClus;
336 } else {
337 return nullptr;
338 }
339}
340//
341// set values for the different variables in the EMShowerMinimal object
342//
343inline void EMShowerMinimal::set_ehad1(double x) { m_ehad1=x ;}
344inline void EMShowerMinimal::set_e237(double x) { m_e237=x ;}
345inline void EMShowerMinimal::set_e277(double x) { m_e277=x ;}
346inline void EMShowerMinimal::set_weta2(double x) { m_weta2=x ;}
347inline void EMShowerMinimal::set_e2tsts1(double x) { m_e2tsts1=x ;}
348inline void EMShowerMinimal::set_fracs1(double x) { m_fracs1=x ;}
349inline void EMShowerMinimal::set_emaxs1(double x) { m_emaxs1=x ;}
350// replace old set method due to navigation, use set_Cluster now in algos
351// inline void EMShowerMinimal::set_caloClus(const CaloCluster* x) { m_caloClus=x ;}
352inline void EMShowerMinimal::set_caloClus( const CaloCluster* x) { m_caloClus.setElement(x); }
354 m_caloClus.toIndexedElement( *pCont, index);
355 }
356
364
374
381
400
401CLASS_DEF( EMShowerMinimal , 106464894, 1 )
402
403#endif
404
405
406
407
408
409
410
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
#define x
Principal data class for CaloCell clusters.
Minimal EM shower property data class, as needed by LVL2.
double l1SimEmIsol() const
simulated isolation energy in em calo lvl1 ROI
void set_eem3nar(double)
void set_l1SimnRoIperRegion(long)
void set_weta2(double)
void set_energyhad1nor(double)
void set_eem3rad(double)
void set_energyhad2nor(double)
double eem3rad() const
EM radius samp 3.
const CaloCluster * caloClus() const
pointer to calorimeter cluster
double had1weta() const
had eta width samp 1
void set_em2weta(double)
void set_eem3wid(double)
void set_ehad1(double)
double e237() const
uncor energy in 3x7 cells in em sampling 2
double e277() const
uncor energy in 7x7 cells in em sampling 2
double energyhad2nor() const
HAD energy normalization samp 2.
void set_energyem0nor(double)
EMShowerMinimal()
Default constructor.
void set_em3weta(double)
double eem0rad() const
EM radius samp 0.
void set_l1SimHdIsol(double)
void set_ehad3nar(double)
void set_had3weta(double)
double ehad1() const
E leakage into 1st sampling of had calo.
double l1SimEmClus() const
simulated max 2x1 or 1x2 energy in em calo lvl1 ROI
~EMShowerMinimal()=default
Destructor.
void set_eem0nar(double)
double ehad1wid() const
energy in wide HAD1 region
void set_e277(double)
void set_eem2rad(double)
void set_RoIword(long)
void set_energyem1nor(double)
void set_em0weta(double)
double ehad1nar() const
energy in narrow HAD1 region
double em3weta() const
EM eta width samp 3.
double had2weta() const
had eta width samp 2
void set_e237(double)
void set_ehad3wid(double)
double energyem2nor() const
EM energy normalization samp 2.
void set_l1SimEmClus(double)
void set_energyem2nor(double)
double energyhad3nor() const
HAD energy normalization samp 3.
void set_caloClus(const CaloCluster *)
void set_l1SimHdCore(double)
double ehad2wid() const
energy in wide HAD2 region
void set_eem2nar(double)
double em1weta() const
EM eta width samp 1.
double eem3nar() const
energy in narrow EM3 region
void set_e2tsts1(double)
double eem0nar() const
energy in narrow EM0 region
double eem2nar() const
energy in narrow EM2 region
void set_l1SimEta(double)
void set_ehad2nar(double)
double l1SimHdIsol() const
simulated isolation energy in had calo lvl1 ROI
double energyem0nor() const
EM energy normalization samp 0.
void set_emaxs1(double)
double energyhad1nor() const
HAD energy normalization samp 1.
double energyem1nor() const
EM energy normalization samp 1.
double fracs1() const
energy outside core (E(+-7)-E(+-3))/E(+-7)
void set_eem0rad(double)
double energyem3nor() const
EM energy normalization samp 3.
void set_l1SimEmIsol(double)
long RoIword() const
L1 RoI word.
void set_ehad1nar(double)
double eem1nar() const
energy in narrow EM1 region
double had3weta() const
had eta width samp 3
void set_ehad2wid(double)
void set_em1weta(double)
void set_eem1wid(double)
double em2weta() const
EM eta width samp 2.
void set_ehad1wid(double)
double ehad3wid() const
energy in wide HAD3 region
double l1SimPhi() const
simulated phi pos of lvl1 ROI
long l1SimnRoIperRegion() const
number of ROI found in the given Region per call of T2CaloL1Sim, expected 1
double emaxs1() const
energy of strip with maximal energy deposit
void set_eem1nar(double)
double eem2wid() const
energy in wide EM2 region
double ehad3nar() const
energy in narrow HAD3 region
double l1SimHdCore() const
simulated 2x2 energy in had calo lvl1 ROI
double eem3wid() const
energy in wide EM3 region
double e2tsts1() const
2nd maximum in strips
void set_eem2wid(double)
void set_Cluster(CaloClusterContainer *, int)
double ehad2nar() const
energy in narrow HAD2 region
double eem0wid() const
energy in wide EM0 region
double eem1rad() const
EM radius samp 1.
void set_had1weta(double)
void set_had2weta(double)
double l1SimEta() const
simulated eta pos of lvl1 ROI
void set_eem0wid(double)
void set_energyhad3nor(double)
double weta2() const
corrected width in 3x5 cells in the 2nd samp
void set_energyem3nor(double)
double em0weta() const
EM eta width samp 0.
double eem1wid() const
energy in wide EM1 region
void set_eem1rad(double)
ElementLink< CaloClusterContainer > m_caloClus
void set_fracs1(double)
void set_l1SimPhi(double)
double eem2rad() const
EM radius samp 2.
Definition index.py:1