ATLAS Offline Software
Loading...
Searching...
No Matches
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
20namespace LVL1
21{
22
26
27static const InterfaceID IID_IL1TriggerTowerTool("LVL1::IL1TriggerTowerTool",1,0);
28
29class IL1TriggerTowerTool : virtual public IAlgTool {
30 public:
31
32 static const InterfaceID& interfaceID( );
33
34 // declaration of interface-defining member functions
35
36 virtual StatusCode retrieveConditions() = 0;
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;
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
95inline const InterfaceID& IL1TriggerTowerTool::interfaceID()
96{
98}
99
100} // end of namespace
101
102#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
const bool debug
Encapsulates the ID of one channel of conditions data in COOL, ie the ID of a row in a table.
virtual void jepLutParams(const L1CaloCoolChannelId &channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled)=0
virtual void cpLutParams(const L1CaloCoolChannelId &channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled)=0
virtual void lutParams(const L1CaloCoolChannelId &channelId, int &startBit, int &slope, int &offset, int &cut, int &pedValue, float &pedMean, int &strategy, bool &disabled)=0
virtual HWIdentifier hwIdentifier(double eta, double phi, int layer)=0
virtual bool disabledChannel(const L1CaloCoolChannelId &channelId)=0
virtual void fir(const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
virtual void bcid(const std::vector< int > &fir, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
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
virtual void etRange(const std::vector< int > &et, int energyLow, int energyHigh, std::vector< int > &output)=0
virtual double FCalTTeta(double nominalEta, double phi, int layer)=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)=0
virtual L1CaloCoolChannelId channelID(double eta, double phi, int layer)=0
virtual HWIdentifier hwIdentifier(const Identifier &id)=0
virtual void dropBits(const std::vector< int > &fir, unsigned int first, std::vector< int > &output)=0
virtual void lut(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
virtual Identifier identifier(double eta, double phi, int layer)=0
virtual void setDebug(bool debug)=0
virtual void satBcid(const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
virtual void peakBcid(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
virtual void applyEtRange(const std::vector< int > &lut, const std::vector< int > &range, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
virtual StatusCode loadFTRefs()=0
virtual void dropBits(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
virtual void jepLut(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
virtual void simulateChannel(const xAOD::TriggerTower &tt, std::vector< int > &outCpLut, std::vector< int > &outJepLut, std::vector< int > &bcidResults, std::vector< int > &bcidDecisions)=0
virtual bool satOverride(int range, const L1CaloCoolChannelId &channelId)=0
virtual void firParams(const L1CaloCoolChannelId &channelId, std::vector< int > &firCoeffs)=0
virtual void etRange(const std::vector< int > &et, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
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
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
virtual void bcidDecision(const std::vector< int > &bcidResults, const std::vector< int > &range, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=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)=0
virtual L1CaloCoolChannelId channelID(const Identifier &id)=0
virtual void bcidDecisionRange(const std::vector< int > &lutInput, const std::vector< int > &digits, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=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 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
virtual double FCalTTeta(const L1CaloCoolChannelId &channelId)=0
virtual void satBcid(const std::vector< int > &digits, int satLow, int satHigh, int satLevel, std::vector< int > &output)=0
virtual void bcidDecision(const std::vector< int > &bcidResults, const std::vector< int > &range, const std::vector< unsigned int > &mask, std::vector< int > &output)=0
virtual void peakBcid(const std::vector< int > &fir, unsigned int strategy, std::vector< int > &output)=0
static const InterfaceID & interfaceID()
virtual std::pair< double, double > refValues(const L1CaloCoolChannelId &channelId)=0
virtual void fir(const std::vector< int > &digits, const std::vector< int > &firCoeffs, std::vector< int > &output)=0
virtual void cpLut(const std::vector< int > &fir, const L1CaloCoolChannelId &channelId, std::vector< int > &output)=0
virtual StatusCode retrieveConditions()=0
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IL1TriggerTowerTool("LVL1::IL1TriggerTowerTool", 1, 0)
Interface for L1TriggerTowerTool.
TriggerTower_v2 TriggerTower
Define the latest version of the TriggerTower class.
Extra patterns decribing particle interation process.