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 edm::EventSetup &setup, int binofmax, bool tcpFormat, bool barrelOnly, bool debug, bool famos)
 
void run (const edm::EventSetup &, const EBDigiCollection *col, EcalTrigPrimDigiCollection &result, EcalTrigPrimDigiCollection &resultTcp)
 
void run (const edm::EventSetup &, 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 (const edm::EventSetup &, 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 EcalTPGFineGrainStripEE *ecaltpgFgStripEE, const EcalTPGCrystalStatus *ecaltpgBadX, const EcalTPGStripStatus *ecaltpgStripStatus)
 
void setPointers2 (const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB, const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE, const EcalTPGTowerStatus *ecaltpgBadTT, const EcalTPGSpike *ecaltpgSpike)
 
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 (const edm::EventSetup &)
 
template<class T >
void initStructures (std::vector< std::vector< std::pair< int, std::vector< T >>>> &towMap)
 

Private Attributes

bool barrelOnly_
 
int binOfMaximum_
 
bool debug_
 
EcalFenixStripestrip_
 
EcalFenixTcpetcp_
 
edm::ESHandle< EcalTrigTowerConstituentsMapeTTmap_
 
bool famos_
 
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
 
int maxNrSamples_
 
int nrTowers_
 
std::vector< std::vector< int > > striptp_
 
bool tcpFormat_
 
const CaloSubdetectorGeometrytheEndcapGeometry
 
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_
 

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 aother 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 47 of file EcalTrigPrimFunctionalAlgo.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
nbMaxStrips_ 

Definition at line 159 of file EcalTrigPrimFunctionalAlgo.h.

159 { nbMaxStrips_ = 5 };

◆ anonymous enum

anonymous enum
private
Enumerator
nbMaxXtals_ 

Definition at line 160 of file EcalTrigPrimFunctionalAlgo.h.

160 { nbMaxXtals_ = 5 };

Constructor & Destructor Documentation

◆ EcalTrigPrimFunctionalAlgo()

EcalTrigPrimFunctionalAlgo::EcalTrigPrimFunctionalAlgo ( const edm::EventSetup setup,
int  binofmax,
bool  tcpFormat,
bool  barrelOnly,
bool  debug,
bool  famos 
)
explicit

Definition at line 51 of file EcalTrigPrimFunctionalAlgo.cc.

53  : binOfMaximum_(binofmax),
54  tcpFormat_(tcpFormat),
55  barrelOnly_(barrelOnly),
56  debug_(debug),
57  famos_(famos)
58 
59 {
60  if (famos_)
61  maxNrSamples_ = 1; // get from input??
62  else
63  maxNrSamples_ = 10;
64  this->init(setup);
65 }

References famos_, init(), and maxNrSamples_.

◆ ~EcalTrigPrimFunctionalAlgo()

EcalTrigPrimFunctionalAlgo::~EcalTrigPrimFunctionalAlgo ( )
virtual

Definition at line 96 of file EcalTrigPrimFunctionalAlgo.cc.

96  {
97  delete estrip_;
98  delete etcp_;
99 }

References estrip_, and etcp_.

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 314 of file EcalTrigPrimFunctionalAlgo.h.

314  {
315  // clean internal data structures
316  for (unsigned int i = 0; i < maxNrTowers_; ++i)
317  for (int j = 0; j < nbMaxStrips_; ++j)
318  (towMap[i])[j].first = 0;
319  return;
320 }

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 272 of file EcalTrigPrimFunctionalAlgo.h.

273  {
274  typedef typename Coll::Digi Digi;
275 
276  // implementation for Barrel and Endcap
277 
278  if (col) {
279  nrTowers_ = 0;
280  LogDebug("EcalTPG") << "Fill mapping, Collection size = " << col->size();
281  for (unsigned int i = 0; i < col->size(); ++i) {
282  Digi samples((*col)[i]);
283  EcalTrigTowerDetId coarser = (*eTTmap_).towerOf(samples.id());
284  int index = getIndex(col, coarser);
285  int stripnr = findStripNr(samples.id());
286 
287  int filled = 0;
288  for (unsigned int ij = 0; ij < towerMap[index].size(); ++ij)
289  filled += towerMap[index][ij].first;
290  if (!filled) {
291  hitTowers_[nrTowers_++] = std::pair<int, EcalTrigTowerDetId>(index, coarser);
292  }
293 
294  // FIXME: temporary protection
295  int ncryst = towerMap[index][stripnr - 1].first;
296  if (ncryst >= nbMaxXtals_) {
297  edm::LogError("EcalTrigPrimFunctionAlgo")
298  << "! Too many xtals for TT " << coarser << " stripnr " << stripnr << " xtalid " << samples.id();
299  continue;
300  }
301  ((towerMap[index])[stripnr - 1].second)[ncryst] = samples;
302  (towerMap[index])[stripnr - 1].first++;
303  }
304 
305  LogDebug("EcalTPG") << "fillMap"
306  << "[EcalTrigPrimFunctionalAlgo] (found " << col->size() << " frames in " << towerMap.size()
307  << " towers) ";
308  } else {
309  LogDebug("EcalTPG") << "FillMap - FillMap Collection size=0 !!!!";
310  }
311 }

References cuy::col, TrendClient_cfi::Digi, findStripNr(), dqmdumpme::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 118 of file EcalTrigPrimFunctionalAlgo.cc.

118  {
119  int stripnr;
120  int n = ((id.ic() - 1) % 100) / 20; // 20 corresponds to 4 * ecal_barrel_crystals_per_strip FIXME!!
121  if (id.ieta() < 0)
122  stripnr = n + 1;
123  else
124  stripnr = nbMaxStrips_ - n;
125  return stripnr;
126 }

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

Referenced by fillMap().

◆ findStripNr() [2/2]

int EcalTrigPrimFunctionalAlgo::findStripNr ( const EEDetId id)
private

Definition at line 128 of file EcalTrigPrimFunctionalAlgo.cc.

128  {
129  int stripnr;
131  stripnr = elId.pseudoStripId();
132  return stripnr;
133 }

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

◆ getIndex() [1/2]

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

Definition at line 116 of file EcalTrigPrimFunctionalAlgo.h.

116 { return id.hashedIndex(); }

Referenced by fillMap().

◆ getIndex() [2/2]

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

Definition at line 118 of file EcalTrigPrimFunctionalAlgo.h.

118  {
119  int ind = (id.ietaAbs() - 18) * 72 + id.iphi();
120  if (id.zside() < 0)
121  ind += 792;
122  return ind;
123  }

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

◆ init()

void EcalTrigPrimFunctionalAlgo::init ( const edm::EventSetup setup)
private

Definition at line 68 of file EcalTrigPrimFunctionalAlgo.cc.

68  {
69  if (!barrelOnly_) {
70  edm::ESHandle<CaloGeometry> theGeometry;
71  edm::ESHandle<CaloSubdetectorGeometry> theEndcapGeometry_handle;
72  setup.get<CaloGeometryRecord>().get(theGeometry);
73  setup.get<EcalEndcapGeometryRecord>().get("EcalEndcap", theEndcapGeometry_handle);
74  theEndcapGeometry = &(*theEndcapGeometry_handle);
76  }
77  // endcap mapping
79  setup.get<EcalMappingRcd>().get(ecalmapping);
80  theMapping_ = ecalmapping.product();
81 
82  // create main sub algos
85 
86  // initialise data structures
89 
90  hitTowers_.resize(maxNrTowers_);
91  towtp_.resize(maxNrSamplesOut_);
92  towtp2_.resize(maxNrSamplesOut_);
93 }

References barrelOnly_, binOfMaximum_, debug_, estrip_, etcp_, eTTmap_, famos_, get, hitTowers_, initStructures(), maxNrSamples_, maxNrSamplesOut_, maxNrTowers_, nbMaxStrips_, nbMaxXtals_, edm::ESHandle< T >::product(), singleTopDQM_cfi::setup, tcpFormat_, theEndcapGeometry, theMapping_, towerMapEB_, towerMapEE_, towtp2_, and towtp_.

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 323 of file EcalTrigPrimFunctionalAlgo.h.

323  {
324  // initialise internal data structures
325 
326  std::vector<T> vec0(nbMaxXtals_);
327  std::vector<std::pair<int, std::vector<T>>> vec1(nbMaxStrips_);
328  for (int i = 0; i < nbMaxStrips_; ++i)
329  vec1[i] = std::pair<int, std::vector<T>>(0, vec0);
330  towMap.resize(maxNrTowers_);
331  for (unsigned int i = 0; i < maxNrTowers_; ++i)
332  towMap[i] = vec1;
333 
334  std::vector<int> vecint(maxNrSamples_);
335  striptp_.resize(nbMaxStrips_);
336  for (int i = 0; i < nbMaxStrips_; ++i)
337  striptp_[i] = vecint;
338 }

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

Referenced by init().

◆ run() [1/2]

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

Definition at line 101 of file EcalTrigPrimFunctionalAlgo.cc.

104  {
105  run_part1_EB(col);
106  run_part2(setup, col, towerMapEB_, result, resultTcp);
107 }

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

◆ run() [2/2]

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

Definition at line 110 of file EcalTrigPrimFunctionalAlgo.cc.

113  {
114  run_part1_EE(col);
115  run_part2(setup, col, towerMapEE_, result, resultTcp);
116 }

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

◆ run_part1_EB()

void EcalTrigPrimFunctionalAlgo::run_part1_EB ( EBDigiCollection const *  col)

Definition at line 136 of file EcalTrigPrimFunctionalAlgo.cc.

136  {
138  // loop over dataframes and fill map
140 }

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

Referenced by run().

◆ run_part1_EE()

void EcalTrigPrimFunctionalAlgo::run_part1_EE ( EEDigiCollection const *  col)

Definition at line 142 of file EcalTrigPrimFunctionalAlgo.cc.

142  {
144  // loop over dataframes and fill map
146 }

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

Referenced by run().

◆ run_part2()

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

Definition at line 167 of file EcalTrigPrimFunctionalAlgo.h.

172  {
173  typedef typename Coll::Digi Digi;
174 
175  // prepare writing of TP-s
176 
177  int firstSample = binOfMaximum_ - 1 - nrSamples_ / 2;
178  int lastSample = binOfMaximum_ - 1 + nrSamples_ / 2;
179  int nrTP = 0;
180  std::vector<typename Coll::Digi> dummy;
181  EcalTriggerPrimitiveDigi tptow[2];
182  EcalTriggerPrimitiveDigi tptowTcp[2];
183 
185 
186  for (int itow = 0; itow < nrTowers_; ++itow) {
187  int index = hitTowers_[itow].first;
188  const EcalTrigTowerDetId &thisTower = hitTowers_[itow].second;
189 
190  // loop over all strips assigned to this trigger tower
191  int nstr = 0;
192  for (unsigned int i = 0; i < towerMap[itow].size(); ++i) {
193  std::vector<Digi> &df = (towerMap[index])[i].second; // vector of dataframes for this strip,
194  // size; nr of crystals/strip
195 
196  if ((towerMap[index])[i].first > 0) {
197  estrip_->process(setup, df, (towerMap[index])[i].first, striptp_[nstr++]);
198  }
199  } // loop over strips in one tower
200 
201  bool isInInnerRings = false;
202  if (thisTower.subDet() == EcalEndcap && (thisTower.ietaAbs() == 27 || thisTower.ietaAbs() == 28))
203  isInInnerRings = true;
204  etcp_->process(setup, dummy, striptp_, nstr, towtp_, towtp2_, isInInnerRings, thisTower);
205 
206  // prepare TP-s
207  // special treatment for 2 inner endcap rings
208  int nrTowers;
209  if (isInInnerRings) {
210  nrTowers = 2;
211  int phi = 2 * ((thisTower.iphi() - 1) / 2);
212  tptow[0] = EcalTriggerPrimitiveDigi(
213  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 1));
214  tptow[1] = EcalTriggerPrimitiveDigi(
215  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 2));
216 
217  if (tcpFormat_) {
218  tptowTcp[0] = EcalTriggerPrimitiveDigi(
219  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 1));
220  tptowTcp[1] = EcalTriggerPrimitiveDigi(
221  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 2));
222  }
223  } else {
224  nrTowers = 1;
225  tptow[0] = EcalTriggerPrimitiveDigi(thisTower);
226  if (tcpFormat_)
227  tptowTcp[0] = EcalTriggerPrimitiveDigi(thisTower);
228  }
229 
230  // now fill in
231  for (int nrt = 0; nrt < nrTowers; nrt++) {
232  (tptow[nrt]).setSize(nrSamples_);
233  if (towtp_.size() < nrSamples_) { // FIXME: only once
234  edm::LogWarning("") << "Too few samples produced, nr is " << towtp_.size();
235  break;
236  }
237  int isam = 0;
238  for (int i = firstSample; i <= lastSample; ++i) {
239  tptow[nrt].setSample(isam++, EcalTriggerPrimitiveSample(towtp_[i]));
240  }
241  nrTP++;
242  LogDebug("EcalTPG") << " For tower " << itow << " created TP nr " << nrTP << " with Et "
243  << tptow[nrt].compressedEt();
244  result.push_back(tptow[nrt]);
245  }
246 
247  if (tcpFormat_) {
248  for (int nrt = 0; nrt < nrTowers; nrt++) {
249  tptowTcp[nrt].setSize(nrSamples_);
250  if (towtp2_.size() < nrSamples_) { // FIXME: only once
251  edm::LogWarning("") << "Too few samples produced, nr is " << towtp2_.size();
252  break;
253  }
254  int isam = 0;
255  for (int i = firstSample; i <= lastSample; ++i) {
256  if (nrTowers <= 1)
257  tptowTcp[nrt].setSample(isam++, EcalTriggerPrimitiveSample(towtp2_[i]));
258  else {
259  int et = towtp2_[i].compressedEt() / 2;
260  tptowTcp[nrt].setSample(isam++,
261  EcalTriggerPrimitiveSample(et, towtp2_[i].fineGrain(), towtp2_[i].ttFlag()));
262  }
263  }
264  resultTcp.push_back(tptowTcp[nrt]);
265  }
266  }
267  }
268  return;
269 }

References binOfMaximum_, EcalTriggerPrimitiveDigi::compressedEt(), hgcalPerformanceValidation::df, TrendClient_cfi::Digi, EcalEndcap, estrip_, EgHLTOffHistBins_cfi::et, etcp_, dqmdumpme::first, castor_dqm_sourceclient-live_cfg::firstSample, EcalFenixStrip::getFGVB(), hitTowers_, mps_fire::i, EcalTrigTowerDetId::ietaAbs(), EcalTrigTowerDetId::iphi(), CastorRawToDigi_cfi::lastSample, LogDebug, nrSamples_, nrTowers_, phi, EcalFenixTcp::process(), EcalFenixStrip::process(), edm::SortedCollection< T, SORT >::push_back(), mps_fire::result, edm::second(), EcalFenixStripFgvbEE::setbadStripMissing(), EcalTriggerPrimitiveDigi::setSample(), EcalTriggerPrimitiveDigi::setSize(), singleTopDQM_cfi::setup, striptp_, EcalTrigTowerDetId::subDet(), tcpFormat_, towtp2_, towtp_, 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 EcalTPGFineGrainStripEE ecaltpgFgStripEE,
const EcalTPGCrystalStatus ecaltpgBadX,
const EcalTPGStripStatus ecaltpgStripStatus 
)
inline

Definition at line 71 of file EcalTrigPrimFunctionalAlgo.h.

78  {
79  estrip_->setPointers(ecaltpPed,
80  ecaltpLin,
81  ecaltpgWeightMap,
82  ecaltpgWeightGroup,
83  ecaltpgSlidW,
84  ecaltpgFgStripEE,
85  ecaltpgBadX,
86  ecaltpgStripStatus);
87  }

References estrip_, and EcalFenixStrip::setPointers().

◆ 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 
)
inline

Definition at line 88 of file EcalTrigPrimFunctionalAlgo.h.

94  {
95  etcp_->setPointers(ecaltpgFgEBGroup,
96  ecaltpgLutGroup,
97  ecaltpgLut,
98  ecaltpgFineGrainEB,
99  ecaltpgFineGrainTowerEE,
100  ecaltpgBadTT,
101  ecaltpgSpike);
102  }

References etcp_, and EcalFenixTcp::setPointers().

Member Data Documentation

◆ barrelOnly_

bool EcalTrigPrimFunctionalAlgo::barrelOnly_
private

Definition at line 138 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

◆ binOfMaximum_

int EcalTrigPrimFunctionalAlgo::binOfMaximum_
private

Definition at line 134 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

◆ debug_

bool EcalTrigPrimFunctionalAlgo::debug_
private

Definition at line 139 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

◆ estrip_

EcalFenixStrip* EcalTrigPrimFunctionalAlgo::estrip_
private

◆ etcp_

EcalFenixTcp* EcalTrigPrimFunctionalAlgo::etcp_
private

◆ eTTmap_

edm::ESHandle<EcalTrigTowerConstituentsMap> EcalTrigPrimFunctionalAlgo::eTTmap_
private

Definition at line 128 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

◆ famos_

bool EcalTrigPrimFunctionalAlgo::famos_
private

Definition at line 140 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by EcalTrigPrimFunctionalAlgo(), and init().

◆ hitTowers_

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

Definition at line 155 of file EcalTrigPrimFunctionalAlgo.h.

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

◆ maxNrSamples_

int EcalTrigPrimFunctionalAlgo::maxNrSamples_
private

Definition at line 135 of file EcalTrigPrimFunctionalAlgo.h.

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

◆ maxNrSamplesOut_

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrSamplesOut_ = 10
staticprivate

Definition at line 144 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

◆ maxNrTowers_

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTowers_ = 2448
staticprivate

Definition at line 145 of file EcalTrigPrimFunctionalAlgo.h.

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

◆ maxNrTPs_

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTPs_ = 2448
staticprivate

Definition at line 146 of file EcalTrigPrimFunctionalAlgo.h.

◆ nrSamples_

const unsigned int EcalTrigPrimFunctionalAlgo::nrSamples_ = 5
staticprivate

Definition at line 142 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by run_part2().

◆ nrTowers_

int EcalTrigPrimFunctionalAlgo::nrTowers_
private

Definition at line 149 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap(), and run_part2().

◆ striptp_

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

Definition at line 152 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by initStructures(), and run_part2().

◆ tcpFormat_

bool EcalTrigPrimFunctionalAlgo::tcpFormat_
private

Definition at line 137 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

◆ theEndcapGeometry

const CaloSubdetectorGeometry* EcalTrigPrimFunctionalAlgo::theEndcapGeometry
private

Definition at line 129 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

◆ theMapping_

const EcalElectronicsMapping* EcalTrigPrimFunctionalAlgo::theMapping_
private

Definition at line 130 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by findStripNr(), and init().

◆ threshold

float EcalTrigPrimFunctionalAlgo::threshold
private

Definition at line 132 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 153 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 154 of file EcalTrigPrimFunctionalAlgo.h.

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

◆ towtp2_

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

Definition at line 157 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

◆ towtp_

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

Definition at line 156 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
mps_fire.i
i
Definition: mps_fire.py:428
EcalTrigTowerDetId::iphi
int iphi() const
get the tower iphi
Definition: EcalTrigTowerDetId.h:52
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:323
EcalTrigPrimFunctionalAlgo::theEndcapGeometry
const CaloSubdetectorGeometry * theEndcapGeometry
Definition: EcalTrigPrimFunctionalAlgo.h:129
EcalTrigPrimFunctionalAlgo::maxNrTowers_
static const unsigned int maxNrTowers_
Definition: EcalTrigPrimFunctionalAlgo.h:145
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
EcalTrigPrimFunctionalAlgo::init
void init(const edm::EventSetup &)
Definition: EcalTrigPrimFunctionalAlgo.cc:68
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
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
EcalFenixStrip::process
void process(const edm::EventSetup &, std::vector< const T > &, int nrxtals, std::vector< int > &out)
EcalTrigPrimFunctionalAlgo::run_part1_EB
void run_part1_EB(EBDigiCollection const *col)
Definition: EcalTrigPrimFunctionalAlgo.cc:136
EcalTrigPrimFunctionalAlgo::towerMapEE_
std::vector< std::vector< std::pair< int, std::vector< EEDataFrame > > > > towerMapEE_
Definition: EcalTrigPrimFunctionalAlgo.h:154
cuy.col
col
Definition: cuy.py:1010
EcalEndcapGeometryRecord
Definition: EcalEndcapGeometryRecord.h:23
TrendClient_cfi.Digi
Digi
Definition: TrendClient_cfi.py:7
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
EcalFenixStrip::setPointers
void setPointers(const EcalTPGPedestals *ecaltpPed, const EcalTPGLinearizationConst *ecaltpLin, const EcalTPGWeightIdMap *ecaltpgWeightMap, const EcalTPGWeightGroup *ecaltpgWeightGroup, const EcalTPGSlidingWindow *ecaltpgSlidW, const EcalTPGFineGrainStripEE *ecaltpgFgStripEE, const EcalTPGCrystalStatus *ecaltpgBadX, const EcalTPGStripStatus *ecaltpgStripStatus)
Definition: EcalFenixStrip.h:83
EcalTrigPrimFunctionalAlgo::clean
void clean(std::vector< std::vector< std::pair< int, std::vector< T >>>> &towerMap)
Definition: EcalTrigPrimFunctionalAlgo.h:314
EcalTrigTowerDetId
Definition: EcalTrigTowerDetId.h:14
EcalTrigPrimFunctionalAlgo::hitTowers_
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
Definition: EcalTrigPrimFunctionalAlgo.h:155
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
dqmdumpme.first
first
Definition: dqmdumpme.py:55
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
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:149
EcalFenixTcp::process
void process(const edm::EventSetup &setup, std::vector< EBDataFrame > &bid, std::vector< std::vector< int >> &tpframetow, int nStr, std::vector< EcalTriggerPrimitiveSample > &tptow, std::vector< EcalTriggerPrimitiveSample > &tptow2, bool isInInnerRings, EcalTrigTowerDetId thisTower)
Definition: EcalFenixTcp.cc:54
EcalTrigPrimFunctionalAlgo::towtp2_
std::vector< EcalTriggerPrimitiveSample > towtp2_
Definition: EcalTrigPrimFunctionalAlgo.h:157
CastorRawToDigi_cfi.lastSample
lastSample
Definition: CastorRawToDigi_cfi.py:23
edm::ESHandle< CaloGeometry >
EcalTrigPrimFunctionalAlgo::nrSamples_
static const unsigned int nrSamples_
Definition: EcalTrigPrimFunctionalAlgo.h:142
EcalTrigPrimFunctionalAlgo::getIndex
int getIndex(const EBDigiCollection *, EcalTrigTowerDetId &id)
Definition: EcalTrigPrimFunctionalAlgo.h:116
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:223
castor_dqm_sourceclient-live_cfg.firstSample
firstSample
Definition: castor_dqm_sourceclient-live_cfg.py:64
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
EcalTrigPrimFunctionalAlgo::eTTmap_
edm::ESHandle< EcalTrigTowerConstituentsMap > eTTmap_
Definition: EcalTrigPrimFunctionalAlgo.h:128
EcalFenixStrip::getFGVB
EcalFenixStripFgvbEE * getFGVB() const
Definition: EcalFenixStrip.h:126
EcalElectronicsMapping::getTriggerElectronicsId
EcalTriggerElectronicsId getTriggerElectronicsId(const DetId &id) const
Get the trigger electronics id for this det id.
Definition: EcalElectronicsMapping.cc:389
EcalTrigPrimFunctionalAlgo::nbMaxXtals_
Definition: EcalTrigPrimFunctionalAlgo.h:160
EcalFenixStrip
class representing the Fenix chip, format strip
Definition: EcalFenixStrip.h:30
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
EcalTrigPrimFunctionalAlgo::findStripNr
int findStripNr(const EBDetId &id)
Definition: EcalTrigPrimFunctionalAlgo.cc:118
EcalTrigPrimFunctionalAlgo::binOfMaximum_
int binOfMaximum_
Definition: EcalTrigPrimFunctionalAlgo.h:134
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
get
#define get
EcalTrigPrimFunctionalAlgo::barrelOnly_
bool barrelOnly_
Definition: EcalTrigPrimFunctionalAlgo.h:138
EcalTrigPrimFunctionalAlgo::towerMapEB_
std::vector< std::vector< std::pair< int, std::vector< EBDataFrame > > > > towerMapEB_
Definition: EcalTrigPrimFunctionalAlgo.h:153
DDAxes::phi
EcalTrigPrimFunctionalAlgo::estrip_
EcalFenixStrip * estrip_
Definition: EcalTrigPrimFunctionalAlgo.h:125
EcalTrigPrimFunctionalAlgo::fillMap
void fillMap(Coll const *col, std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &towerMap)
Definition: EcalTrigPrimFunctionalAlgo.h:272
EcalTrigPrimFunctionalAlgo::debug_
bool debug_
Definition: EcalTrigPrimFunctionalAlgo.h:139
EcalMappingRcd
Definition: EcalMappingRcd.h:15
hgcalPerformanceValidation.df
df
Definition: hgcalPerformanceValidation.py:640
EcalTrigPrimFunctionalAlgo::towtp_
std::vector< EcalTriggerPrimitiveSample > towtp_
Definition: EcalTrigPrimFunctionalAlgo.h:156
EcalTrigPrimFunctionalAlgo::nbMaxStrips_
Definition: EcalTrigPrimFunctionalAlgo.h:159
EcalTriggerPrimitiveDigi
Definition: EcalTriggerPrimitiveDigi.h:16
EcalTrigPrimFunctionalAlgo::etcp_
EcalFenixTcp * etcp_
Definition: EcalTrigPrimFunctionalAlgo.h:126
EcalTriggerPrimitiveDigi::compressedEt
int compressedEt() const
get the encoded/compressed Et of interesting sample
Definition: EcalTriggerPrimitiveDigi.cc:19
EcalTrigPrimFunctionalAlgo::maxNrSamples_
int maxNrSamples_
Definition: EcalTrigPrimFunctionalAlgo.h:135
EcalTrigPrimFunctionalAlgo::run_part1_EE
void run_part1_EE(EEDigiCollection const *col)
Definition: EcalTrigPrimFunctionalAlgo.cc:142
EcalFenixStripFgvbEE::setbadStripMissing
void setbadStripMissing(bool flag)
Definition: EcalFenixStripFgvbEE.h:34
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
EcalTrigPrimFunctionalAlgo::striptp_
std::vector< std::vector< int > > striptp_
Definition: EcalTrigPrimFunctionalAlgo.h:152
EcalTriggerPrimitiveSample
Definition: EcalTriggerPrimitiveSample.h:12
mps_fire.result
result
Definition: mps_fire.py:311
EcalFenixTcp
class representing the Fenix chip, format strip
Definition: EcalFenixTcp.h:33
dummy
Definition: DummySelector.h:38
EcalTrigPrimFunctionalAlgo::theMapping_
const EcalElectronicsMapping * theMapping_
Definition: EcalTrigPrimFunctionalAlgo.h:130
EcalTrigPrimFunctionalAlgo::run_part2
void run_part2(const edm::EventSetup &, Coll const *col, std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &towerMap, EcalTrigPrimDigiCollection &result, EcalTrigPrimDigiCollection &resultTcp)
Definition: EcalTrigPrimFunctionalAlgo.h:167
EcalFenixTcp::setPointers
void setPointers(const EcalTPGFineGrainEBGroup *ecaltpgFgEBGroup, const EcalTPGLutGroup *ecaltpgLutGroup, const EcalTPGLutIdMap *ecaltpgLut, const EcalTPGFineGrainEBIdMap *ecaltpgFineGrainEB, const EcalTPGFineGrainTowerEE *ecaltpgFineGrainTowerEE, const EcalTPGTowerStatus *ecaltpgBadTT, const EcalTPGSpike *ecaltpgSpike)
Definition: EcalFenixTcp.h:57
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
EcalTrigPrimFunctionalAlgo::tcpFormat_
bool tcpFormat_
Definition: EcalTrigPrimFunctionalAlgo.h:137
EcalTrigPrimFunctionalAlgo::maxNrSamplesOut_
static const unsigned int maxNrSamplesOut_
Definition: EcalTrigPrimFunctionalAlgo.h:144
IdealGeometryRecord
Definition: IdealGeometryRecord.h:25
EcalTrigPrimFunctionalAlgo::famos_
bool famos_
Definition: EcalTrigPrimFunctionalAlgo.h:140