1 #ifndef EESelectiveReadoutTask_H
2 #define EESelectiveReadoutTask_H
31 " 666666677778888888 "
32 " 566666677778888880 "
33 " 555666667788888000 "
34 "55555566677888000000"
39 "44444444332211111111"
40 " 444444333222111111 "
41 " 444443333222211111 "
42 " 444433333222221111 "
94 static const int nEeRus = 2*(34+32+33+33+32+34+33+34+33);
216 return (subdet==
EB?34:52)*8;
226 if(iDcc0<9 || iDcc0>=45){
275 const std::vector<int>& firWeights,
277 bool* saturated = 0);
284 static std::vector<int>
getFIRWeights(
const std::vector<double>&
static const int nEeRus
number of RUs for EE
int nEvtFullReadout[20][20][2]
To store the events with full readout.
edm::EDGetTokenT< EcalRecHitCollection > EcalRecHitCollection_
void beginRun(const edm::Run &r, const edm::EventSetup &c)
BeginRun.
static const int nEndcaps
number of endcaps
MonitorElement * EEFullReadoutSRFlagCount_[2]
EESelectiveReadoutTask(const edm::ParameterSet &ps)
Constructor.
MonitorElement * EEReadoutUnitForcedBitMap_[2]
double getDccOverhead(subdet_t subdet) const
MonitorElement * EELowInterestZsFIR_[2]
MonitorElement * EEDroppedFRCount_[2]
void configFirWeights(const std::vector< double > &weightsForZsFIR)
subdet_t
distinguishes barral and endcap of ECAL.
MonitorElement * EETowerSize_[2]
edm::EDGetTokenT< EESrFlagCollection > EESRFlagCollection_
static const int nECALDcc
Constants.
int nEvtZSReadout[20][20][2]
To store the events with ZS1 or ZS2 readout.
int getCrystalCount(int iDcc, int iDccCh)
static const int nTtPhi
Number of Trigger Towers along Phi.
MonitorElement * EEZeroSuppression1SRFlagMap_[2]
MonitorElement * EEHighInterestZsFIR_[2]
int nEvtAnyInterest[100][100][2]
To store the events with any interest.
int nEvtDroppedReadoutIfFR[20][20][2]
To store the events with 0 channels readout when FR is requested.
static const int nDccChs
maximum number of RUs read by a DCC
virtual ~EESelectiveReadoutTask()
Destructor.
MonitorElement * EECompleteZSMap_[2]
int nEvtCompleteReadoutIfZS[20][20][2]
To store the events with complete readout when ZS is requested.
static const char endcapDccMap[401]
MonitorElement * EETTFMismatch_[2]
int nPerRu_[nECALDcc][nDccChs]
MonitorElement * EEEventSize_[2]
int nEvtLowInterest[100][100][2]
To store the events with low interest TT.
int dccIndex(int iDet, int i, int j) const
void cleanup(void)
Cleanup.
static const int nTtEta
Number of Trigger Towers along Eta.
MonitorElement * EEHighInterestPayload_[2]
MonitorElement * EEHighInterestTriggerTowerFlagMap_[2]
double getEeEventSize(double nReadXtals) const
MonitorElement * EEDccEventSize_
int iXY2cIndex(int iX) const
double getDccEventSize(int iDcc0, double nReadXtals) const
MonitorElement * EEDccEventSizeMap_
bool eeRuActive_[nEndcaps][nEeX/scEdge][nEeY/scEdge]
edm::EDGetTokenT< EcalTrigPrimDigiCollection > EcalTrigPrimDigiCollection_
void anaDigi(const EEDataFrame &frame, const EESrFlagCollection &srFlagColl, uint16_t statusCode)
static const int nEeX
EE crystal grid size along X.
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
void endRun(const edm::Run &r, const edm::EventSetup &c)
EndRun.
int nEvtRUForced[20][20][2]
To store the events with RU forced.
edm::EDGetTokenT< FEDRawDataCollection > FEDRawDataCollection_
MonitorElement * EETTFlags_[2]
int dccPhiIndexOfRU(int i, int j) const
unsigned dccNum(const DetId &xtalId) const
int nEvtMediumInterest[100][100][2]
To store the events with medium interest TT.
void beginJob(void)
BeginJob.
int nEvtZS1Readout[20][20][2]
To store the events with ZS1 readout.
int nEvtHighInterest[100][100][2]
To store the events with high interest TT.
int nCrySC[20][20][2]
To store the readout crystals / SC.
const EcalSRSettings * settings_
unsigned dccNumOfRU(const EcalScDetId &scId) const
std::vector< int > firWeights_
MonitorElement * EECompleteZSCount_[2]
MonitorElement * EEDroppedFRMap_[2]
static std::vector< int > getFIRWeights(const std::vector< double > &normalizedWeights)
int nEvtAnyReadout[20][20][2]
To store the events with any readout.
MonitorElement * EELowInterestPayload_[2]
edm::EDGetTokenT< EEDigiCollection > EEDigiCollection_
const EcalScDetId readOutUnitOf(const EEDetId &xtalId) const
int cIndex2iXY(int iX0) const
MonitorElement * EELowInterestTriggerTowerFlagMap_[2]
static const int scEdge
Number of crystals along a supercrystal edge.
int dccPhiIndex(int i, int j) const
static const int bytesPerCrystal
Number of bytes per crystal.
MonitorElement * EEMediumInterestTriggerTowerFlagMap_[2]
static int dccZsFIR(const EcalDataFrame &frame, const std::vector< int > &firWeights, int firstFIRSample, bool *saturated=0)
static const int nEeY
EE crystal grid size along Y.
MonitorElement * EEFullReadoutSRFlagMap_[2]