1 #ifndef EBSelectiveReadoutTask_H
2 #define EBSelectiveReadoutTask_H
156 return (iEta<0)?iEta+85:iEta+84;
189 return (i<85)?i-85:i-84;
209 return (subdet==
EB?34:52)*8;
219 if(iDcc0<9 || iDcc0>=45){
268 const std::vector<int>& firWeights,
270 bool* saturated = 0);
277 static std::vector<int>
getFIRWeights(
const std::vector<double>&
int nEvtLowInterest[72][34]
To store the events with low interest TT.
MonitorElement * EBTTFlags_
int nCryTower[72][34]
To store the readout crystals / tower.
MonitorElement * EBMediumInterestTriggerTowerFlagMap_
static const int bytesPerCrystal
Number of bytes per crystal.
MonitorElement * EBCompleteZSMap_
static std::vector< int > getFIRWeights(const std::vector< double > &normalizedWeights)
MonitorElement * EBTTFMismatch_
MonitorElement * EBDccEventSizeMap_
void endRun(const edm::Run &r, const edm::EventSetup &c)
EndRun.
static const int nEbPhi
number of crystals along Phi in EB
MonitorElement * EBLowInterestZsFIR_
static const int nEbRus
number of RUs for EB
static const int ebTtEdge
Number of crystals along an EB TT.
edm::EDGetTokenT< EcalTrigPrimDigiCollection > EcalTrigPrimDigiCollection_
MonitorElement * EBFullReadoutSRFlagCount_
double getDccOverhead(subdet_t subdet) const
int nEvtHighInterest[72][34]
To store the events with high interest TT.
int cIndex2iXY(int iX0) const
edm::EDGetTokenT< EcalRecHitCollection > EcalRecHitCollection_
int cIndex2iEta(int i) const
subdet_t
distinguishes barral and endcap of ECAL.
static const int scEdge
Number of crystals along a supercrystal edge.
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
void beginRun(const edm::Run &r, const edm::EventSetup &c)
BeginRun.
int cIndex2iPhi(int i) const
void configFirWeights(const std::vector< double > &weightsForZsFIR)
MonitorElement * EBDroppedFRMap_
EcalTrigTowerDetId readOutUnitOf(const EBDetId &xtalId) const
int nEvtZSReadout[72][34]
To store the events with ZS1 or ZS2 readout.
int iPhi2cIndex(int iPhi) const
MonitorElement * EBFullReadoutSRFlagMap_
int nEvtAnyInterest[72][34]
To store the events with any interest.
edm::EDGetTokenT< EBDigiCollection > EBDigiCollection_
MonitorElement * EBLowInterestPayload_
void cleanup(void)
Cleanup.
virtual ~EBSelectiveReadoutTask()
Destructor.
int nEvtFullReadout[72][34]
To store the events with full readout.
static int dccZsFIR(const EcalDataFrame &frame, const std::vector< int > &firWeights, int firstFIRSample, bool *saturated=0)
int nEvtZS1Readout[72][34]
To store the events with ZS1 readout.
MonitorElement * EBDccEventSize_
int nEvtDroppedReadoutIfFR[72][34]
To store the events with 0 channels readout when FR is requested.
int iXY2cIndex(int iX) const
MonitorElement * EBCompleteZSCount_
static const int nTtPhi
Number of Trigger Towers along Phi.
MonitorElement * EBHighInterestPayload_
std::vector< int > firWeights_
static const int nECALDcc
static const int nEbEta
number of crystals along Eta in EB
const EcalSRSettings * settings_
void beginJob(void)
BeginJob.
double getEbEventSize(double nReadXtals) const
int dccPhiIndexOfRU(int i, int j) const
int nEvtCompleteReadoutIfZS[72][34]
To store the events with complete readout when ZS is requested.
edm::EDGetTokenT< EBSrFlagCollection > EBSRFlagCollection_
MonitorElement * EBHighInterestTriggerTowerFlagMap_
EBSelectiveReadoutTask(const edm::ParameterSet &ps)
Constructor.
int nEvtRUForced[72][34]
To store the events with RU forced.
int nEvtMediumInterest[72][34]
To store the events with medium interest TT.
int dccIndex(int i, int j) const
static const int nDccChs
maximum number of RUs read by a DCC
bool ebRuActive_[nEbEta/ebTtEdge][nEbPhi/ebTtEdge]
int nPerRu_[nECALDcc][nDccChs]
MonitorElement * EBLowInterestTriggerTowerFlagMap_
MonitorElement * EBHighInterestZsFIR_
unsigned dccNum(const DetId &xtalId) const
int dccPhiIndex(int i, int j) const
MonitorElement * EBZeroSuppression1SRFlagMap_
MonitorElement * EBDroppedFRCount_
int nEvtAnyReadout[72][34]
To store the events with any readout.
MonitorElement * EBReadoutUnitForcedBitMap_
MonitorElement * EBEventSize_
static const int nTtEta
Number of Trigger Towers along Eta.
int iEta2cIndex(int iEta) const
static const int nTTEta
Constants.
edm::EDGetTokenT< FEDRawDataCollection > FEDRawDataCollection_
void anaDigi(const EBDataFrame &frame, const EBSrFlagCollection &srFlagColl, uint16_t statusCode)
MonitorElement * EBTowerSize_
double getDccEventSize(int iDcc0, double nReadXtals) const