ATLAS Offline Software
TriggerTower_v2.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id: TriggerTower_v2.h 793304 2017-01-21 04:50:44Z ssnyder $
8 #ifndef XAODTRIGL1CALO_VERSIONS_TRIGGERTOWER_V2_H
9 #define XAODTRIGL1CALO_VERSIONS_TRIGGERTOWER_V2_H
10 
11 // EDM include(s):
12 #include "xAODBase/IParticle.h"
14 
15 // System include(s):
16 #include <stdint.h>
17 
18 // ROOT include(s):
19 #include "Math/Vector4D.h"
20 
21 namespace xAOD {
22 
48 
49  class TriggerTower_v2 : public IParticle{
50  public:
58  virtual ~TriggerTower_v2(){}
59 
63 
65  virtual double pt() const final;
66 
68  virtual double eta() const final;
69  void setEta(float);
70 
72  virtual double phi() const final;
73  void setPhi(float);
74 
76  virtual double m() const final;
77 
79  virtual double e() const final;
80 
82  virtual double rapidity() const final;
83 
86 
88  virtual FourMom_t p4() const final;
89 
91  typedef ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > GenVecFourMom_t;
92 
95 
97  virtual Type::ObjectType type() const final;
98 
100 
102 
103  virtual void initialize(const uint32_t CoolId,const float Eta,const float Phi);
104 
105  virtual void initialize(const uint32_t CoolId,const float Eta,const float Phi,
106  const std::vector<uint8_t>& Lut_cp,const std::vector<uint8_t>& Lut_jep,
107  const std::vector<int16_t>& Correction,const std::vector<uint8_t>& CorrectionEnabled,
108  const std::vector<uint8_t>& BcidVec,const std::vector<uint16_t>& Adc,
109  const std::vector<uint8_t>& BcidExt,const std::vector<uint8_t>& Sat80Vec,
110  const uint32_t ErrorWord,
111  const uint8_t Peak,
112  const uint8_t AdcPeak);
113 
114  virtual void initialize(const uint32_t CoolId,const float Eta,const float Phi,
115  std::vector<uint8_t>&& Lut_cp,
116  std::vector<uint8_t>&& Lut_jep,
117  std::vector<int16_t>&& Correction,
118  std::vector<uint8_t>&& CorrectionEnabled,
119  std::vector<uint8_t>&& BcidVec,
120  std::vector<uint16_t>&& Adc,
121  std::vector<uint8_t>&& BcidExt,
122  std::vector<uint8_t>&& Sat80Vec,
123  const uint32_t ErrorWord,
124  const uint8_t Peak,
125  const uint8_t AdcPeak);
126 
128 
133 
135  int layer() const;
137  int sampling() const;
138 
139  // Quantities with same number of slices as LUT data
140 
145  void setLut_cp(std::vector<uint8_t>&&);
146 
151  void setLut_jep(std::vector<uint8_t>&&);
152 
157  void setCorrection(std::vector<int16_t>&&);
158 
164 
169  void setBcidVec(std::vector<uint8_t>&&);
170 
171 
172  // Quantities with same number of slices as ADC data
173 
177  void setAdc(const std::vector<uint16_t>&);
178  void setAdc(std::vector<uint16_t>&&);
179 
184  void setBcidExt(std::vector<uint8_t>&&);
185 
190  void setSat80Vec(std::vector<uint8_t>&&);
191 
192 
193  // One error word/tower/event
194 
199 
200  // Not part of readout, but to extract "peak" slice from vectors
201 
206 
211 
212 
214  uint8_t cpET() const;
215 
217  uint8_t jepET() const;
218 
220  bool isCpSaturated() const;
221  bool isJepSaturated() const;
222 
223  private:
224  static const uint8_t m_saturation = 255;
225 
226  }; // class TriggerTower_v2
227 } // namespace xAOD
228 
229 // Declare IParticle as a base class of TriggerTower_v2:
230 #include "AthContainers/DataVector.h"
232 
233 #endif // XAODTRIGL1CALO_VERSIONS_TRIGGERTOWER_V2_H
xAOD::TriggerTower_v2::correctionEnabled
const std::vector< uint8_t > & correctionEnabled() const
get correctionEnabled
xAOD::TriggerTower_v2::TriggerTower_v2
TriggerTower_v2()
Default constructor.
Definition: TriggerTower_v2.cxx:15
xAOD::TriggerTower_v2::errorWord
uint32_t errorWord() const
get error
xAOD::TriggerTower_v2::rapidity
virtual double rapidity() const final
The true rapidity (y) of the particle.
Definition: TriggerTower_v2.cxx:249
xAOD::TriggerTower_v2::cpET
uint8_t cpET() const
get cpET from peak of lut_cp
Definition: TriggerTower_v2.cxx:180
IParticle.h
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
xAOD::TriggerTower_v2::phi
virtual double phi() const final
The azimuthal angle ( ) of the particle.
Definition: TriggerTower_v2.cxx:222
ObjectType
ObjectType
Definition: BaseObject.h:11
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD::TriggerTower_v2::isCpSaturated
bool isCpSaturated() const
Is tower saturated?
Definition: TriggerTower_v2.cxx:196
xAOD::TriggerTower_v2::lut_cp
const std::vector< uint8_t > & lut_cp() const
get lut_cp
xAOD::TriggerTower_v2::operator=
TriggerTower_v2 & operator=(const TriggerTower_v2 &other)
Assignment operator.
Definition: TriggerTower_v2.cxx:25
xAOD::other
@ other
Definition: TrackingPrimitives.h:509
xAOD::TriggerTower_v2::correction
const std::vector< int16_t > & correction() const
get correction
xAOD::TriggerTower_v2::type
virtual Type::ObjectType type() const final
The type of the object as a simple enumeration, remains pure virtual in e/gamma.
Definition: TriggerTower_v2.cxx:266
xAOD::TriggerTower_v2::setBcidVec
void setBcidVec(const std::vector< uint8_t > &)
set bcidVec
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::TriggerTower_v2::lut_jep
const std::vector< uint8_t > & lut_jep() const
get lut_jep
xAOD::TriggerTower_v2::setAdcPeak
void setAdcPeak(uint8_t)
set adcPeak
xAOD::TriggerTower_v2::sampling
int sampling() const
get sampling ( 0 = EM, 1 = Had )
Definition: TriggerTower_v2.cxx:150
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
xAOD::TriggerTower_v2::setEta
void setEta(float)
Definition: TriggerTower_v2.cxx:216
xAOD::TriggerTower_v2::~TriggerTower_v2
virtual ~TriggerTower_v2()
Default desturctor.
Definition: TriggerTower_v2.h:58
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
xAOD::TriggerTower_v2::setAdc
void setAdc(const std::vector< uint16_t > &)
set adc
xAOD::int16_t
setScaleOne setStatusOne setSaturated int16_t
Definition: gFexGlobalRoI_v1.cxx:55
xAOD::TriggerTower_v2::bcidVec
const std::vector< uint8_t > & bcidVec() const
get bcidVec
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:68
xAOD::TriggerTower_v2::initialize
virtual void initialize(const uint32_t CoolId, const float Eta, const float Phi)
initialize
Definition: TriggerTower_v2.cxx:60
xAOD::TriggerTower_v2::setPhi
void setPhi(float)
Definition: TriggerTower_v2.cxx:228
xAOD::TriggerTower_v2::setPeak
void setPeak(uint8_t)
set peak
xAOD::TriggerTower_v2::setCoolId
void setCoolId(uint32_t)
set coolID
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
xAOD::TriggerTower_v2::setErrorWord
void setErrorWord(uint32_t)
set error
xAOD::TriggerTower_v2::pt
virtual double pt() const final
The transverse momentum ( ) of the particle.
Definition: TriggerTower_v2.cxx:234
vector
Definition: MultiHisto.h:13
xAOD::TriggerTower_v2::layer
int layer() const
get layer ( 0 = EM, 1 = Had, 2 = FCAL23) - to be confirmed
Definition: TriggerTower_v2.cxx:121
xAOD::TriggerTower_v2
Description of TriggerTower_v2.
Definition: TriggerTower_v2.h:49
xAOD::TriggerTower_v2::eta
virtual double eta() const final
The pseudorapidity ( ) of the particle.
Definition: TriggerTower_v2.cxx:210
xAOD::TriggerTower_v2::bcidExt
const std::vector< uint8_t > & bcidExt() const
get bcidExt
xAOD::TriggerTower_v2::coolId
uint32_t coolId() const
Tower identifiers.
xAODType
Definition: ObjectType.h:13
xAOD::TriggerTower_v2::m_saturation
static const uint8_t m_saturation
Definition: TriggerTower_v2.h:224
xAOD::TriggerTower_v2::setCorrection
void setCorrection(const std::vector< int16_t > &)
set correction
DATAVECTOR_BASE
DATAVECTOR_BASE(xAOD::TriggerTower_v2, xAOD::IParticle)
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
xAOD::TriggerTower_v2::setSat80Vec
void setSat80Vec(const std::vector< uint8_t > &)
set sat80Vec
xAOD::TriggerTower_v2::setLut_cp
void setLut_cp(const std::vector< uint8_t > &)
set lut_cp
xAOD::TriggerTower_v2::setLut_jep
void setLut_jep(const std::vector< uint8_t > &)
set lut_jep
xAOD::TriggerTower_v2::peak
uint8_t peak() const
get peak
xAOD::TriggerTower_v2::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : GenVector type.
Definition: TriggerTower_v2.cxx:262
xAOD::TriggerTower_v2::sat80Vec
const std::vector< uint8_t > & sat80Vec() const
get sat80Vec
xAOD::TriggerTower_v2::setCorrectionEnabled
void setCorrectionEnabled(const std::vector< uint8_t > &)
set correctionEnabled
xAOD::TriggerTower_v2::isJepSaturated
bool isJepSaturated() const
Definition: TriggerTower_v2.cxx:201
xAOD::TriggerTower_v2::adcPeak
uint8_t adcPeak() const
get adcPeak
xAOD::TriggerTower_v2::setBcidExt
void setBcidExt(const std::vector< uint8_t > &)
set bcidExt
xAOD::TriggerTower_v2::p4
virtual FourMom_t p4() const final
The full 4-momentum of the particle as a TLoretzVector.
Definition: TriggerTower_v2.cxx:254
xAOD::TriggerTower_v2::jepET
uint8_t jepET() const
get jepET from peak of lut_jep
Definition: TriggerTower_v2.cxx:186
ROOT
Definition: ViewVectorBaseStreamer.cxx:43
Eta
@ Eta
Definition: RPCdef.h:8
xAOD::TriggerTower_v2::m
virtual double m() const final
The invariant mass of the particle.
Definition: TriggerTower_v2.cxx:239
AuxElement.h
Base class for elements of a container that can have aux data.
xAOD::TriggerTower_v2::adc
const std::vector< uint16_t > & adc() const
get adc
xAOD::TriggerTower_v2::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for trigger tower.
Definition: TriggerTower_v2.h:91
xAOD::TriggerTower_v2::e
virtual double e() const final
The total energy of the particle.
Definition: TriggerTower_v2.cxx:244