#include <EcalSelectiveReadoutSuppressor.h>
|
| EcalSelectiveReadoutSuppressor (const edm::ParameterSet ¶ms, const EcalSRSettings *settings) |
|
EcalSelectiveReadout * | getEcalSelectiveReadout () |
|
void | printTTFlags (std::ostream &os, int iEvent=-1, bool withHeader=true) const |
|
void | run (const edm::EventSetup &eventSetup, const EcalTrigPrimDigiCollection &trigPrims, EBDigiCollection &barrelDigis, EEDigiCollection &endcapDigis) |
|
void | run (const edm::EventSetup &eventSetup, const EcalTrigPrimDigiCollection &trigPrims, const EBDigiCollection &barrelDigis, const EEDigiCollection &endcapDigis, EBDigiCollection *selectedBarrelDigis, EEDigiCollection *selectedEndcapDigis, EBSrFlagCollection *ebSrFlags, EESrFlagCollection *eeSrFlags) |
|
void | setElecMap (const EcalElectronicsMapping *map) |
|
void | setGeometry (const CaloGeometry *caloGeometry) |
|
void | setTriggerMap (const EcalTrigTowerConstituentsMap *map) |
|
bool EcalSelectiveReadoutSuppressor::accept |
( |
const edm::DataFrame & |
frame, |
|
|
int |
thr |
|
) |
| |
|
private |
template<class T >
double EcalSelectiveReadoutSuppressor::frame2Energy |
( |
const T & |
frame, |
|
|
int |
timeOffset = 0 |
|
) |
| const |
|
private |
static int EcalSelectiveReadoutSuppressor::getFIRTapCount |
( |
| ) |
|
|
inlinestatic |
vector< int > EcalSelectiveReadoutSuppressor::getFIRWeigths |
( |
| ) |
|
|
private |
Gets the integer weights used by the zero suppression FIR filter.
<U>Weight definitions:</U>
-
Uncalibrated normalized weights are defined as such that when applied to the average pulse with the highest sample normalized to 1, the result is 1.
-
Calibrated weights are defined for each crystal, as uncalibrated normalized weights multiplied by an intercalibration constant which is expected to be between 0.6 and 1.4
-
FIR weights are defined for each crystal as the closest signed integers to 2**10 times the calibrated weigths. The absolute value of these weights should not be greater than (2**12-1).
If a FIR weights exceeds the (2**12-1) absolute value limit, its absolute value is replaced by (2**12-1).
Definition at line 437 of file EcalSelectiveReadoutSuppressor.cc.
int EcalSelectiveReadoutSuppressor::iEta2cIndex |
( |
int |
iEta | ) |
const |
|
inlineprivate |
Transforms CMSSW eta ECAL crystal indices to indices starting at 0 to use for c-array or vector.
- Parameters
-
iEta | CMSSW eta index (numbering -85...-1,1...85) |
- Returns
- index in numbering from 0 to 169
Definition at line 145 of file EcalSelectiveReadoutSuppressor.h.
void EcalSelectiveReadoutSuppressor::initCellThresholds |
( |
double |
barrelLowInterest, |
|
|
double |
endcapLowInterest, |
|
|
double |
barrelHighInterest, |
|
|
double |
endcapHighInterest |
|
) |
| |
|
private |
int EcalSelectiveReadoutSuppressor::internalThreshold |
( |
double |
thresholdInGeV, |
|
|
int |
iSubDet |
|
) |
| const |
|
private |
Converts threshold in GeV to threshold in internal unit used by the ZS FIR.
- Parameters
-
thresholdInGeV | the theshold in GeV |
iSubDet | 0 for barrel, 1 for endcap |
- Returns
- threshold in thrUnit unit. INT_MAX means complete suppression, INT_MIN means no zero suppression.
Definition at line 194 of file EcalSelectiveReadoutSuppressor.cc.
int EcalSelectiveReadoutSuppressor::iPhi2cIndex |
( |
int |
iPhi | ) |
const |
|
inlineprivate |
Transforms CMSSW phi ECAL crystal indices to indices starting at 0 to use for c-array or vector.
- Parameters
-
iPhi | CMSSW phi index (numbering 1...360) |
- Returns
- index in numbering 0...359
Definition at line 154 of file EcalSelectiveReadoutSuppressor.h.
int EcalSelectiveReadoutSuppressor::iTTEta2cIndex |
( |
int |
iEta | ) |
const |
|
inlineprivate |
Transforms CMSSW eta ECAL TT indices to indices starting at 0 to use for c-array or vector.
- Parameters
-
iEta | CMSSW eta index (numbering -28...-1,28...56) |
- Returns
- index in numbering from 0 to 55
Definition at line 163 of file EcalSelectiveReadoutSuppressor.h.
int EcalSelectiveReadoutSuppressor::iTTPhi2cIndex |
( |
int |
iPhi | ) |
const |
|
inlineprivate |
Transforms CMSSW phi ECAL crystal indices to indices starting at 0 to use for c-array or vector.
- Parameters
-
iPhi | CMSSW phi index (numbering 1...72) |
- Returns
- index in numbering 0...71
Definition at line 172 of file EcalSelectiveReadoutSuppressor.h.
void EcalSelectiveReadoutSuppressor::printTTFlags |
( |
std::ostream & |
os, |
|
|
int |
iEvent = -1 , |
|
|
bool |
withHeader = true |
|
) |
| const |
Writes out TT flags. On of the 'run' method must be called beforehand. Beware this method might be removed in future.
- Parameters
-
os | stream to write to |
iEvent | event index. Ignored if <0. |
withHeader. | If true writes out a header with the legend. |
Definition at line 599 of file EcalSelectiveReadoutSuppressor.cc.
Runs the selective readout(SR) algorithm.
- Parameters
-
eventSetup | event conditions |
trigPrims | the ECAL trigger primitives used as input to the SR. |
barrelDigis | [in,out] the EB digi collection to filter |
endcapDigis | [in,out] the EE digi collection to filter |
Definition at line 270 of file EcalSelectiveReadoutSuppressor.cc.
Runs the selective readout (SR) algorithm.
- Parameters
-
eventSetup | event conditions |
trigPrims | the ECAL trigger primitives used as input to the SR. |
barrelDigis | the input EB digi collection |
endcapDigis | the input EE digi collection |
selectedBarrelDigis | [out] the EB digi passing the SR. Pointer to the collection to fill. If null, no collection is filled. |
selectedEndcapDigis | [out] the EE digi passing the SR. Pointer to the collection to fill. If null, no collection is filled. |
ebSrFlags | [out] the computed SR flags for EB. Pointer to the collection to fill. If null, no collection is filled. |
eeSrFlags | [out] the computed SR flags for EE. Pointer to the collection to fill. If null, no collection is filled. |
Definition at line 287 of file EcalSelectiveReadoutSuppressor.cc.
void EcalSelectiveReadoutSuppressor::setGeometry |
( |
const CaloGeometry * |
caloGeometry | ) |
|
Help function to set the srFlags field. Used in TrigPrimByPass mode
- Parameters
-
eventSetup | the EDM event setup |
ebDigi | the ECAL barrel APD digis |
eeDigi | the ECAL endcap VPT digis |
Definition at line 452 of file EcalSelectiveReadoutSuppressor.cc.
std::vector<int> EcalSelectiveReadoutSuppressor::actions_ |
|
private |
int EcalSelectiveReadoutSuppressor::firstFIRSample |
|
private |
std::vector<int> EcalSelectiveReadoutSuppressor::firWeights |
|
private |
int EcalSelectiveReadoutSuppressor::ievt_ |
|
private |
const size_t EcalSelectiveReadoutSuppressor::nBarrelTriggerTowersInEta = 34 |
|
staticprivate |
const size_t EcalSelectiveReadoutSuppressor::nEndcaps = 2 |
|
staticprivate |
Help function to get SR flag from ZS threshold using min/max convention for SUPPRESS and FULL_READOUT: see zsThreshold.
- Parameters
-
- Returns
- the SR flagNumber of endcap, obviously two.
Definition at line 205 of file EcalSelectiveReadoutSuppressor.h.
const size_t EcalSelectiveReadoutSuppressor::nEndcapTriggerTowersInEta = 11 |
|
staticprivate |
const int EcalSelectiveReadoutSuppressor::nFIRTaps = 6 |
|
staticprivate |
const size_t EcalSelectiveReadoutSuppressor::nTriggerTowersInPhi = 72 |
|
staticprivate |
int EcalSelectiveReadoutSuppressor::srFlags[2][8] |
|
private |
Maps RU interest flag (low interest, single neighbour, center) to Selective readout action flag (type of readout). 1st index: 0 for barrel, 1 for endcap 2nd index: RU interest (low, single, neighbour, center, forced low, forced single...)
Definition at line 315 of file EcalSelectiveReadoutSuppressor.h.
bool EcalSelectiveReadoutSuppressor::symetricZS |
|
private |
double EcalSelectiveReadoutSuppressor::thrUnit[2] |
|
private |
bool EcalSelectiveReadoutSuppressor::trigPrimBypass_ |
|
private |
double EcalSelectiveReadoutSuppressor::trigPrimBypassHTH_ |
|
private |
double EcalSelectiveReadoutSuppressor::trigPrimBypassLTH_ |
|
private |
int EcalSelectiveReadoutSuppressor::trigPrimBypassMode_ |
|
private |
Mode selection for "Trig bypass" mode 0: TT thresholds applied on sum of crystal Et's 1: TT thresholds applies on compressed Et from Trigger primitive
- See Also
- trigPrimByPass_ switch
Definition at line 280 of file EcalSelectiveReadoutSuppressor.h.
bool EcalSelectiveReadoutSuppressor::trigPrimBypassWithPeakFinder_ |
|
private |
bool EcalSelectiveReadoutSuppressor::ttThresOnCompressedEt_ |
|
private |
Switch to applies trigPrimBypassLTH_ and trigPrimBypassHTH_ thresholds on TPG compressed ET instead of using flags from TPG: trig prim bypass mode 1.
Definition at line 291 of file EcalSelectiveReadoutSuppressor.h.
std::vector<float> EcalSelectiveReadoutSuppressor::weights |
|
private |
int EcalSelectiveReadoutSuppressor::zsThreshold[2][8] |
|
private |