13#ifndef L1TRIGGERTOWERTOOL_H
14#define L1TRIGGERTOWERTOOL_H
19#include "GaudiKernel/IIncidentListener.h"
20#include "GaudiKernel/ToolHandle.h"
21#include "GaudiKernel/ServiceHandle.h"
74 virtual void handle(
const Incident&);
79 virtual void process(
const std::vector<int> &digits,
80 double eta,
double phi,
int layer,
81 std::vector<int> &
et, std::vector<int> &bcidResults,
82 std::vector<int> &bcidDecisions,
bool useJepLut =
true);
85 std::vector<int> &
et, std::vector<int> &bcidResults,
86 std::vector<int> &bcidDecisions,
bool useJepLut =
true);
88 virtual void simulateChannel(
const xAOD::TriggerTower& tt, std::vector<int>& outCpLut, std::vector<int>& outJepLut, std::vector<int>& bcidResults, std::vector<int>& bcidDecisions);
90 virtual void pedestalCorrection(std::vector<int>& firInOut,
int firPed,
int iElement,
int layer,
91 int bcid,
float mu, std::vector<int_least16_t>& correctionOut);
92 virtual void fir(
const std::vector<int> &digits,
const L1CaloCoolChannelId& channelId, std::vector<int> &output);
93 virtual void fir(
const std::vector<int> &digits,
const std::vector<int> &firCoeffs, std::vector<int> &output);
95 virtual void dropBits(
const std::vector<int> &
fir,
unsigned int first, std::vector<int> &output);
97 virtual void etRange(
const std::vector<int> &
et,
int energyLow,
int energyHigh, std::vector<int> &output);
99 virtual void peakBcid(
const std::vector<int> &
fir,
unsigned int strategy, std::vector<int> &output);
101 virtual void satBcid(
const std::vector<int> &digits,
int satLow,
int satHigh,
int satLevel, std::vector<int> &output);
102 virtual void bcid(
const std::vector<int> &
fir,
const std::vector<int> &digits,
const L1CaloCoolChannelId& channelId, std::vector<int> &output);
103 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);
104 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,
105 unsigned int strategy,
int satLow,
int satHigh,
int satLevel, std::vector<int> &
result, std::vector<int> &decision);
107 virtual void bcidDecision(
const std::vector<int> &bcidResults,
const std::vector<int> &range,
const L1CaloCoolChannelId& channelId, std::vector<int> &output);
108 virtual void bcidDecision(
const std::vector<int> &bcidResults,
const std::vector<int> &range,
const std::vector<unsigned int> &mask, std::vector<int> &output);
112 virtual void lut(
const std::vector<int> &
fir,
int slope,
int offset,
int cut,
int ped,
int strategy,
bool disabled, std::vector<int> &output);
113 virtual void nonLinearLut(
const std::vector<int> &
fir,
int slope,
int offset,
int cut,
int scale,
short par1,
short par2,
short par3,
short par4,
bool disabled, std::vector<int> &output);
116 virtual void bcidParams(
const L1CaloCoolChannelId& channelId,
int &energyLow,
int &energyHigh,
int &decisionSource, std::vector<unsigned int> &decisionConditions,
117 unsigned int &peakFinderStrategy,
int &satLow,
int &satHigh,
int &satLevel);
118 virtual void lutParams(
const L1CaloCoolChannelId& channelId,
int &startBit,
int &slope,
int &offset,
int &cut,
int &pedValue,
float &pedMean,
int &strategy,
bool &disabled);
119 virtual void cpLutParams(
const L1CaloCoolChannelId& channelId,
int &startBit,
int &slope,
int &offset,
int &cut,
int &pedValue,
float &pedMean,
int &strategy,
bool &disabled);
120 virtual void jepLutParams(
const L1CaloCoolChannelId& channelId,
int &startBit,
int &slope,
int &offset,
int &cut,
int &pedValue,
float &pedMean,
int &strategy,
bool &disabled);
129 virtual double FCalTTeta(
double nominalEta,
double phi,
int layer);
138 template <
typename T>
183 {
this,
"EventInfoKey",
"EventInfo",
"" };
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
std::vector< size_t > vec
Property holding a SG store/key/clid from which a ReadHandle is made.
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
This class initializes the Calo (LAr and Tile) offline identifiers.
Helper class for offline TT identifiers.
Tool providing the mapping of the online and offline TriggerTower identifiers as well as the TT-cells...
Encapsulates the ID of one channel of conditions data in COOL, ie the ID of a row in a table.
Property holding a SG store/key/clid from which a ReadHandle is made.
const std::string process
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
TriggerTower_v2 TriggerTower
Define the latest version of the TriggerTower class.
Extra patterns decribing particle interation process.