CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
EcalTrigPrimFunctionalAlgo Class Reference

#include <EcalTrigPrimFunctionalAlgo.h>

Public Member Functions

 EcalTrigPrimFunctionalAlgo (const EcalElectronicsMapping *theMapping, int binofmax, bool tcpFormat, bool debug, bool famos, bool TPinfoPrintout)
 
 EcalTrigPrimFunctionalAlgo (const EcalTrigTowerConstituentsMap *eTTmap, const CaloSubdetectorGeometry *endcapGeometry, const EcalElectronicsMapping *theMapping, int binofmax, bool tcpFormat, bool debug, bool famos, bool TPinfoPrintout)
 
void run (const EBDigiCollection *col, EcalTrigPrimDigiCollection &result, EcalTrigPrimDigiCollection &resultTcp)
 
void run (const EEDigiCollection *col, EcalTrigPrimDigiCollection &result, EcalTrigPrimDigiCollection &resultTcp)
 
void run_part1_EB (EBDigiCollection const *col)
 
void run_part1_EE (EEDigiCollection const *col)
 
template<class Coll >
void run_part2 (Coll const *col, std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &towerMap, EcalTrigPrimDigiCollection &result, EcalTrigPrimDigiCollection &resultTcp)
 
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)
 
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)
 
virtual ~EcalTrigPrimFunctionalAlgo ()
 

Private Types

enum  { nbMaxStrips_ = 5 }
 
enum  { nbMaxXtals_ = 5 }
 

Private Member Functions

template<class T >
void clean (std::vector< std::vector< std::pair< int, std::vector< T >>>> &towerMap)
 
template<class Coll >
void fillMap (Coll const *col, std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &towerMap)
 
int findStripNr (const EBDetId &id)
 
int findStripNr (const EEDetId &id)
 
int getIndex (const EBDigiCollection *, EcalTrigTowerDetId &id)
 
int getIndex (const EEDigiCollection *, EcalTrigTowerDetId &id)
 
void init ()
 
template<class T >
void initStructures (std::vector< std::vector< std::pair< int, std::vector< T >>>> &towMap)
 

Private Attributes

bool barrelOnly_
 
int binOfMaximum_
 
bool debug_
 
std::unique_ptr< EcalFenixStripestrip_
 
std::unique_ptr< EcalFenixTcpetcp_
 
const EcalTrigTowerConstituentsMapeTTmap_ = nullptr
 
bool famos_
 
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
 
int maxNrSamples_
 
int nrTowers_
 
std::vector< std::vector< int > > striptp_
 
bool tcpFormat_
 
const CaloSubdetectorGeometrytheEndcapGeometry_ = nullptr
 
const EcalElectronicsMappingtheMapping_
 
float threshold
 
std::vector< std::vector< std::pair< int, std::vector< EBDataFrame > > > > towerMapEB_
 
std::vector< std::vector< std::pair< int, std::vector< EEDataFrame > > > > towerMapEE_
 
std::vector< EcalTriggerPrimitiveSampletowtp2_
 
std::vector< EcalTriggerPrimitiveSampletowtp_
 
bool tpInfoPrintout_
 

Static Private Attributes

static const unsigned int maxNrSamplesOut_ = 10
 
static const unsigned int maxNrTowers_ = 2448
 
static const unsigned int maxNrTPs_ = 2448
 
static const unsigned int nrSamples_ = 5
 

Detailed Description

EcalTrigPrimFunctionalAlgo is the main algorithm class for TPG It coordinates all the aother algorithms Structure is as close as possible to electronics

Author
Ursula Berthon, Stephanie Baffioni, LLR Palaiseau
Version
1st Version may 2006
2nd Version jul 2006
3rd Version sep 2007 introducing new Records closer to the db

EcalTrigPrimFunctionalAlgo is the main algorithm class for TPG It coordinates all the other algorithms Structure is very close to electronics

Author
Ursula Berthon, Stephanie Baffioni, LLR Palaiseau
Version
1st Version may 2006
2nd Version jul 2006

Definition at line 46 of file EcalTrigPrimFunctionalAlgo.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
nbMaxStrips_ 

Definition at line 175 of file EcalTrigPrimFunctionalAlgo.h.

175 { nbMaxStrips_ = 5 };

◆ anonymous enum

anonymous enum
private
Enumerator
nbMaxXtals_ 

Definition at line 176 of file EcalTrigPrimFunctionalAlgo.h.

176 { nbMaxXtals_ = 5 };

Constructor & Destructor Documentation

◆ EcalTrigPrimFunctionalAlgo() [1/2]

EcalTrigPrimFunctionalAlgo::EcalTrigPrimFunctionalAlgo ( const EcalTrigTowerConstituentsMap eTTmap,
const CaloSubdetectorGeometry endcapGeometry,
const EcalElectronicsMapping theMapping,
int  binofmax,
bool  tcpFormat,
bool  debug,
bool  famos,
bool  TPinfoPrintout 
)

Definition at line 50 of file EcalTrigPrimFunctionalAlgo.cc.

58  : eTTmap_(eTTmap),
59  theEndcapGeometry_(endcapGeometry),
60  theMapping_(theMapping),
61  binOfMaximum_(binofmax),
62  tcpFormat_(tcpFormat),
63  barrelOnly_(true),
64  debug_(debug),
65  famos_(famos),
66  tpInfoPrintout_(tpInfoPrintout)
67 
68 {
69  if (famos_)
70  maxNrSamples_ = 1; // get from input??
71  else
72  maxNrSamples_ = 10;
73  this->init();
74 }

References famos_, init(), and maxNrSamples_.

◆ EcalTrigPrimFunctionalAlgo() [2/2]

EcalTrigPrimFunctionalAlgo::EcalTrigPrimFunctionalAlgo ( const EcalElectronicsMapping theMapping,
int  binofmax,
bool  tcpFormat,
bool  debug,
bool  famos,
bool  TPinfoPrintout 
)
explicit

Definition at line 76 of file EcalTrigPrimFunctionalAlgo.cc.

78  : theMapping_(theMapping),
79  binOfMaximum_(binofmax),
80  tcpFormat_(tcpFormat),
81  barrelOnly_(true),
82  debug_(debug),
83  famos_(famos),
84  tpInfoPrintout_(tpInfoPrintout)
85 
86 {
87  if (famos_)
88  maxNrSamples_ = 1; // get from input??
89  else
90  maxNrSamples_ = 10;
91  this->init();
92 }

References famos_, init(), and maxNrSamples_.

◆ ~EcalTrigPrimFunctionalAlgo()

EcalTrigPrimFunctionalAlgo::~EcalTrigPrimFunctionalAlgo ( )
virtual

Definition at line 111 of file EcalTrigPrimFunctionalAlgo.cc.

111 {}

Member Function Documentation

◆ clean()

template<class T >
void EcalTrigPrimFunctionalAlgo::clean ( std::vector< std::vector< std::pair< int, std::vector< T >>>> &  towerMap)
private

Definition at line 337 of file EcalTrigPrimFunctionalAlgo.h.

337  {
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 }

References mps_fire::i, dqmiolumiharvest::j, maxNrTowers_, and nbMaxStrips_.

Referenced by run_part1_EB(), and run_part1_EE().

◆ fillMap()

template<class Coll >
void EcalTrigPrimFunctionalAlgo::fillMap ( Coll const *  col,
std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &  towerMap 
)
private

Definition at line 295 of file EcalTrigPrimFunctionalAlgo.h.

296  {
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 }

References cuy::col, TrendClient_cfi::Digi, findStripNr(), first, getIndex(), hitTowers_, mps_fire::i, LogDebug, nbMaxXtals_, nrTowers_, EgammaValidation_cff::samples, and edm::second().

Referenced by run_part1_EB(), and run_part1_EE().

◆ findStripNr() [1/2]

int EcalTrigPrimFunctionalAlgo::findStripNr ( const EBDetId id)
private

Definition at line 128 of file EcalTrigPrimFunctionalAlgo.cc.

128  {
129  int stripnr;
130  int n = ((id.ic() - 1) % 100) / 20; // 20 corresponds to 4 * ecal_barrel_crystals_per_strip FIXME!!
131  if (id.ieta() < 0)
132  stripnr = n + 1;
133  else
134  stripnr = nbMaxStrips_ - n;
135  return stripnr;
136 }

References LEDCalibrationChannels::ieta, dqmiodumpmetadata::n, and nbMaxStrips_.

Referenced by fillMap().

◆ findStripNr() [2/2]

int EcalTrigPrimFunctionalAlgo::findStripNr ( const EEDetId id)
private

Definition at line 138 of file EcalTrigPrimFunctionalAlgo.cc.

138  {
139  int stripnr;
141  stripnr = elId.pseudoStripId();
142  return stripnr;
143 }

References EcalElectronicsMapping::getTriggerElectronicsId(), EcalTriggerElectronicsId::pseudoStripId(), and theMapping_.

◆ getIndex() [1/2]

int EcalTrigPrimFunctionalAlgo::getIndex ( const EBDigiCollection ,
EcalTrigTowerDetId id 
)
inlineprivate

Definition at line 131 of file EcalTrigPrimFunctionalAlgo.h.

131 { return id.hashedIndex(); }

Referenced by fillMap().

◆ getIndex() [2/2]

int EcalTrigPrimFunctionalAlgo::getIndex ( const EEDigiCollection ,
EcalTrigTowerDetId id 
)
inlineprivate

Definition at line 133 of file EcalTrigPrimFunctionalAlgo.h.

133  {
134  int ind = (id.ietaAbs() - 18) * 72 + id.iphi();
135  if (id.zside() < 0)
136  ind += 792;
137  return ind;
138  }

References LEDCalibrationChannels::iphi, and ecaldqm::zside().

◆ init()

void EcalTrigPrimFunctionalAlgo::init ( void  )
private

Definition at line 95 of file EcalTrigPrimFunctionalAlgo.cc.

95  {
96  // create main sub algos
97  estrip_ = std::make_unique<EcalFenixStrip>(theMapping_, debug_, famos_, maxNrSamples_, nbMaxXtals_, tpInfoPrintout_);
98  etcp_ = std::make_unique<EcalFenixTcp>(
100 
101  // initialise data structures
104 
105  hitTowers_.resize(maxNrTowers_);
106  towtp_.resize(maxNrSamplesOut_);
107  towtp2_.resize(maxNrSamplesOut_);
108 }

References binOfMaximum_, debug_, estrip_, etcp_, famos_, hitTowers_, initStructures(), maxNrSamples_, maxNrSamplesOut_, maxNrTowers_, nbMaxStrips_, nbMaxXtals_, tcpFormat_, theMapping_, towerMapEB_, towerMapEE_, towtp2_, towtp_, and tpInfoPrintout_.

Referenced by EcalTrigPrimFunctionalAlgo().

◆ initStructures()

template<class T >
void EcalTrigPrimFunctionalAlgo::initStructures ( std::vector< std::vector< std::pair< int, std::vector< T >>>> &  towMap)
private

Definition at line 346 of file EcalTrigPrimFunctionalAlgo.h.

346  {
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 }

References mps_fire::i, maxNrSamples_, maxNrTowers_, nbMaxStrips_, nbMaxXtals_, and striptp_.

Referenced by init().

◆ run() [1/2]

void EcalTrigPrimFunctionalAlgo::run ( const EBDigiCollection col,
EcalTrigPrimDigiCollection result,
EcalTrigPrimDigiCollection resultTcp 
)

Definition at line 113 of file EcalTrigPrimFunctionalAlgo.cc.

115  {
116  run_part1_EB(col);
117  run_part2(col, towerMapEB_, result, resultTcp);
118 }

References cuy::col, mps_fire::result, run_part1_EB(), run_part2(), and towerMapEB_.

◆ run() [2/2]

void EcalTrigPrimFunctionalAlgo::run ( const EEDigiCollection col,
EcalTrigPrimDigiCollection result,
EcalTrigPrimDigiCollection resultTcp 
)

Definition at line 121 of file EcalTrigPrimFunctionalAlgo.cc.

123  {
124  run_part1_EE(col);
125  run_part2(col, towerMapEE_, result, resultTcp);
126 }

References cuy::col, mps_fire::result, run_part1_EE(), run_part2(), and towerMapEE_.

◆ run_part1_EB()

void EcalTrigPrimFunctionalAlgo::run_part1_EB ( EBDigiCollection const *  col)

Definition at line 146 of file EcalTrigPrimFunctionalAlgo.cc.

146  {
148  // loop over dataframes and fill map
150 }

References clean(), cuy::col, fillMap(), and towerMapEB_.

Referenced by run().

◆ run_part1_EE()

void EcalTrigPrimFunctionalAlgo::run_part1_EE ( EEDigiCollection const *  col)

Definition at line 152 of file EcalTrigPrimFunctionalAlgo.cc.

152  {
154  // loop over dataframes and fill map
156 }

References clean(), cuy::col, fillMap(), and towerMapEE_.

Referenced by run().

◆ run_part2()

template<class Coll >
void EcalTrigPrimFunctionalAlgo::run_part2 ( Coll const *  col,
std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &  towerMap,
EcalTrigPrimDigiCollection result,
EcalTrigPrimDigiCollection resultTcp 
)

Definition at line 183 of file EcalTrigPrimFunctionalAlgo.h.

187  {
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 }

References binOfMaximum_, EcalTriggerPrimitiveDigi::compressedEt(), gather_cfg::cout, hgcalPerformanceValidation::df, TrendClient_cfi::Digi, EcalEndcap, estrip_, EgHLTOffHistBins_cfi::et, etcp_, first, castor_dqm_sourceclient-live_cfg::firstSample, hitTowers_, mps_fire::i, EcalTrigTowerDetId::ietaAbs(), EcalTrigTowerDetId::iphi(), CastorRawToDigi_cfi::lastSample, LogDebug, nrSamples_, nrTowers_, phi, edm::SortedCollection< T, SORT >::push_back(), mps_fire::result, edm::second(), EcalTriggerPrimitiveDigi::setSample(), EcalTriggerPrimitiveDigi::setSize(), striptp_, EcalTrigTowerDetId::subDet(), tcpFormat_, towtp2_, towtp_, tpInfoPrintout_, and EcalTrigTowerDetId::zside().

Referenced by run().

◆ setPointers()

void EcalTrigPrimFunctionalAlgo::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 
)
inline

Definition at line 78 of file EcalTrigPrimFunctionalAlgo.h.

88  {
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  }

References estrip_.

◆ setPointers2()

void EcalTrigPrimFunctionalAlgo::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 
)
inline

Definition at line 101 of file EcalTrigPrimFunctionalAlgo.h.

108  {
109  etcp_->setPointers(ecaltpgFgEBGroup,
110  ecaltpgLutGroup,
111  ecaltpgLut,
112  ecaltpgFineGrainEB,
113  ecaltpgFineGrainTowerEE,
114  ecaltpgBadTT,
115  ecaltpgSpike,
116  ecaltpgTPMode);
117  }

References etcp_.

Member Data Documentation

◆ barrelOnly_

bool EcalTrigPrimFunctionalAlgo::barrelOnly_
private

Definition at line 153 of file EcalTrigPrimFunctionalAlgo.h.

◆ binOfMaximum_

int EcalTrigPrimFunctionalAlgo::binOfMaximum_
private

Definition at line 149 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

◆ debug_

bool EcalTrigPrimFunctionalAlgo::debug_
private

Definition at line 154 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

◆ estrip_

std::unique_ptr<EcalFenixStrip> EcalTrigPrimFunctionalAlgo::estrip_
private

Definition at line 140 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), run_part2(), and setPointers().

◆ etcp_

std::unique_ptr<EcalFenixTcp> EcalTrigPrimFunctionalAlgo::etcp_
private

Definition at line 141 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), run_part2(), and setPointers2().

◆ eTTmap_

const EcalTrigTowerConstituentsMap* EcalTrigPrimFunctionalAlgo::eTTmap_ = nullptr
private

Definition at line 143 of file EcalTrigPrimFunctionalAlgo.h.

◆ famos_

bool EcalTrigPrimFunctionalAlgo::famos_
private

Definition at line 155 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by EcalTrigPrimFunctionalAlgo(), and init().

◆ hitTowers_

std::vector<std::pair<int, EcalTrigTowerDetId> > EcalTrigPrimFunctionalAlgo::hitTowers_
private

Definition at line 171 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap(), init(), and run_part2().

◆ maxNrSamples_

int EcalTrigPrimFunctionalAlgo::maxNrSamples_
private

Definition at line 150 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by EcalTrigPrimFunctionalAlgo(), init(), and initStructures().

◆ maxNrSamplesOut_

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrSamplesOut_ = 10
staticprivate

Definition at line 160 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

◆ maxNrTowers_

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTowers_ = 2448
staticprivate

Definition at line 161 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by clean(), init(), and initStructures().

◆ maxNrTPs_

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTPs_ = 2448
staticprivate

Definition at line 162 of file EcalTrigPrimFunctionalAlgo.h.

◆ nrSamples_

const unsigned int EcalTrigPrimFunctionalAlgo::nrSamples_ = 5
staticprivate

Definition at line 158 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by run_part2().

◆ nrTowers_

int EcalTrigPrimFunctionalAlgo::nrTowers_
private

Definition at line 165 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap(), and run_part2().

◆ striptp_

std::vector<std::vector<int> > EcalTrigPrimFunctionalAlgo::striptp_
private

Definition at line 168 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by initStructures(), and run_part2().

◆ tcpFormat_

bool EcalTrigPrimFunctionalAlgo::tcpFormat_
private

Definition at line 152 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

◆ theEndcapGeometry_

const CaloSubdetectorGeometry* EcalTrigPrimFunctionalAlgo::theEndcapGeometry_ = nullptr
private

Definition at line 144 of file EcalTrigPrimFunctionalAlgo.h.

◆ theMapping_

const EcalElectronicsMapping* EcalTrigPrimFunctionalAlgo::theMapping_
private

Definition at line 145 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by findStripNr(), and init().

◆ threshold

float EcalTrigPrimFunctionalAlgo::threshold
private

Definition at line 147 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by utils.StatisticalTest::get_status().

◆ towerMapEB_

std::vector<std::vector<std::pair<int, std::vector<EBDataFrame> > > > EcalTrigPrimFunctionalAlgo::towerMapEB_
private

Definition at line 169 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), run(), and run_part1_EB().

◆ towerMapEE_

std::vector<std::vector<std::pair<int, std::vector<EEDataFrame> > > > EcalTrigPrimFunctionalAlgo::towerMapEE_
private

Definition at line 170 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), run(), and run_part1_EE().

◆ towtp2_

std::vector<EcalTriggerPrimitiveSample> EcalTrigPrimFunctionalAlgo::towtp2_
private

Definition at line 173 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

◆ towtp_

std::vector<EcalTriggerPrimitiveSample> EcalTrigPrimFunctionalAlgo::towtp_
private

Definition at line 172 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

◆ tpInfoPrintout_

bool EcalTrigPrimFunctionalAlgo::tpInfoPrintout_
private

Definition at line 156 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

EcalTrigPrimFunctionalAlgo::tpInfoPrintout_
bool tpInfoPrintout_
Definition: EcalTrigPrimFunctionalAlgo.h:156
mps_fire.i
i
Definition: mps_fire.py:428
EcalTrigTowerDetId::iphi
int iphi() const
get the tower iphi
Definition: EcalTrigTowerDetId.h:52
EcalTrigPrimFunctionalAlgo::nbMaxStrips_
Definition: EcalTrigPrimFunctionalAlgo.h:175
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
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
EcalTriggerElectronicsId
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
Definition: EcalTriggerElectronicsId.h:18
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
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
cuy.col
col
Definition: cuy.py:1010
gather_cfg.cout
cout
Definition: gather_cfg.py:144
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
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
EcalTrigPrimFunctionalAlgo::etcp_
std::unique_ptr< EcalFenixTcp > etcp_
Definition: EcalTrigPrimFunctionalAlgo.h:141
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
EgammaValidation_cff.samples
samples
Definition: EgammaValidation_cff.py:19
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
debug
#define debug
Definition: HDRShower.cc:19
EcalTrigPrimFunctionalAlgo::nrTowers_
int nrTowers_
Definition: EcalTrigPrimFunctionalAlgo.h:165
EcalTrigPrimFunctionalAlgo::towtp2_
std::vector< EcalTriggerPrimitiveSample > towtp2_
Definition: EcalTrigPrimFunctionalAlgo.h:173
CastorRawToDigi_cfi.lastSample
lastSample
Definition: CastorRawToDigi_cfi.py:23
EcalTrigPrimFunctionalAlgo::nrSamples_
static const unsigned int nrSamples_
Definition: EcalTrigPrimFunctionalAlgo.h:158
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:112
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
EcalTriggerPrimitiveDigi::setSize
void setSize(int size)
Definition: EcalTriggerPrimitiveDigi.cc:60
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
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
EcalTriggerElectronicsId::pseudoStripId
int pseudoStripId() const
get the tower id
Definition: EcalTriggerElectronicsId.h:35
EcalTriggerPrimitiveDigi::setSample
void setSample(int i, const EcalTriggerPrimitiveSample &sam)
Definition: EcalTriggerPrimitiveDigi.h:36
EcalElectronicsMapping::getTriggerElectronicsId
EcalTriggerElectronicsId getTriggerElectronicsId(const DetId &id) const
Get the trigger electronics id for this det id.
Definition: EcalElectronicsMapping.cc:389
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::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
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
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
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
EcalTrigPrimFunctionalAlgo::maxNrSamplesOut_
static const unsigned int maxNrSamplesOut_
Definition: EcalTrigPrimFunctionalAlgo.h:160
EcalTrigPrimFunctionalAlgo::famos_
bool famos_
Definition: EcalTrigPrimFunctionalAlgo.h:155