ATLAS Offline Software
Loading...
Searching...
No Matches
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
21namespace 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
146
152
158
164
170
171
172 // Quantities with same number of slices as ADC data
173
179
185
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
215
218
220 bool isCpSaturated() const;
221 bool isJepSaturated() const;
222
223 private:
225
226 }; // class TriggerTower_v2
227} // namespace xAOD
228
229// Declare IParticle as a base class of TriggerTower_v2:
230#include "AthContainers/DataVector.h"
233
234#endif // XAODTRIGL1CALO_VERSIONS_TRIGGERTOWER_V2_H
Scalar eta() const
pseudorapidity method
Base class for elements of a container that can have aux data.
ObjectType
Definition BaseObject.h:11
#define DATAVECTOR_BASE(T, BASE)
Declare base class info to DataVector.
Definition DataVector.h:649
Class providing the definition of the 4-vector interface.
IParticle()=default
Description of TriggerTower_v2.
uint8_t cpET() const
get cpET from peak of lut_cp
void setPeak(uint8_t)
set peak
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
void setSat80Vec(const std::vector< uint8_t > &)
set sat80Vec
void setBcidVec(const std::vector< uint8_t > &)
set bcidVec
TriggerTower_v2 & operator=(const TriggerTower_v2 &other)
Assignment operator.
uint32_t coolId() const
Tower identifiers.
TriggerTower_v2()
Default constructor.
void setCorrectionEnabled(const std::vector< uint8_t > &)
set correctionEnabled
void setCorrection(const std::vector< int16_t > &)
set correction
virtual void initialize(const uint32_t CoolId, const float Eta, const float Phi)
initialize
virtual double rapidity() const final
The true rapidity (y) of the particle.
int sampling() const
get sampling ( 0 = EM, 1 = Had )
const std::vector< uint8_t > & correctionEnabled() const
get correctionEnabled
void setErrorWord(uint32_t)
set error
void setLut_cp(const std::vector< uint8_t > &)
set lut_cp
uint8_t adcPeak() const
get adcPeak
uint8_t peak() const
get peak
uint8_t jepET() const
get jepET from peak of lut_jep
const std::vector< uint8_t > & sat80Vec() const
get sat80Vec
bool isCpSaturated() const
Is tower saturated?
virtual Type::ObjectType type() const final
The type of the object as a simple enumeration, remains pure virtual in e/gamma.
void setBcidExt(const std::vector< uint8_t > &)
set bcidExt
virtual ~TriggerTower_v2()
Default desturctor.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for trigger tower.
uint32_t errorWord() const
get error
void setAdc(const std::vector< uint16_t > &)
set adc
virtual FourMom_t p4() const final
The full 4-momentum of the particle as a TLoretzVector.
void setLut_jep(const std::vector< uint8_t > &)
set lut_jep
const std::vector< uint16_t > & adc() const
get adc
void setAdcPeak(uint8_t)
set adcPeak
int layer() const
get layer ( 0 = EM, 1 = Had, 2 = FCAL23) - to be confirmed
virtual double pt() const final
The transverse momentum ( ) of the particle.
const std::vector< int16_t > & correction() const
get correction
const std::vector< uint8_t > & lut_cp() const
get lut_cp
const std::vector< uint8_t > & bcidVec() const
get bcidVec
virtual double m() const final
The invariant mass of the particle.
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : GenVector type.
void setCoolId(uint32_t)
set coolID
const std::vector< uint8_t > & bcidExt() const
get bcidExt
const std::vector< uint8_t > & lut_jep() const
get lut_jep
static const uint8_t m_saturation
Selection rules: declare transient members.
Definition DataVector.h:581
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
setScaleOne setStatusOne setSaturated int16_t
setWord1 uint16_t
setEventNumber uint32_t
#define private