ATLAS Offline Software
Egamma_v1.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef XAODEGAMMA_VERSIONS_EGAMMA_V1_H
8 #define XAODEGAMMA_VERSIONS_EGAMMA_V1_H
9 
10 // Core include(s):
11 #include "AthLinks/ElementLink.h"
12 
13 // xAOD include(s):
14 #include "xAODBase/IParticle.h"
15 
16 //Egamma includes
17 #include "xAODEgamma/EgammaDefs.h"
18 #include "xAODEgamma/EgammaEnums.h"
19 
20 //CaloCluster include
23 
24 //xAOD Primitives
28 
29 //Eigen/Amg includes , prefer to do it via EventPrimitives for now
31 
32 //std Include
33 #include <stdint.h>
34 
35 // ROOT include(s):
36 #include "Math/Vector4D.h"
37 
38 //Already include the DataVector specialization for this type
40 
41 
42 namespace xAOD {
43 
56  class Egamma_v1 :public IParticle {
57 
58  protected:
63 
65 
67  Egamma_v1();
68 
72 
73  public:
74 
77 
80 
82 
83 
87 
89  virtual double pt() const override final;
90 
92  virtual double eta() const override final;
93 
95  virtual double phi() const override final;
96 
98  virtual double m() const override final;
99 
101  virtual double e() const override final;
102 
104  virtual double rapidity() const override final;
105 
108 
110  virtual FourMom_t p4() const override final;
111 
113  virtual Type::ObjectType type() const override =0 ;
114 
116 
117 
120 
122  typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > GenVecFourMom_t;
123 
126 
128  void setP4(float pt, float eta, float phi, float m);
129 
131  void setPt(float pt);
132 
134  void setEta(float eta);
135 
137  void setPhi(float phi);
138 
140  void setM(float m);
141 
143 
146 
148  typedef Eigen::Matrix<float,4,4> EgammaCovMatrix_t;
149 
152 
156 
159 
162  size_t nCaloClusters() const;
163 
166  const xAOD::CaloCluster* caloCluster( size_t index = 0 ) const;
167 
171  caloClusterLink( size_t index = 0 ) const;
172 
175 
180 
182 
183 
186 
188  uint16_t author(uint16_t bitmask=EgammaParameters::AuthorALL) const;
189 
191  void addAuthor( uint16_t );
192 
194  void setAuthor( uint16_t );
196 
200 
204 
205 
211 
213  bool showerShapeValue(float& value,const EgammaParameters::ShowerShapeType information) const;
214 
217  float showerShapeValue(const EgammaParameters::ShowerShapeType information) const;
218 
220  bool setShowerShapeValue(float value, const EgammaParameters::ShowerShapeType information) ;
221 
223 
224 
227 
229  bool isGoodOQ(uint32_t mask ) const;
230 
232  uint32_t OQ( ) const;
233 
235  void setOQ(uint32_t newOQ);
236 
238 
244 
246  bool isolation(float& value, const Iso::IsolationType information) const;
247 
250  float isolation(const Iso::IsolationType information) const;
251 
253  bool setIsolation(float value, const Iso::IsolationType information);
254 
255 
257  bool isolationValue(float& value, const Iso::IsolationType information) const{
258 
259  return isolation(value,information);
260  }
263  float isolationValue(const Iso::IsolationType information) const{
264 
265  return isolation(information);
266  }
268  bool setIsolationValue(float value, const Iso::IsolationType information){
269  return setIsolation(value,information);
270  }
271 
273 
279 
282  const Iso::IsolationCorrectionParameter param) const;
283 
287  const Iso::IsolationCorrectionParameter param) const;
288 
292 
295 
299 
302 
304  bool isolationTrackCorrection(float& value, const Iso::IsolationFlavour flavour , const Iso::IsolationTrackCorrection corr ) const;
305 
308  float isolationTrackCorrection(const Iso::IsolationFlavour flavour , const Iso::IsolationTrackCorrection corr) const;
309 
312 
313 
315  bool isolationCorrectionBitset(std::bitset<32>& value, const Iso::IsolationFlavour flavour ) const;
316 
319  std::bitset<32> isolationCorrectionBitset(const Iso::IsolationFlavour flavour ) const;
320 
323 
325 
326 
327 
328 
331 
337  bool passSelection(bool& value, const std::string& menu ) const;
338 
342  bool passSelection( const std::string& menu ) const;
343 
345  void setPassSelection(bool value, const std::string& menu);
346 
352  bool selectionisEM(unsigned int& value, const std::string& isEM) const;
353 
357  unsigned int selectionisEM(const std::string& isEM) const;
358 
360  void setSelectionisEM(unsigned int value, const std::string& isEM);
361 
367  bool likelihoodValue(float& value, const std::string& LHValue=std::string("LHValue")) const;
368 
372  float likelihoodValue(const std::string& LHValue=std::string("LHValue")) const;
373 
375  void setLikelihoodValue(float value, const std::string& LHValue=std::string("LHValue"));
376 
378 
379 
380  }; // class Egamma
381 
382 
383 } // namespace xAOD
384 
385 //Finish declaration of IParticle as a base class of Egamma
387 
388 #endif // XAODEGAMMA_VERSIONS_EGAMMA_V1_H
Matrix
Definition: Trigger/TrigT1/TrigT1RPChardware/TrigT1RPChardware/Matrix.h:15
xAOD::Egamma_v1::setAuthor
void setAuthor(uint16_t)
set author
Definition: Egamma_v1.cxx:178
xAOD::Egamma_v1::isolationCaloCorrection
bool isolationCaloCorrection(float &value, const Iso::IsolationFlavour flavour, const Iso::IsolationCaloCorrection corr, const Iso::IsolationCorrectionParameter param) const
Accessor for flavour and type depended Isolation Calo correction.
Definition: Egamma_v1.cxx:281
xAOD::Egamma_v1::type
virtual Type::ObjectType type() const override=0
The type of the object as a simple enumeration, remains pure virtual in e/gamma.
xAOD::Egamma_v1::passSelection
bool passSelection(const std::string &menu) const
Check if the egamma object pass a selection menu (using the name) If the particular menu decision is ...
xAOD::Egamma_v1::setLikelihoodValue
void setLikelihoodValue(float value, const std::string &LHValue=std::string("LHValue"))
Set the LHValue as float.
IParticle.h
xAOD::Egamma_v1::setIsolationCaloCorrection
bool setIsolationCaloCorrection(float value, const Iso::IsolationFlavour flavour, const Iso::IsolationCaloCorrection corr, const Iso::IsolationCorrectionParameter param)
set method for flavour and type depended Isolation Calo Corrections.
Definition: Egamma_v1.cxx:300
ParticleTest.eg
eg
Definition: ParticleTest.py:29
IsolationCorrection.h
xAOD::EgammaParameters::ShowerShapeType
ShowerShapeType
Definition: EgammaEnums.h:27
ObjectType
ObjectType
Definition: BaseObject.h:11
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD::Egamma_v1::addAuthor
void addAuthor(uint16_t)
add author
Definition: Egamma_v1.cxx:172
index
Definition: index.py:1
xAOD::Iso::IsolationFlavour
IsolationFlavour
Enumeration for different ways of calculating isolation in xAOD files.
Definition: IsolationFlavour.h:17
xAOD::Egamma_v1::isolationValue
bool isolationValue(float &value, const Iso::IsolationType information) const
old Accessor for Isolation values.
Definition: Egamma_v1.h:257
xAOD::Egamma_v1::e
virtual double e() const override final
The total energy of the particle.
Definition: Egamma_v1.cxx:90
IsolationType.h
xAOD::Egamma_v1::author
uint16_t author(uint16_t bitmask=EgammaParameters::AuthorALL) const
Get author.
Definition: Egamma_v1.cxx:166
xAOD::Egamma_v1::setM
void setM(float m)
set the Mass
Definition: Egamma_v1.cxx:130
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
xAOD::Egamma_v1::setIsolationTrackCorrection
bool setIsolationTrackCorrection(float value, const Iso::IsolationFlavour flavour, const Iso::IsolationTrackCorrection corr)
Set method for Isolation Track Corrections.
Definition: Egamma_v1.cxx:346
xAOD::Egamma_v1::isolationCorrectionBitset
bool isolationCorrectionBitset(std::bitset< 32 > &value, const Iso::IsolationFlavour flavour) const
Accessor for Isolation corection Bitset.
Definition: Egamma_v1.cxx:353
athena.value
value
Definition: athena.py:122
xAOD::Egamma_v1::p4
virtual FourMom_t p4() const override final
The full 4-momentum of the particle as a TLoretzVector.
Definition: Egamma_v1.cxx:98
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
EgammaContainerFwd.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
xAOD::Egamma_v1::nCaloClusters
size_t nCaloClusters() const
Return the number of xAOD::CaloClusters that define the electron candidate.
Definition: Egamma_v1.cxx:377
xAOD::Iso::IsolationCorrectionParameter
IsolationCorrectionParameter
Definition: Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationCorrection.h:91
xAOD::Egamma_v1::showerShapeValue
bool showerShapeValue(float &value, const EgammaParameters::ShowerShapeType information) const
Accessor for ShowerShape values.
Definition: Egamma_v1.cxx:207
xAOD::Egamma_v1::setIsolation
bool setIsolation(float value, const Iso::IsolationType information)
set method for Isolation values.
Definition: Egamma_v1.cxx:272
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
xAOD::Egamma_v1::caloClusterLink
const ElementLink< CaloClusterContainer > & caloClusterLink(size_t index=0) const
ElementLink to the xAOD::CaloCluster/s that match the electron candidate.
Definition: Egamma_v1.cxx:401
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:68
xAOD::Egamma_v1::setCovMatrix
void setCovMatrix(const EgammaCovMatrix_t &cov)
set the 4x4 symmetric covariance matrix .
Definition: Egamma_v1.cxx:158
xAOD::Egamma_v1::ambiguousObject
const Egamma_v1 * ambiguousObject() const
Get ambiguous.
Definition: Egamma_v1.cxx:193
menu
make the sidebar many part of the config
Definition: hcg.cxx:551
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
CP::Iso
@ Iso
Definition: MuonEfficiencyType.h:16
xAOD::Egamma_v1::setP4
void setP4(float pt, float eta, float phi, float m)
set the 4-vec
Definition: Egamma_v1.cxx:104
xAOD::Egamma_v1::likelihoodValue
float likelihoodValue(const std::string &LHValue=std::string("LHValue")) const
Return the LH value as float If the LH Value is not stored in this xAOD::Egamma, an exception will oc...
xAOD::EgammaParameters::AuthorALL
const uint16_t AuthorALL
not an actual author, but used as default in some functions
Definition: EgammaDefs.h:40
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
xAOD::Egamma_v1::setIsolationValue
bool setIsolationValue(float value, const Iso::IsolationType information)
old set method for Isolation values.
Definition: Egamma_v1.h:268
CaloCluster.h
xAOD::Egamma_v1::Egamma_v1
Egamma_v1(const Egamma_v1 &eg)
Copy constructor (default implementation)
xAOD::Egamma_v1::isolation
bool isolation(float &value, const Iso::IsolationType information) const
Accessor for Isolation values.
Definition: Egamma_v1.cxx:253
xAOD::Egamma_v1::operator=
Egamma_v1 & operator=(const Egamma_v1 &eg)
Assignment Operator. Using the assignment of SG::AuxElement.
Definition: Egamma_v1.cxx:53
vector
Definition: MultiHisto.h:13
DMTest::links
links
Definition: CLinks_v1.cxx:22
xAOD::Egamma_v1::setPhi
void setPhi(float phi)
set the phi
Definition: Egamma_v1.cxx:125
xAOD::Iso::IsolationType
IsolationType
Overall enumeration for isolation types in xAOD files.
Definition: IsolationType.h:26
xAOD::Egamma_v1::caloCluster
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
Definition: Egamma_v1.cxx:388
xAOD::Egamma_v1::phi
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
Definition: Egamma_v1.cxx:75
xAOD::Egamma_v1::OQ
uint32_t OQ() const
Return the object quality bit word.
Definition: Egamma_v1.cxx:242
xAODType
Definition: ObjectType.h:13
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
xAOD::Egamma_v1::setCaloClusterLinks
void setCaloClusterLinks(const CLELVec_t &links)
set Pointer to the xAOD::CaloCluster
xAOD::Egamma_v1::covMatrix
EgammaCovMatrix_t covMatrix() const
Returns the 4x4 symmetric covariance matrix .
Definition: Egamma_v1.cxx:135
xAOD::Egamma_v1::setPt
void setPt(float pt)
set the Pt
Definition: Egamma_v1.cxx:115
xAOD::Iso::IsolationTrackCorrection
IsolationTrackCorrection
Definition: Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationCorrection.h:61
EventPrimitives.h
xAOD::Egamma_v1::caloClusterLinks
const CLELVec_t & caloClusterLinks() const
Get all cluster links.
xAOD::Egamma_v1::rapidity
virtual double rapidity() const override final
The true rapidity (y) of the particle.
Definition: Egamma_v1.cxx:94
xAOD::Egamma_v1::EgammaCovMatrix_t
Eigen::Matrix< float, 4, 4 > EgammaCovMatrix_t
4x4 Covariance Matrix in EtEtaPhiM (needs decision)
Definition: Egamma_v1.h:148
xAOD::Egamma_v1::setEta
void setEta(float eta)
set the eta
Definition: Egamma_v1.cxx:120
xAOD::Egamma_v1::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for egamma.
Definition: Egamma_v1.h:122
xAOD::Egamma_v1::Egamma_v1
Egamma_v1()
Default constructor.
Definition: Egamma_v1.cxx:47
xAOD::Egamma_v1::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal egamma type.
Definition: Egamma_v1.cxx:86
xAOD::Egamma_v1::likelihoodValue
bool likelihoodValue(float &value, const std::string &LHValue=std::string("LHValue")) const
Return the LH value as float If the LH decision is stored in this xAOD::Egamma, then the function fil...
DATAVECTOR_BASE_FIN
DATAVECTOR_BASE_FIN(xAOD::Egamma_v1, xAOD::IParticle)
EgammaEnums.h
xAOD::Iso::IsolationCaloCorrection
IsolationCaloCorrection
Enumeration for different ways of correcting isolation in xAOD files.
Definition: Event/xAOD/xAODPrimitives/xAODPrimitives/IsolationCorrection.h:18
IsolationFlavour.h
EgammaDefs.h
CaloClusterContainer.h
xAOD::Egamma_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: Egamma_v1.cxx:65
xAOD::Egamma_v1::eta
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition: Egamma_v1.cxx:70
xAOD::Egamma_v1::selectionisEM
bool selectionisEM(unsigned int &value, const std::string &isEM) const
Return the isEM word for a selection menu If the menu isEM is stored in this xAOD::Egamma,...
Definition: Egamma_v1.cxx:433
xAOD::Egamma_v1::m
virtual double m() const override final
The invariant mass of the particle.
Definition: Egamma_v1.cxx:80
xAOD::Egamma_v1::setPassSelection
void setPassSelection(bool value, const std::string &menu)
Set the selection decision for a menu (using the name)
xAOD::Egamma_v1::CLELVec_t
std::vector< ElementLink< CaloClusterContainer > > CLELVec_t
Helper type definition.
Definition: Egamma_v1.h:174
xAOD::Egamma_v1::isolationTrackCorrection
bool isolationTrackCorrection(float &value, const Iso::IsolationFlavour flavour, const Iso::IsolationTrackCorrection corr) const
Accessor for Isolation Track correction.
Definition: Egamma_v1.cxx:330
xAOD::Egamma_v1::setShowerShapeValue
bool setShowerShapeValue(float value, const EgammaParameters::ShowerShapeType information)
Set method for Shower Shape values.
Definition: Egamma_v1.cxx:226
xAOD::Egamma_v1::setOQ
void setOQ(uint32_t newOQ)
Set the object quality.
Definition: Egamma_v1.cxx:247
xAOD::Egamma_v1::isolationValue
float isolationValue(const Iso::IsolationType information) const
old Accessor to Isolation values , this just returns the value without internaly checking if it exist...
Definition: Egamma_v1.h:263
ROOT
Definition: ViewVectorBaseStreamer.cxx:43
xAOD::Egamma_v1::setIsolationCorrectionBitset
bool setIsolationCorrectionBitset(uint32_t value, const Iso::IsolationFlavour flavour)
Set method for Isolation corection Bitset.
Definition: Egamma_v1.cxx:369
xAOD::Egamma_v1::passSelection
bool passSelection(bool &value, const std::string &menu) const
Check if the egamma object pass a selection menu (using the name) If the menu decision is stored in t...
xAOD::Egamma_v1::setSelectionisEM
void setSelectionisEM(unsigned int value, const std::string &isEM)
Set the isEM word for a selection menu (using the name)
Definition: Egamma_v1.cxx:447
xAOD::Egamma_v1::isGoodOQ
bool isGoodOQ(uint32_t mask) const
Check object quality. Return True is it is Good Object Quality.
Definition: Egamma_v1.cxx:236