CMS 3D CMS Logo

EcalTrigPrimFunctionalAlgo.h
Go to the documentation of this file.
1 #ifndef SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALTRIGPRIMFUNCTIONALALGO_h
2 #define SIMCALORIMETRY_ECALTRIGPRIMALGOS_ECALTRIGPRIMFUNCTIONALALGO_h
3 
18 #include <iostream>
19 #include <sys/time.h>
20 #include <vector>
21 
23 
26 
29 
31 
32 #include <map>
33 #include <utility>
34 #include <string>
35 
38 class EcalTrigTowerDetId;
39 class ETPCoherenceTest;
42 class EBDataFrame;
43 class EEDataFrame;
45 
47 public:
48  //Not barrelOnly
50  const CaloSubdetectorGeometry *endcapGeometry,
51  const EcalElectronicsMapping *theMapping,
52  int binofmax,
53  bool tcpFormat,
54  bool debug,
55  bool famos,
56  bool TPinfoPrintout);
57 
58  //barrel only
59  explicit EcalTrigPrimFunctionalAlgo(const EcalElectronicsMapping *theMapping,
60  int binofmax,
61  bool tcpFormat,
62  bool debug,
63  bool famos,
64  bool TPinfoPrintout);
65 
67 
70  void run_part1_EB(EBDigiCollection const *col);
71  void run_part1_EE(EEDigiCollection const *col);
72  template <class Coll>
73  void run_part2(Coll const *col,
74  std::vector<std::vector<std::pair<int, std::vector<typename Coll::Digi>>>> &towerMap,
76  EcalTrigPrimDigiCollection &resultTcp);
77 
78  void setPointers(const EcalTPGLinearizationConst *ecaltpLin,
79  const EcalTPGPedestals *ecaltpPed,
80  const EcalTPGSlidingWindow *ecaltpgSlidW,
81  const EcalTPGWeightIdMap *ecaltpgWeightMap,
82  const EcalTPGWeightGroup *ecaltpgWeightGroup,
83  const EcalTPGOddWeightIdMap *ecaltpgOddWeightMap,
84  const EcalTPGOddWeightGroup *ecaltpgOddWeightGroup,
85  const EcalTPGFineGrainStripEE *ecaltpgFgStripEE,
86  const EcalTPGCrystalStatus *ecaltpgBadX,
87  const EcalTPGStripStatus *ecaltpgStripStatus,
88  const EcalTPGTPMode *ecaltpgTPMode) {
89  estrip_->setPointers(ecaltpPed,
90  ecaltpLin,
91  ecaltpgWeightMap,
92  ecaltpgWeightGroup,
93  ecaltpgOddWeightMap,
94  ecaltpgOddWeightGroup,
95  ecaltpgSlidW,
96  ecaltpgFgStripEE,
97  ecaltpgBadX,
98  ecaltpgStripStatus,
99  ecaltpgTPMode);
100  }
101  void setPointers2(const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup,
102  const EcalTPGLutGroup *ecaltpgLutGroup,
103  const EcalTPGLutIdMap *ecaltpgLut,
104  const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB,
105  const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE,
106  const EcalTPGTowerStatus *ecaltpgBadTT,
107  const EcalTPGSpike *ecaltpgSpike,
108  const EcalTPGTPMode *ecaltpgTPMode) {
109  etcp_->setPointers(ecaltpgFgEBGroup,
110  ecaltpgLutGroup,
111  ecaltpgLut,
112  ecaltpgFineGrainEB,
113  ecaltpgFineGrainTowerEE,
114  ecaltpgBadTT,
115  ecaltpgSpike,
116  ecaltpgTPMode);
117  }
118 
119 private:
120  void init();
121  template <class T>
122  void initStructures(std::vector<std::vector<std::pair<int, std::vector<T>>>> &towMap);
123  template <class T>
124  void clean(std::vector<std::vector<std::pair<int, std::vector<T>>>> &towerMap);
125  template <class Coll>
126  void fillMap(Coll const *col, std::vector<std::vector<std::pair<int, std::vector<typename Coll::Digi>>>> &towerMap);
127  int findStripNr(const EBDetId &id);
128  int findStripNr(const EEDetId &id);
129 
130  // FIXME: temporary until hashedIndex works alsom for endcap
131  int getIndex(const EBDigiCollection *, EcalTrigTowerDetId &id) { return id.hashedIndex(); }
132  // mind that eta is continuous between barrel+endcap
134  int ind = (id.ietaAbs() - 18) * 72 + id.iphi();
135  if (id.zside() < 0)
136  ind += 792;
137  return ind;
138  }
139 
140  std::unique_ptr<EcalFenixStrip> estrip_;
141  std::unique_ptr<EcalFenixTcp> etcp_;
142 
146 
147  float threshold;
148 
151 
154  bool debug_;
155  bool famos_;
157 
158  static const unsigned int nrSamples_; // nr samples to write, should not be changed since by
159  // convention the size means that it is coming from simulation
160  static const unsigned int maxNrSamplesOut_; // to be placed in the intermediate samples
161  static const unsigned int maxNrTowers_; // would be better to get from somewhere..
162  static const unsigned int maxNrTPs_; // would be better to get from
163  // somewhere..
164 
165  int nrTowers_; // nr of towers found by fillmap method
166 
167  // data structures kept during the whole run
168  std::vector<std::vector<int>> striptp_;
169  std::vector<std::vector<std::pair<int, std::vector<EBDataFrame>>>> towerMapEB_;
170  std::vector<std::vector<std::pair<int, std::vector<EEDataFrame>>>> towerMapEE_;
171  std::vector<std::pair<int, EcalTrigTowerDetId>> hitTowers_;
172  std::vector<EcalTriggerPrimitiveSample> towtp_;
173  std::vector<EcalTriggerPrimitiveSample> towtp2_;
174 
175  enum { nbMaxStrips_ = 5 };
176  enum { nbMaxXtals_ = 5 };
177 };
178 
179 //=================================== implementations
180 //=============================================
181 
182 template <class Coll>
184  Coll const *col,
185  std::vector<std::vector<std::pair<int, std::vector<typename Coll::Digi>>>> &towerMap,
187  EcalTrigPrimDigiCollection &resultTcp) {
188  typedef typename Coll::Digi Digi;
189 
190  // prepare writing of TP-s
191 
192  int firstSample = binOfMaximum_ - 1 - nrSamples_ / 2;
193  int lastSample = binOfMaximum_ - 1 + nrSamples_ / 2;
194  int nrTP = 0;
195  std::vector<typename Coll::Digi> dummy;
196  EcalTriggerPrimitiveDigi tptow[2];
197  EcalTriggerPrimitiveDigi tptowTcp[2];
198 
199  estrip_->getFGVB()->setbadStripMissing(false);
200 
201  for (int itow = 0; itow < nrTowers_; ++itow) {
202  if (tpInfoPrintout_) {
203  std::cout << "+++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
204  std::cout << "on Tower " << itow << " of " << nrTowers_ << std::endl;
205  }
206  int index = hitTowers_[itow].first;
207  const EcalTrigTowerDetId &thisTower = hitTowers_[itow].second;
208 
209  // loop over all strips assigned to this trigger tower
210  int nstr = 0;
211  for (unsigned int i = 0; i < towerMap[itow].size(); ++i) {
212  std::vector<Digi> &df = (towerMap[index])[i].second; // vector of dataframes for this strip,
213  // size; nr of crystals/strip
214 
215  if ((towerMap[index])[i].first > 0) {
216  if (tpInfoPrintout_) {
217  std::cout << "-------------------------------------------------" << std::endl;
218  std::cout << "on Strip index " << i << std::endl;
219  }
220  estrip_->process(df, (towerMap[index])[i].first, striptp_[nstr++]);
221  }
222  } // loop over strips in one tower
223 
224  bool isInInnerRings = false;
225  if (thisTower.subDet() == EcalEndcap && (thisTower.ietaAbs() == 27 || thisTower.ietaAbs() == 28))
226  isInInnerRings = true;
227  etcp_->process(dummy, striptp_, nstr, towtp_, towtp2_, isInInnerRings, thisTower);
228 
229  // prepare TP-s
230  // special treatment for 2 inner endcap rings
231  int nrTowers;
232  if (isInInnerRings) {
233  nrTowers = 2;
234  int phi = 2 * ((thisTower.iphi() - 1) / 2);
235  tptow[0] = EcalTriggerPrimitiveDigi(
236  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 1));
237  tptow[1] = EcalTriggerPrimitiveDigi(
238  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 2));
239 
240  if (tcpFormat_) {
241  tptowTcp[0] = EcalTriggerPrimitiveDigi(
242  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 1));
243  tptowTcp[1] = EcalTriggerPrimitiveDigi(
244  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 2));
245  }
246  } else {
247  nrTowers = 1;
248  tptow[0] = EcalTriggerPrimitiveDigi(thisTower);
249  if (tcpFormat_)
250  tptowTcp[0] = EcalTriggerPrimitiveDigi(thisTower);
251  }
252 
253  // now fill in
254  for (int nrt = 0; nrt < nrTowers; nrt++) {
255  (tptow[nrt]).setSize(nrSamples_);
256  if (towtp_.size() < nrSamples_) { // FIXME: only once
257  edm::LogWarning("") << "Too few samples produced, nr is " << towtp_.size();
258  break;
259  }
260  int isam = 0;
261  for (int i = firstSample; i <= lastSample; ++i) {
262  tptow[nrt].setSample(isam++, EcalTriggerPrimitiveSample(towtp_[i]));
263  }
264  nrTP++;
265  LogDebug("EcalTPG") << " For tower " << itow << " created TP nr " << nrTP << " with Et "
266  << tptow[nrt].compressedEt();
267  result.push_back(tptow[nrt]);
268  }
269 
270  if (tcpFormat_) {
271  for (int nrt = 0; nrt < nrTowers; nrt++) {
272  tptowTcp[nrt].setSize(nrSamples_);
273  if (towtp2_.size() < nrSamples_) { // FIXME: only once
274  edm::LogWarning("") << "Too few samples produced, nr is " << towtp2_.size();
275  break;
276  }
277  int isam = 0;
278  for (int i = firstSample; i <= lastSample; ++i) {
279  if (nrTowers <= 1)
280  tptowTcp[nrt].setSample(isam++, EcalTriggerPrimitiveSample(towtp2_[i]));
281  else {
282  int et = towtp2_[i].compressedEt() / 2;
283  tptowTcp[nrt].setSample(isam++,
284  EcalTriggerPrimitiveSample(et, towtp2_[i].fineGrain(), towtp2_[i].ttFlag()));
285  }
286  }
287  resultTcp.push_back(tptowTcp[nrt]);
288  }
289  }
290  }
291  return;
292 }
293 
294 template <class Coll>
296  Coll const *col, std::vector<std::vector<std::pair<int, std::vector<typename Coll::Digi>>>> &towerMap) {
297  typedef typename Coll::Digi Digi;
298 
299  // implementation for Barrel and Endcap
300 
301  if (col) {
302  nrTowers_ = 0;
303  LogDebug("EcalTPG") << "Fill mapping, Collection size = " << col->size();
304  for (unsigned int i = 0; i < col->size(); ++i) {
305  Digi samples((*col)[i]);
306  EcalTrigTowerDetId coarser = (*eTTmap_).towerOf(samples.id());
307  int index = getIndex(col, coarser);
308  int stripnr = findStripNr(samples.id());
309 
310  int filled = 0;
311  for (unsigned int ij = 0; ij < towerMap[index].size(); ++ij)
312  filled += towerMap[index][ij].first;
313  if (!filled) {
314  hitTowers_[nrTowers_++] = std::pair<int, EcalTrigTowerDetId>(index, coarser);
315  }
316 
317  // FIXME: temporary protection
318  int ncryst = towerMap[index][stripnr - 1].first;
319  if (ncryst >= nbMaxXtals_) {
320  edm::LogError("EcalTrigPrimFunctionAlgo")
321  << "! Too many xtals for TT " << coarser << " stripnr " << stripnr << " xtalid " << samples.id();
322  continue;
323  }
324  ((towerMap[index])[stripnr - 1].second)[ncryst] = samples;
325  (towerMap[index])[stripnr - 1].first++;
326  }
327 
328  LogDebug("EcalTPG") << "fillMap"
329  << "[EcalTrigPrimFunctionalAlgo] (found " << col->size() << " frames in " << towerMap.size()
330  << " towers) ";
331  } else {
332  LogDebug("EcalTPG") << "FillMap - FillMap Collection size=0 !!!!";
333  }
334 }
335 
336 template <class T>
337 void EcalTrigPrimFunctionalAlgo::clean(std::vector<std::vector<std::pair<int, std::vector<T>>>> &towMap) {
338  // clean internal data structures
339  for (unsigned int i = 0; i < maxNrTowers_; ++i)
340  for (int j = 0; j < nbMaxStrips_; ++j)
341  (towMap[i])[j].first = 0;
342  return;
343 }
344 
345 template <class T>
346 void EcalTrigPrimFunctionalAlgo::initStructures(std::vector<std::vector<std::pair<int, std::vector<T>>>> &towMap) {
347  // initialise internal data structures
348 
349  std::vector<T> vec0(nbMaxXtals_);
350  std::vector<std::pair<int, std::vector<T>>> vec1(nbMaxStrips_);
351  for (int i = 0; i < nbMaxStrips_; ++i)
352  vec1[i] = std::pair<int, std::vector<T>>(0, vec0);
353  towMap.resize(maxNrTowers_);
354  for (unsigned int i = 0; i < maxNrTowers_; ++i)
355  towMap[i] = vec1;
356 
357  std::vector<int> vecint(maxNrSamples_);
358  striptp_.resize(nbMaxStrips_);
359  for (int i = 0; i < nbMaxStrips_; ++i)
360  striptp_[i] = vecint;
361 }
362 
363 #endif
EcalTrigPrimFunctionalAlgo
Definition: EcalTrigPrimFunctionalAlgo.h:46
EcalElectronicsMapping
Definition: EcalElectronicsMapping.h:28
EcalTrigPrimFunctionalAlgo::tpInfoPrintout_
bool tpInfoPrintout_
Definition: EcalTrigPrimFunctionalAlgo.h:156
EcalTrigPrimFunctionalAlgo::maxNrTPs_
static const unsigned int maxNrTPs_
Definition: EcalTrigPrimFunctionalAlgo.h:162
EcalTrigPrimFunctionalAlgo::threshold
float threshold
Definition: EcalTrigPrimFunctionalAlgo.h:147
EcalTPGWeightIdMap
Definition: EcalTPGWeightIdMap.h:10
mps_fire.i
i
Definition: mps_fire.py:428
EcalTrigTowerDetId::iphi
int iphi() const
get the tower iphi
Definition: EcalTrigTowerDetId.h:52
EcalTPGTPMode
Definition: EcalTPGTPMode.h:12
EcalTrigPrimFunctionalAlgo::nbMaxStrips_
Definition: EcalTrigPrimFunctionalAlgo.h:175
MessageLogger.h
EcalTrigPrimFunctionalAlgo::setPointers
void setPointers(const EcalTPGLinearizationConst *ecaltpLin, const EcalTPGPedestals *ecaltpPed, const EcalTPGSlidingWindow *ecaltpgSlidW, const EcalTPGWeightIdMap *ecaltpgWeightMap, const EcalTPGWeightGroup *ecaltpgWeightGroup, const EcalTPGOddWeightIdMap *ecaltpgOddWeightMap, const EcalTPGOddWeightGroup *ecaltpgOddWeightGroup, const EcalTPGFineGrainStripEE *ecaltpgFgStripEE, const EcalTPGCrystalStatus *ecaltpgBadX, const EcalTPGStripStatus *ecaltpgStripStatus, const EcalTPGTPMode *ecaltpgTPMode)
Definition: EcalTrigPrimFunctionalAlgo.h:78
EcalTrigPrimFunctionalAlgo::initStructures
void initStructures(std::vector< std::vector< std::pair< int, std::vector< T >>>> &towMap)
Definition: EcalTrigPrimFunctionalAlgo.h:346
EcalTrigPrimFunctionalAlgo::maxNrTowers_
static const unsigned int maxNrTowers_
Definition: EcalTrigPrimFunctionalAlgo.h:161
EcalTrigPrimFunctionalAlgo::eTTmap_
const EcalTrigTowerConstituentsMap * eTTmap_
Definition: EcalTrigPrimFunctionalAlgo.h:143
vec1
std::vector< double > vec1
Definition: HCALResponse.h:15
EcalFenixStrip.h
EcalTrigPrimFunctionalAlgo::EcalTrigPrimFunctionalAlgo
EcalTrigPrimFunctionalAlgo(const EcalTrigTowerConstituentsMap *eTTmap, const CaloSubdetectorGeometry *endcapGeometry, const EcalElectronicsMapping *theMapping, int binofmax, bool tcpFormat, bool debug, bool famos, bool TPinfoPrintout)
Definition: EcalTrigPrimFunctionalAlgo.cc:50
EcalTrigTowerDetId::ietaAbs
int ietaAbs() const
get the absolute value of the tower ieta
Definition: EcalTrigTowerDetId.h:36
ecaldqm::zside
int zside(DetId const &)
Definition: EcalDQMCommonUtils.cc:189
EcalTPGSpike
Definition: EcalTPGSpike.h:9
EBDetId
Definition: EBDetId.h:17
EBDataFrame
Definition: EBDataFrame.h:11
EcalTrigPrimFunctionalAlgo::run_part1_EB
void run_part1_EB(EBDigiCollection const *col)
Definition: EcalTrigPrimFunctionalAlgo.cc:146
EcalTrigPrimFunctionalAlgo::towerMapEE_
std::vector< std::vector< std::pair< int, std::vector< EEDataFrame > > > > towerMapEE_
Definition: EcalTrigPrimFunctionalAlgo.h:170
EcalTPGFineGrainStripEE
Definition: EcalTPGFineGrainStripEE.h:9
cuy.col
col
Definition: cuy.py:1010
gather_cfg.cout
cout
Definition: gather_cfg.py:144
EcalTPGFineGrainEBIdMap
Definition: EcalTPGFineGrainEBIdMap.h:10
EcalTrigPrimFunctionalAlgo::run_part2
void run_part2(Coll const *col, std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &towerMap, EcalTrigPrimDigiCollection &result, EcalTrigPrimDigiCollection &resultTcp)
Definition: EcalTrigPrimFunctionalAlgo.h:183
EcalTrigPrimFunctionalAlgo::nbMaxXtals_
Definition: EcalTrigPrimFunctionalAlgo.h:176
TrendClient_cfi.Digi
Digi
Definition: TrendClient_cfi.py:7
EcalFenixTcp.h
edm::SortedCollection
Definition: SortedCollection.h:49
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
EcalTrigPrimFunctionalAlgo::init
void init()
Definition: EcalTrigPrimFunctionalAlgo.cc:95
EcalTrigPrimFunctionalAlgo::clean
void clean(std::vector< std::vector< std::pair< int, std::vector< T >>>> &towerMap)
Definition: EcalTrigPrimFunctionalAlgo.h:337
EcalTrigTowerDetId
Definition: EcalTrigTowerDetId.h:14
EcalTrigPrimFunctionalAlgo::hitTowers_
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
Definition: EcalTrigPrimFunctionalAlgo.h:171
EcalTPGWeightGroup
Definition: EcalTPGWeightGroup.h:8
EcalTrigPrimFunctionalAlgo::etcp_
std::unique_ptr< EcalFenixTcp > etcp_
Definition: EcalTrigPrimFunctionalAlgo.h:141
EcalCondObjectContainer
Definition: EcalCondObjectContainer.h:13
EcalTrigTowerDetId::zside
int zside() const
get the z-side of the tower (1/-1)
Definition: EcalTrigTowerDetId.h:30
edm::SortedCollection::push_back
void push_back(T const &t)
Definition: SortedCollection.h:188
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
EcalTPGLutGroup
Definition: EcalTPGLutGroup.h:13
EgammaValidation_cff.samples
samples
Definition: EgammaValidation_cff.py:19
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
EcalTPGSlidingWindow
Definition: EcalTPGSlidingWindow.h:9
EcalTPGFineGrainTowerEE
Definition: EcalTPGFineGrainTowerEE.h:9
debug
#define debug
Definition: HDRShower.cc:19
EcalTrigPrimFunctionalAlgo::nrTowers_
int nrTowers_
Definition: EcalTrigPrimFunctionalAlgo.h:165
EcalTPGOddWeightIdMap
Definition: EcalTPGOddWeightIdMap.h:10
EcalTrigPrimFunctionalAlgo::towtp2_
std::vector< EcalTriggerPrimitiveSample > towtp2_
Definition: EcalTrigPrimFunctionalAlgo.h:173
CastorRawToDigi_cfi.lastSample
lastSample
Definition: CastorRawToDigi_cfi.py:23
EcalDigiCollections.h
EcalTrigPrimFunctionalAlgo::nrSamples_
static const unsigned int nrSamples_
Definition: EcalTrigPrimFunctionalAlgo.h:158
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:112
EEDetId
Definition: EEDetId.h:14
EcalTPGLutIdMap
Definition: EcalTPGLutIdMap.h:10
EcalTrigPrimFunctionalAlgo::theEndcapGeometry_
const CaloSubdetectorGeometry * theEndcapGeometry_
Definition: EcalTrigPrimFunctionalAlgo.h:144
EcalTrigPrimFunctionalAlgo::getIndex
int getIndex(const EBDigiCollection *, EcalTrigTowerDetId &id)
Definition: EcalTrigPrimFunctionalAlgo.h:131
EcalEndcap
Definition: EcalSubdetector.h:10
EcalTrigTowerConstituentsMap
Definition: EcalTrigTowerConstituentsMap.h:19
EcalTrigPrimFunctionalAlgo::~EcalTrigPrimFunctionalAlgo
virtual ~EcalTrigPrimFunctionalAlgo()
Definition: EcalTrigPrimFunctionalAlgo.cc:111
EcalTriggerPrimitiveDigi::setSize
void setSize(int size)
Definition: EcalTriggerPrimitiveDigi.cc:60
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
castor_dqm_sourceclient-live_cfg.firstSample
firstSample
Definition: castor_dqm_sourceclient-live_cfg.py:64
EcalTrigPrimFunctionalAlgo::estrip_
std::unique_ptr< EcalFenixStrip > estrip_
Definition: EcalTrigPrimFunctionalAlgo.h:140
EcalTPGFineGrainEBGroup
Definition: EcalTPGFineGrainEBGroup.h:13
EcalTrigPrimFunctionalAlgo::run
void run(const EBDigiCollection *col, EcalTrigPrimDigiCollection &result, EcalTrigPrimDigiCollection &resultTcp)
Definition: EcalTrigPrimFunctionalAlgo.cc:113
EBDigiCollection
Definition: EcalDigiCollections.h:56
EEDigiCollection
Definition: EcalDigiCollections.h:69
EcalTriggerPrimitiveDigi::setSample
void setSample(int i, const EcalTriggerPrimitiveSample &sam)
Definition: EcalTriggerPrimitiveDigi.h:36
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
EcalTrigPrimFunctionalAlgo::findStripNr
int findStripNr(const EBDetId &id)
Definition: EcalTrigPrimFunctionalAlgo.cc:128
EcalTrigPrimFunctionalAlgo::binOfMaximum_
int binOfMaximum_
Definition: EcalTrigPrimFunctionalAlgo.h:149
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
EcalTrigTowerDetId::subDet
EcalSubdetector subDet() const
get the subDetector associated to the Trigger Tower
Definition: EcalTrigTowerDetId.h:33
EcalTrigPrimFunctionalAlgo::barrelOnly_
bool barrelOnly_
Definition: EcalTrigPrimFunctionalAlgo.h:153
EcalTrigPrimFunctionalAlgo::towerMapEB_
std::vector< std::vector< std::pair< int, std::vector< EBDataFrame > > > > towerMapEB_
Definition: EcalTrigPrimFunctionalAlgo.h:169
DDAxes::phi
EcalTrigPrimFunctionalAlgo::fillMap
void fillMap(Coll const *col, std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &towerMap)
Definition: EcalTrigPrimFunctionalAlgo.h:295
EcalTrigPrimFunctionalAlgo::getIndex
int getIndex(const EEDigiCollection *, EcalTrigTowerDetId &id)
Definition: EcalTrigPrimFunctionalAlgo.h:133
EcalTrigTowerConstituentsMap.h
EcalTPGTowerStatus
Definition: EcalTPGTowerStatus.h:9
EcalTrigPrimFunctionalAlgo::debug_
bool debug_
Definition: EcalTrigPrimFunctionalAlgo.h:154
hgcalPerformanceValidation.df
df
Definition: hgcalPerformanceValidation.py:733
EcalTrigPrimFunctionalAlgo::towtp_
std::vector< EcalTriggerPrimitiveSample > towtp_
Definition: EcalTrigPrimFunctionalAlgo.h:172
EcalTriggerPrimitiveDigi
Definition: EcalTriggerPrimitiveDigi.h:16
SortedCollection.h
EcalTriggerPrimitiveDigi::compressedEt
int compressedEt() const
get the encoded/compressed Et of interesting sample
Definition: EcalTriggerPrimitiveDigi.cc:19
EcalTrigPrimFunctionalAlgo::maxNrSamples_
int maxNrSamples_
Definition: EcalTrigPrimFunctionalAlgo.h:150
EcalTrigPrimFunctionalAlgo::run_part1_EE
void run_part1_EE(EEDigiCollection const *col)
Definition: EcalTrigPrimFunctionalAlgo.cc:152
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
EcalTrigPrimFunctionalAlgo::setPointers2
void setPointers2(const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB, const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE, const EcalTPGTowerStatus *ecaltpgBadTT, const EcalTPGSpike *ecaltpgSpike, const EcalTPGTPMode *ecaltpgTPMode)
Definition: EcalTrigPrimFunctionalAlgo.h:101
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
EcalTPGStripStatus
Definition: EcalTPGStripStatus.h:9
EcalTrigPrimFunctionalAlgo::striptp_
std::vector< std::vector< int > > striptp_
Definition: EcalTrigPrimFunctionalAlgo.h:168
EcalTriggerPrimitiveSample
Definition: EcalTriggerPrimitiveSample.h:12
mps_fire.result
result
Definition: mps_fire.py:311
dummy
Definition: DummySelector.h:38
EcalTrigPrimFunctionalAlgo::theMapping_
const EcalElectronicsMapping * theMapping_
Definition: EcalTrigPrimFunctionalAlgo.h:145
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
EcalTrigPrimFunctionalAlgo::tcpFormat_
bool tcpFormat_
Definition: EcalTrigPrimFunctionalAlgo.h:152
EEDataFrame
Definition: EEDataFrame.h:12
EcalTrigPrimFunctionalAlgo::maxNrSamplesOut_
static const unsigned int maxNrSamplesOut_
Definition: EcalTrigPrimFunctionalAlgo.h:160
EcalTrigPrimFunctionalAlgo::famos_
bool famos_
Definition: EcalTrigPrimFunctionalAlgo.h:155
EcalTPGOddWeightGroup
Definition: EcalTPGOddWeightGroup.h:13