8#ifndef IL1TRIGGERTOWERTOOL_H
9#define IL1TRIGGERTOWERTOOL_H
14#include "GaudiKernel/IAlgTool.h"
15#include "Identifier/Identifier.h"
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;
44 std::vector<int> &
et, std::vector<int> &bcidResults,
45 std::vector<int> &bcidDecisions,
bool useJepLut =
true) = 0;
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;
51 int bcid,
float mu, std::vector<int_least16_t>& correctionOut) = 0;
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;
56 virtual void dropBits(
const std::vector<int> &
fir,
unsigned int first, std::vector<int> &output) = 0;
58 virtual void etRange(
const std::vector<int> &
et,
int energyLow,
int energyHigh, std::vector<int> &output) = 0;
60 virtual void peakBcid(
const std::vector<int> &
fir,
unsigned int strategy, 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;
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;
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;
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;
89 virtual double FCalTTeta(
double nominalEta,
double phi,
int layer) = 0;
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.
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.