ATLAS Offline Software
IL1TriggerTowerTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
5 // L1TriggerTowerTool.h,
7 
8 #ifndef IL1TRIGGERTOWERTOOL_H
9 #define IL1TRIGGERTOWERTOOL_H
10 
11 #include <cstdint>
12 #include <vector>
13 
14 #include "GaudiKernel/IAlgTool.h"
15 #include "Identifier/Identifier.h"
19 
20 namespace LVL1
21 {
22 
27 static const InterfaceID IID_IL1TriggerTowerTool("LVL1::IL1TriggerTowerTool",1,0);
28 
29 class IL1TriggerTowerTool : virtual public IAlgTool {
30  public:
31 
32  static const InterfaceID& interfaceID( );
33 
34  // declaration of interface-defining member functions
35 
37 
38  virtual void process(const std::vector<int> &digits,
39  double eta, double phi, int EmHad,
40  std::vector<int> &et, std::vector<int> &bcidResults,
41  std::vector<int> &bcidDecisions, bool useJepLut = true) = 0;
42 
43  virtual void process(const std::vector<int> &digits, const L1CaloCoolChannelId& channelId,
44  std::vector<int> &et, std::vector<int> &bcidResults,
45  std::vector<int> &bcidDecisions, bool useJepLut = true) = 0;
46 
47 
48  virtual void simulateChannel(const xAOD::TriggerTower& tt, std::vector<int>& outCpLut, std::vector<int>& outJepLut, std::vector<int>& bcidResults, std::vector<int>& bcidDecisions) = 0;
49 
50  virtual void pedestalCorrection(std::vector<int>& firInOut, int firPed, int iElement, int layer,
51  int bcid, float mu, std::vector<int_least16_t>& correctionOut) = 0;
52 
53  virtual void fir(const std::vector<int> &digits, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
54  virtual void fir(const std::vector<int> &digits, const std::vector<int> &firCoeffs, std::vector<int> &output) = 0;
55  virtual void dropBits(const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
56  virtual void dropBits(const std::vector<int> &fir, unsigned int first, std::vector<int> &output) = 0;
57  virtual void etRange(const std::vector<int> &et, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
58  virtual void etRange(const std::vector<int> &et, int energyLow, int energyHigh, std::vector<int> &output) = 0;
59  virtual void peakBcid(const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
60  virtual void peakBcid(const std::vector<int> &fir, unsigned int strategy, std::vector<int> &output) = 0;
61  virtual void satBcid(const std::vector<int> &digits, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
62  virtual void satBcid(const std::vector<int> &digits, int satLow, int satHigh, int satLevel, std::vector<int> &output) = 0;
63  virtual void bcid(const std::vector<int> &fir, const std::vector<int> &digits, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
64  virtual void bcid(const std::vector<int> &fir, const std::vector<int> &digits, unsigned int strategy, int satLow, int satHigh, int satLevel, std::vector<int> &output) = 0;
65  virtual void bcid(const std::vector<int> &fir, const std::vector<int> &lutInput, const std::vector<int> &digits, int energyLow, int energyHigh, int decisionSource, std::vector<unsigned int> &decisionConditions,
66  unsigned int strategy, int satLow, int satHigh, int satLevel, std::vector<int> &result, std::vector<int> &decision) = 0;
67  virtual void bcidDecisionRange(const std::vector<int>& lutInput, const std::vector<int>& digits, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
68  virtual void bcidDecision(const std::vector<int> &bcidResults, const std::vector<int> &range, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
69  virtual void bcidDecision(const std::vector<int> &bcidResults, const std::vector<int> &range, const std::vector<unsigned int> &mask, std::vector<int> &output) = 0;
70  virtual void lut(const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
71  virtual void cpLut(const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
72  virtual void jepLut(const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) = 0;
73  virtual void lut(const std::vector<int> &fir, int slope, int offset, int cut, int ped, int strategy, bool disabled, std::vector<int> &output) = 0;
74  virtual void applyEtRange(const std::vector<int>& lut, const std::vector<int>& range, const L1CaloCoolChannelId& channelId, std::vector<int>& output) = 0;
75  virtual void firParams(const L1CaloCoolChannelId& channelId, std::vector<int>& firCoeffs) = 0;
76  virtual void bcidParams(const L1CaloCoolChannelId& channelId, int &energyLow, int &energyHigh, int &decisionSource, std::vector<unsigned int>& decisionConditions,
77  unsigned int &peakFinderStrategy, int &satLow, int &satHigh, int &satLevel) = 0;
78  virtual void lutParams(const L1CaloCoolChannelId& channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled) = 0;
79  virtual void cpLutParams(const L1CaloCoolChannelId& channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled) = 0;
80  virtual void jepLutParams(const L1CaloCoolChannelId& channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled) = 0;
81  virtual Identifier identifier(double eta, double phi, int layer) = 0;
82  virtual HWIdentifier hwIdentifier(double eta, double phi, int layer) = 0;
83  virtual HWIdentifier hwIdentifier(const Identifier& id) = 0;
84  virtual L1CaloCoolChannelId channelID(double eta, double phi, int layer) = 0;
85  virtual L1CaloCoolChannelId channelID(const Identifier& id) = 0;
86  virtual bool satOverride(int range, const L1CaloCoolChannelId& channelId) = 0;
87  virtual bool disabledChannel(const L1CaloCoolChannelId& channelId) = 0;
88  virtual double FCalTTeta(const L1CaloCoolChannelId& channelId) = 0;
89  virtual double FCalTTeta(double nominalEta, double phi, int layer) = 0;
90  virtual void setDebug(bool debug) = 0;
91  virtual std::pair<double, double> refValues(const L1CaloCoolChannelId& channelId) = 0;
92  virtual StatusCode loadFTRefs() = 0;
93 };
94 
95 inline const InterfaceID& IL1TriggerTowerTool::interfaceID()
96 {
97  return IID_IL1TriggerTowerTool;
98 }
99 
100 } // end of namespace
101 
102 #endif
xAOD::strategy
strategy
Definition: L2CombinedMuon_v1.cxx:107
L1CaloCoolChannelId.h
LVL1::IL1TriggerTowerTool::bcidParams
virtual void bcidParams(const L1CaloCoolChannelId &channelId, int &energyLow, int &energyHigh, int &decisionSource, std::vector< unsigned int > &decisionConditions, unsigned int &peakFinderStrategy, int &satLow, int &satHigh, int &satLevel)=0
et
Extra patterns decribing particle interation process.
get_generator_info.result
result
Definition: get_generator_info.py:21
LVL1::IL1TriggerTowerTool::hwIdentifier
virtual HWIdentifier hwIdentifier(const Identifier &id)=0
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
LVL1::IL1TriggerTowerTool::FCalTTeta
virtual double FCalTTeta(double nominalEta, double phi, int layer)=0
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
LVL1::IL1TriggerTowerTool::peakBcid
virtual void peakBcid(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::applyEtRange
virtual void applyEtRange(const std::vector< int > &lut, const std::vector< int > &range, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::jepLutParams
virtual void jepLutParams(const L1CaloCoolChannelId &channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled)=0
LVL1::IL1TriggerTowerTool::process
virtual void process(const std::vector< int > &digits, double eta, double phi, int EmHad, std::vector< int > &et, std::vector< int > &bcidResults, std::vector< int > &bcidDecisions, bool useJepLut=true)=0
LVL1::IL1TriggerTowerTool::cpLutParams
virtual void cpLutParams(const L1CaloCoolChannelId &channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled)=0
LVL1::IL1TriggerTowerTool::bcid
virtual void bcid(const std::vector< int > &fir, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
TriggerTowerContainer.h
LVL1::IL1TriggerTowerTool::fir
virtual void fir(const std::vector< int > &digits, const std::vector< int > &firCoeffs, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::lut
virtual void lut(const std::vector< int > &fir, int slope, int offset, int cut, int ped, int strategy, bool disabled, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::bcidDecisionRange
virtual void bcidDecisionRange(const std::vector< int > &lutInput, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::lut
virtual void lut(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::bcidDecision
virtual void bcidDecision(const std::vector< int > &bcidResults, const std::vector< int > &range, const std::vector< unsigned int > &mask, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::hwIdentifier
virtual HWIdentifier hwIdentifier(double eta, double phi, int layer)=0
HWIdentifier
Definition: HWIdentifier.h:13
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
LVL1::IL1TriggerTowerTool::identifier
virtual Identifier identifier(double eta, double phi, int layer)=0
LVL1::IL1TriggerTowerTool::disabledChannel
virtual bool disabledChannel(const L1CaloCoolChannelId &channelId)=0
LVL1::IL1TriggerTowerTool::etRange
virtual void etRange(const std::vector< int > &et, int energyLow, int energyHigh, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::peakBcid
virtual void peakBcid(const std::vector< int > &fir, unsigned int strategy, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::simulateChannel
virtual void simulateChannel(const xAOD::TriggerTower &tt, std::vector< int > &outCpLut, std::vector< int > &outJepLut, std::vector< int > &bcidResults, std::vector< int > &bcidDecisions)=0
LVL1::IL1TriggerTowerTool::loadFTRefs
virtual StatusCode loadFTRefs()=0
LVL1::IL1TriggerTowerTool::FCalTTeta
virtual double FCalTTeta(const L1CaloCoolChannelId &channelId)=0
LVL1::IL1TriggerTowerTool::satOverride
virtual bool satOverride(int range, const L1CaloCoolChannelId &channelId)=0
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LVL1::IL1TriggerTowerTool::fir
virtual void fir(const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
xAOD::TriggerTower_v2
Description of TriggerTower_v2.
Definition: TriggerTower_v2.h:49
LVL1::IL1TriggerTowerTool::dropBits
virtual void dropBits(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
BindingsTest.cut
cut
This script demonstrates how to call a C++ class from Python Also how to use PyROOT is shown.
Definition: BindingsTest.py:13
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
LVL1::IL1TriggerTowerTool::setDebug
virtual void setDebug(bool debug)=0
Make4DCorrelationMatrix.nominalEta
int nominalEta
Definition: Make4DCorrelationMatrix.py:80
SCT_Monitoring::disabled
@ disabled
Definition: SCT_MonitoringNumbers.h:60
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
LVL1::IL1TriggerTowerTool::refValues
virtual std::pair< double, double > refValues(const L1CaloCoolChannelId &channelId)=0
LVL1::IL1TriggerTowerTool::firParams
virtual void firParams(const L1CaloCoolChannelId &channelId, std::vector< int > &firCoeffs)=0
merge.output
output
Definition: merge.py:17
LVL1::IL1TriggerTowerTool::lutParams
virtual void lutParams(const L1CaloCoolChannelId &channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled)=0
LVL1::IL1TriggerTowerTool::retrieveConditions
virtual StatusCode retrieveConditions()=0
HWIdentifier.h
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
LVL1::IL1TriggerTowerTool::etRange
virtual void etRange(const std::vector< int > &et, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::bcid
virtual void bcid(const std::vector< int > &fir, const std::vector< int > &lutInput, const std::vector< int > &digits, int energyLow, int energyHigh, int decisionSource, std::vector< unsigned int > &decisionConditions, unsigned int strategy, int satLow, int satHigh, int satLevel, std::vector< int > &result, std::vector< int > &decision)=0
LVL1::IL1TriggerTowerTool
Definition: IL1TriggerTowerTool.h:29
LVL1::IL1TriggerTowerTool::bcid
virtual void bcid(const std::vector< int > &fir, const std::vector< int > &digits, unsigned int strategy, int satLow, int satHigh, int satLevel, std::vector< int > &output)=0
Example_ReadSampleNoise.ped
ped
Definition: Example_ReadSampleNoise.py:45
L1CaloCoolChannelId
Definition: L1CaloCoolChannelId.h:10
LVL1::IL1TriggerTowerTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IL1TriggerTowerTool.h:95
DeMoScan.first
bool first
Definition: DeMoScan.py:534
LVL1::IL1TriggerTowerTool::satBcid
virtual void satBcid(const std::vector< int > &digits, int satLow, int satHigh, int satLevel, std::vector< int > &output)=0
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
LVL1::IL1TriggerTowerTool::pedestalCorrection
virtual void pedestalCorrection(std::vector< int > &firInOut, int firPed, int iElement, int layer, int bcid, float mu, std::vector< int_least16_t > &correctionOut)=0
LVL1::IL1TriggerTowerTool::process
virtual void process(const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &et, std::vector< int > &bcidResults, std::vector< int > &bcidDecisions, bool useJepLut=true)=0
LVL1::IL1TriggerTowerTool::dropBits
virtual void dropBits(const std::vector< int > &fir, unsigned int first, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::jepLut
virtual void jepLut(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::cpLut
virtual void cpLut(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
LVL1::IL1TriggerTowerTool::channelID
virtual L1CaloCoolChannelId channelID(double eta, double phi, int layer)=0
TileDCSDataPlotter.tt
tt
Definition: TileDCSDataPlotter.py:874
LVL1::IL1TriggerTowerTool::bcidDecision
virtual void bcidDecision(const std::vector< int > &bcidResults, const std::vector< int > &range, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::satBcid
virtual void satBcid(const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
LVL1::IL1TriggerTowerTool::channelID
virtual L1CaloCoolChannelId channelID(const Identifier &id)=0