ATLAS Offline Software
Loading...
Searching...
No Matches
IL1TriggerTowerToolRun3.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
5// L1TriggerTowerToolRun3.h,
7
8#ifndef IL1TRIGGERTOWERTOOLRUN3_H
9#define IL1TRIGGERTOWERTOOLRUN3_H
10
11#include <cstdint>
12#include <vector>
13
14#include "GaudiKernel/IAlgTool.h"
15#include "Identifier/Identifier.h"
19
20class EventContext;
21
22namespace LVL1
23{
24
28
29static const InterfaceID IID_IL1TriggerTowerToolRun3("LVL1::IL1TriggerTowerToolRun3",1,0);
30
31class IL1TriggerTowerToolRun3 : virtual public IAlgTool {
32 public:
33
34 static const InterfaceID& interfaceID( );
35
36 // declaration of interface-defining member functions
37
38
39 virtual void process(const EventContext& ctx, const std::vector<int> &digits,
40 double eta, double phi, int EmHad,
41 std::vector<int> &et, std::vector<int> &bcidResults,
42 std::vector<int> &bcidDecisions, bool useJepLut = true) = 0;
43
44 virtual void process(const EventContext& ctx, const std::vector<int> &digits, const L1CaloCoolChannelId& channelId,
45 std::vector<int> &et, std::vector<int> &bcidResults,
46 std::vector<int> &bcidDecisions, bool useJepLut = true) = 0;
47
48
49 virtual void simulateChannel(const EventContext& ctx, const xAOD::TriggerTower& tt, std::vector<int>& outCpLut, std::vector<int>& outJepLut, std::vector<int>& bcidResults,std::vector<int>& bcidDecisions) const = 0;
50
51 virtual void pedestalCorrection(std::vector<int>& firInOut, int firPed, int iElement, int layer,
52 int bcid, float mu, std::vector<int_least16_t>& correctionOut) = 0;
53
54 virtual void fir(const EventContext& ctx, const std::vector<int> &digits, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
55 virtual void fir(const std::vector<int> &digits, const std::vector<int> &firCoeffs, std::vector<int> &output) const = 0;
56 virtual void dropBits(const EventContext& ctx, const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
57 virtual void dropBits(const std::vector<int> &fir, unsigned int first, std::vector<int> &output) const = 0;
58 virtual void etRange(const EventContext& ctx, const std::vector<int> &et, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
59 virtual void etRange(const std::vector<int> &et, int energyLow, int energyHigh, std::vector<int> &output) const = 0;
60 virtual void peakBcid(const EventContext& ctx, const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
61 virtual void peakBcid(const std::vector<int> &fir, unsigned int strategy, std::vector<int> &output) const = 0;
62 virtual void satBcid(const EventContext& ctx, const std::vector<int> &digits, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
63 virtual void satBcid(const std::vector<int> &digits, int satLow, int satHigh, int satLevel, std::vector<int> &output) const = 0;
64 virtual void bcid(const EventContext& ctx, const std::vector<int> &fir, const std::vector<int> &digits, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
65 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) const = 0;
66 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) const = 0;
67 virtual void bcidDecisionRange(const EventContext& ctx, const std::vector<int>& lutInput, const std::vector<int>& digits, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
68 virtual void bcidDecision(const EventContext& ctx, const std::vector<int> &bcidResults, const std::vector<int> &range, std::vector<int> &output) const = 0;
69 virtual void cpLut(const EventContext& ctx, const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
70 virtual void jepLut(const EventContext& ctx, const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output) const = 0;
71 virtual void lut(const std::vector<int> &fir, int slope, int offset, int cut, int strategy, bool disabled, std::vector<int> &output) const= 0;
72 virtual void applyEtRange(const EventContext& ctx, const std::vector<int>& lut, const std::vector<int>& range, const L1CaloCoolChannelId& channelId, std::vector<int>& output) const = 0;
73 virtual void firParams(const EventContext& ctx, const L1CaloCoolChannelId& channelId, std::vector<int>& firCoeffs) const = 0;
74 virtual void bcidParams(const EventContext& ctx, const L1CaloCoolChannelId& channelId, int &energyLow, int &energyHigh, int &decisionSource, std::vector<unsigned int>& decisionConditions,
75 unsigned int &peakFinderStrategy, int &satLow, int &satHigh, int &satLevel) const= 0;
76 virtual void cpLutParams(const EventContext& ctx, const L1CaloCoolChannelId& channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled) = 0;
77 virtual void jepLutParams(const EventContext& ctx, const L1CaloCoolChannelId& channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled) = 0;
78 virtual Identifier identifier(double eta, double phi, int layer) = 0;
79 virtual HWIdentifier hwIdentifier(double eta, double phi, int layer) = 0;
80 virtual HWIdentifier hwIdentifier(const Identifier& id) = 0;
81 virtual L1CaloCoolChannelId channelID(double eta, double phi, int layer) = 0;
83 virtual bool satOverride(const EventContext& ctx, int range) const = 0;
84 virtual bool disabledChannel(const EventContext& ctx, const L1CaloCoolChannelId& channelId) const = 0;
85 virtual double FCalTTeta(const L1CaloCoolChannelId& channelId) = 0;
86 virtual double FCalTTeta(double nominalEta, double phi, int layer) = 0;
87 virtual std::pair<double, double> refValues(const EventContext& ctx, const L1CaloCoolChannelId& channelId) = 0;
88
89};
90
91inline const InterfaceID& IL1TriggerTowerToolRun3::interfaceID()
92{
94}
95
96} // end of namespace
97
98#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Encapsulates the ID of one channel of conditions data in COOL, ie the ID of a row in a table.
virtual void cpLutParams(const EventContext &ctx, const L1CaloCoolChannelId &channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled)=0
virtual void etRange(const std::vector< int > &et, int energyLow, int energyHigh, std::vector< int > &output) const =0
virtual HWIdentifier hwIdentifier(double eta, double phi, int layer)=0
virtual void jepLutParams(const EventContext &ctx, const L1CaloCoolChannelId &channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled)=0
virtual void process(const EventContext &ctx, 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
virtual double FCalTTeta(double nominalEta, double phi, int layer)=0
virtual void applyEtRange(const EventContext &ctx, const std::vector< int > &lut, const std::vector< int > &range, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual void dropBits(const std::vector< int > &fir, unsigned int first, std::vector< int > &output) const =0
virtual void peakBcid(const EventContext &ctx, const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual void dropBits(const EventContext &ctx, const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual void pedestalCorrection(std::vector< int > &firInOut, int firPed, int iElement, int layer, int bcid, float mu, std::vector< int_least16_t > &correctionOut)=0
virtual L1CaloCoolChannelId channelID(double eta, double phi, int layer)=0
virtual HWIdentifier hwIdentifier(const Identifier &id)=0
virtual void satBcid(const EventContext &ctx, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual std::pair< double, double > refValues(const EventContext &ctx, const L1CaloCoolChannelId &channelId)=0
virtual Identifier identifier(double eta, double phi, int layer)=0
virtual void simulateChannel(const EventContext &ctx, const xAOD::TriggerTower &tt, std::vector< int > &outCpLut, std::vector< int > &outJepLut, std::vector< int > &bcidResults, std::vector< int > &bcidDecisions) const =0
virtual void lut(const std::vector< int > &fir, int slope, int offset, int cut, int strategy, bool disabled, std::vector< int > &output) const =0
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) const =0
virtual void bcidDecision(const EventContext &ctx, const std::vector< int > &bcidResults, const std::vector< int > &range, std::vector< int > &output) const =0
virtual void fir(const EventContext &ctx, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
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) const =0
virtual L1CaloCoolChannelId channelID(const Identifier &id)=0
virtual void jepLut(const EventContext &ctx, const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual bool disabledChannel(const EventContext &ctx, const L1CaloCoolChannelId &channelId) const =0
virtual void fir(const std::vector< int > &digits, const std::vector< int > &firCoeffs, std::vector< int > &output) const =0
virtual void bcidDecisionRange(const EventContext &ctx, const std::vector< int > &lutInput, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual void cpLut(const EventContext &ctx, const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual void bcid(const EventContext &ctx, const std::vector< int > &fir, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual void satBcid(const std::vector< int > &digits, int satLow, int satHigh, int satLevel, std::vector< int > &output) const =0
static const InterfaceID & interfaceID()
virtual void process(const EventContext &ctx, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &et, std::vector< int > &bcidResults, std::vector< int > &bcidDecisions, bool useJepLut=true)=0
virtual void peakBcid(const std::vector< int > &fir, unsigned int strategy, std::vector< int > &output) const =0
virtual void etRange(const EventContext &ctx, const std::vector< int > &et, const L1CaloCoolChannelId &channelId, std::vector< int > &output) const =0
virtual void firParams(const EventContext &ctx, const L1CaloCoolChannelId &channelId, std::vector< int > &firCoeffs) const =0
virtual void bcidParams(const EventContext &ctx, const L1CaloCoolChannelId &channelId, int &energyLow, int &energyHigh, int &decisionSource, std::vector< unsigned int > &decisionConditions, unsigned int &peakFinderStrategy, int &satLow, int &satHigh, int &satLevel) const =0
virtual bool satOverride(const EventContext &ctx, int range) const =0
virtual double FCalTTeta(const L1CaloCoolChannelId &channelId)=0
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IL1TriggerTowerToolRun3("LVL1::IL1TriggerTowerToolRun3", 1, 0)
Interface for L1TriggerTowerToolRun3.
TriggerTower_v2 TriggerTower
Define the latest version of the TriggerTower class.
Extra patterns decribing particle interation process.