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
private
Enumerator
nbMaxStrips_ 

Definition at line 163 of file EcalTrigPrimFunctionalAlgo.h.

anonymous enum
private
Enumerator
nbMaxXtals_ 

Definition at line 164 of file EcalTrigPrimFunctionalAlgo.h.

Constructor & Destructor Documentation

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.

References famos_, init(), and maxNrSamples_.

54  : binOfMaximum_(binofmax), tcpFormat_(tcpFormat), barrelOnly_(barrelOnly),
55  debug_(debug), famos_(famos)
56 
57 {
58  if (famos_)
59  maxNrSamples_ = 1; // get from input??
60  else
61  maxNrSamples_ = 10;
62  this->init(setup);
63 }
#define debug
Definition: HDRShower.cc:19
void init(const edm::EventSetup &)
EcalTrigPrimFunctionalAlgo::~EcalTrigPrimFunctionalAlgo ( )
virtual

Member Function Documentation

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

Definition at line 333 of file EcalTrigPrimFunctionalAlgo.h.

References mps_fire::i, maxNrTowers_, and nbMaxStrips_.

Referenced by run_part1_EB(), run_part1_EE(), and setPointers2().

334  {
335  // clean internal data structures
336  for (unsigned int i = 0; i < maxNrTowers_; ++i)
337  for (int j = 0; j < nbMaxStrips_; ++j)
338  (towMap[i])[j].first = 0;
339  return;
340 }
static const unsigned int maxNrTowers_
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 287 of file EcalTrigPrimFunctionalAlgo.h.

References findStripNr(), plotBeamSpotDB::first, getIndex(), hitTowers_, mps_fire::i, LogDebug, nbMaxXtals_, nrTowers_, hcalTTPDigis_cfi::samples, and edm::second().

Referenced by run_part1_EB(), run_part1_EE(), and setPointers2().

290  {
291  typedef typename Coll::Digi Digi;
292 
293  // implementation for Barrel and Endcap
294 
295  if (col) {
296  nrTowers_ = 0;
297  LogDebug("EcalTPG") << "Fill mapping, Collection size = " << col->size();
298  for (unsigned int i = 0; i < col->size(); ++i) {
299  Digi samples((*col)[i]);
300  EcalTrigTowerDetId coarser = (*eTTmap_).towerOf(samples.id());
301  int index = getIndex(col, coarser);
302  int stripnr = findStripNr(samples.id());
303 
304  int filled = 0;
305  for (unsigned int ij = 0; ij < towerMap[index].size(); ++ij)
306  filled += towerMap[index][ij].first;
307  if (!filled) {
308  hitTowers_[nrTowers_++] =
309  std::pair<int, EcalTrigTowerDetId>(index, coarser);
310  }
311 
312  // FIXME: temporary protection
313  int ncryst = towerMap[index][stripnr - 1].first;
314  if (ncryst >= nbMaxXtals_) {
315  edm::LogError("EcalTrigPrimFunctionAlgo")
316  << "! Too many xtals for TT " << coarser << " stripnr " << stripnr
317  << " xtalid " << samples.id();
318  continue;
319  }
320  ((towerMap[index])[stripnr - 1].second)[ncryst] = samples;
321  (towerMap[index])[stripnr - 1].first++;
322  }
323 
324  LogDebug("EcalTPG") << "fillMap"
325  << "[EcalTrigPrimFunctionalAlgo] (found " << col->size()
326  << " frames in " << towerMap.size() << " towers) ";
327  } else {
328  LogDebug("EcalTPG") << "FillMap - FillMap Collection size=0 !!!!";
329  }
330 }
#define LogDebug(id)
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
std::tuple< unsigned int, int, int, DigiType, int, int, int, float > Digi
Definition: GenericDigi.h:40
U second(std::pair< T, U > const &p)
int getIndex(const EBDigiCollection *, EcalTrigTowerDetId &id)
col
Definition: cuy.py:1010
int EcalTrigPrimFunctionalAlgo::findStripNr ( const EBDetId id)
private

Definition at line 120 of file EcalTrigPrimFunctionalAlgo.cc.

References gen::n, and nbMaxStrips_.

Referenced by fillMap(), and setPointers2().

120  {
121  int stripnr;
122  int n = ((id.ic() - 1) % 100) /
123  20; // 20 corresponds to 4 * ecal_barrel_crystals_per_strip FIXME!!
124  if (id.ieta() < 0)
125  stripnr = n + 1;
126  else
127  stripnr = nbMaxStrips_ - n;
128  return stripnr;
129 }
int EcalTrigPrimFunctionalAlgo::findStripNr ( const EEDetId id)
private

Definition at line 131 of file EcalTrigPrimFunctionalAlgo.cc.

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

131  {
132  int stripnr;
133  const EcalTriggerElectronicsId elId =
135  stripnr = elId.pseudoStripId();
136  return stripnr;
137 }
const EcalElectronicsMapping * theMapping_
EcalTriggerElectronicsId getTriggerElectronicsId(const DetId &id) const
Get the trigger electronics id for this det id.
int pseudoStripId() const
get the tower id
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
int EcalTrigPrimFunctionalAlgo::getIndex ( const EBDigiCollection ,
EcalTrigTowerDetId id 
)
inlineprivate

Definition at line 113 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap().

113  {
114  return id.hashedIndex();
115  }
int EcalTrigPrimFunctionalAlgo::getIndex ( const EEDigiCollection ,
EcalTrigTowerDetId id 
)
inlineprivate

Definition at line 117 of file EcalTrigPrimFunctionalAlgo.h.

References ecaldqm::zside().

117  {
118  int ind = (id.ietaAbs() - 18) * 72 + id.iphi();
119  if (id.zside() < 0)
120  ind += 792;
121  return ind;
122  }
int zside(DetId const &)
void EcalTrigPrimFunctionalAlgo::init ( const edm::EventSetup setup)
private

Definition at line 66 of file EcalTrigPrimFunctionalAlgo.cc.

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

Referenced by EcalTrigPrimFunctionalAlgo(), and setPointers2().

66  {
67  if (!barrelOnly_) {
68  edm::ESHandle<CaloGeometry> theGeometry;
69  edm::ESHandle<CaloSubdetectorGeometry> theEndcapGeometry_handle;
70  setup.get<CaloGeometryRecord>().get(theGeometry);
71  setup.get<EcalEndcapGeometryRecord>().get("EcalEndcap",
72  theEndcapGeometry_handle);
73  theEndcapGeometry = &(*theEndcapGeometry_handle);
74  setup.get<IdealGeometryRecord>().get(eTTmap_);
75  }
76  // endcap mapping
78  setup.get<EcalMappingRcd>().get(ecalmapping);
79  theMapping_ = ecalmapping.product();
80 
81  // create main sub algos
86 
87  // initialise data structures
90 
91  hitTowers_.resize(maxNrTowers_);
92  towtp_.resize(maxNrSamplesOut_);
93  towtp2_.resize(maxNrSamplesOut_);
94 }
const EcalElectronicsMapping * theMapping_
const CaloSubdetectorGeometry * theEndcapGeometry
class representing the Fenix chip, format strip
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
static const unsigned int maxNrSamplesOut_
edm::ESHandle< EcalTrigTowerConstituentsMap > eTTmap_
std::vector< EcalTriggerPrimitiveSample > towtp_
static const unsigned int maxNrTowers_
void initStructures(std::vector< std::vector< std::pair< int, std::vector< T >>>> &towMap)
std::vector< std::vector< std::pair< int, std::vector< EBDataFrame > > > > towerMapEB_
std::vector< std::vector< std::pair< int, std::vector< EEDataFrame > > > > towerMapEE_
std::vector< EcalTriggerPrimitiveSample > towtp2_
T get() const
Definition: EventSetup.h:71
class representing the Fenix chip, format strip
Definition: EcalFenixTcp.h:33
T const * product() const
Definition: ESHandle.h:86
template<class T >
void EcalTrigPrimFunctionalAlgo::initStructures ( std::vector< std::vector< std::pair< int, std::vector< T >>>> &  towMap)
private

Definition at line 343 of file EcalTrigPrimFunctionalAlgo.h.

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

Referenced by init(), and setPointers2().

344  {
345  // initialise internal data structures
346 
347  std::vector<T> vec0(nbMaxXtals_);
348  std::vector<std::pair<int, std::vector<T>>> vec1(nbMaxStrips_);
349  for (int i = 0; i < nbMaxStrips_; ++i)
350  vec1[i] = std::pair<int, std::vector<T>>(0, vec0);
351  towMap.resize(maxNrTowers_);
352  for (unsigned int i = 0; i < maxNrTowers_; ++i)
353  towMap[i] = vec1;
354 
355  std::vector<int> vecint(maxNrSamples_);
356  striptp_.resize(nbMaxStrips_);
357  for (int i = 0; i < nbMaxStrips_; ++i)
358  striptp_[i] = vecint;
359 }
std::vector< std::vector< int > > striptp_
static const unsigned int maxNrTowers_
std::vector< double > vec1
Definition: HCALResponse.h:15
void EcalTrigPrimFunctionalAlgo::run ( const edm::EventSetup ,
const EBDigiCollection col,
EcalTrigPrimDigiCollection result,
EcalTrigPrimDigiCollection resultTcp 
)
void EcalTrigPrimFunctionalAlgo::run ( const edm::EventSetup ,
const EEDigiCollection col,
EcalTrigPrimDigiCollection result,
EcalTrigPrimDigiCollection resultTcp 
)
void EcalTrigPrimFunctionalAlgo::run_part1_EB ( EBDigiCollection const *  col)

Definition at line 140 of file EcalTrigPrimFunctionalAlgo.cc.

References clean(), fillMap(), and towerMapEB_.

Referenced by ~EcalTrigPrimFunctionalAlgo().

140  {
142  // loop over dataframes and fill map
144 }
void fillMap(Coll const *col, std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &towerMap)
std::vector< std::vector< std::pair< int, std::vector< EBDataFrame > > > > towerMapEB_
void clean(std::vector< std::vector< std::pair< int, std::vector< T >>>> &towerMap)
col
Definition: cuy.py:1010
void EcalTrigPrimFunctionalAlgo::run_part1_EE ( EEDigiCollection const *  col)

Definition at line 146 of file EcalTrigPrimFunctionalAlgo.cc.

References clean(), fillMap(), and towerMapEE_.

Referenced by ~EcalTrigPrimFunctionalAlgo().

146  {
148  // loop over dataframes and fill map
150 }
void fillMap(Coll const *col, std::vector< std::vector< std::pair< int, std::vector< typename Coll::Digi >>>> &towerMap)
void clean(std::vector< std::vector< std::pair< int, std::vector< T >>>> &towerMap)
std::vector< std::vector< std::pair< int, std::vector< EEDataFrame > > > > towerMapEE_
col
Definition: cuy.py:1010
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 171 of file EcalTrigPrimFunctionalAlgo.h.

References binOfMaximum_, EcalTriggerPrimitiveDigi::compressedEt(), EcalEndcap, estrip_, stringResolutionProvider_cfi::et, etcp_, plotBeamSpotDB::first, CastorSimpleReconstructor_cfi::firstSample, EcalFenixStrip::getFGVB(), hitTowers_, mps_fire::i, EcalTrigTowerDetId::ietaAbs(), EcalTrigTowerDetId::iphi(), LogDebug, nrSamples_, nrTowers_, phi, EcalFenixTcp::process(), EcalFenixStrip::process(), edm::SortedCollection< T, SORT >::push_back(), edm::second(), EcalFenixStripFgvbEE::setbadStripMissing(), EcalTriggerPrimitiveDigi::setSample(), EcalTriggerPrimitiveDigi::setSize(), striptp_, EcalTrigTowerDetId::subDet(), tcpFormat_, towtp2_, towtp_, and EcalTrigTowerDetId::zside().

Referenced by ~EcalTrigPrimFunctionalAlgo().

175  {
176  typedef typename Coll::Digi Digi;
177 
178  // prepare writing of TP-s
179 
180  int firstSample = binOfMaximum_ - 1 - nrSamples_ / 2;
181  int lastSample = binOfMaximum_ - 1 + nrSamples_ / 2;
182  int nrTP = 0;
183  std::vector<typename Coll::Digi> dummy;
184  EcalTriggerPrimitiveDigi tptow[2];
185  EcalTriggerPrimitiveDigi tptowTcp[2];
186 
188 
189  for (int itow = 0; itow < nrTowers_; ++itow) {
190 
191  int index = hitTowers_[itow].first;
192  const EcalTrigTowerDetId &thisTower = hitTowers_[itow].second;
193 
194  // loop over all strips assigned to this trigger tower
195  int nstr = 0;
196  for (unsigned int i = 0; i < towerMap[itow].size(); ++i) {
197  std::vector<Digi> &df =
198  (towerMap[index])[i].second; // vector of dataframes for this strip,
199  // size; nr of crystals/strip
200 
201  if ((towerMap[index])[i].first > 0) {
202  estrip_->process(setup, df, (towerMap[index])[i].first,
203  striptp_[nstr++]);
204  }
205  } // loop over strips in one tower
206 
207  bool isInInnerRings = false;
208  if (thisTower.subDet() == EcalEndcap &&
209  (thisTower.ietaAbs() == 27 || thisTower.ietaAbs() == 28))
210  isInInnerRings = true;
211  etcp_->process(setup, dummy, striptp_, nstr, towtp_, towtp2_,
212  isInInnerRings, thisTower);
213 
214  // prepare TP-s
215  // special treatment for 2 inner endcap rings
216  int nrTowers;
217  if (isInInnerRings) {
218  nrTowers = 2;
219  int phi = 2 * ((thisTower.iphi() - 1) / 2);
221  thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 1));
223  thisTower.zside(), thisTower.subDet(), thisTower.ietaAbs(), phi + 2));
224 
225  if (tcpFormat_) {
226  tptowTcp[0] = EcalTriggerPrimitiveDigi(
227  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(),
228  thisTower.ietaAbs(), phi + 1));
229  tptowTcp[1] = EcalTriggerPrimitiveDigi(
230  EcalTrigTowerDetId(thisTower.zside(), thisTower.subDet(),
231  thisTower.ietaAbs(), phi + 2));
232  }
233  } else {
234  nrTowers = 1;
235  tptow[0] = EcalTriggerPrimitiveDigi(thisTower);
236  if (tcpFormat_)
237  tptowTcp[0] = EcalTriggerPrimitiveDigi(thisTower);
238  }
239 
240  // now fill in
241  for (int nrt = 0; nrt < nrTowers; nrt++) {
242  (tptow[nrt]).setSize(nrSamples_);
243  if (towtp_.size() < nrSamples_) { // FIXME: only once
244  edm::LogWarning("")
245  << "Too few samples produced, nr is " << towtp_.size();
246  break;
247  }
248  int isam = 0;
249  for (int i = firstSample; i <= lastSample; ++i) {
250  tptow[nrt].setSample(isam++, EcalTriggerPrimitiveSample(towtp_[i]));
251  }
252  nrTP++;
253  LogDebug("EcalTPG") << " For tower " << itow << " created TP nr " << nrTP
254  << " with Et " << tptow[nrt].compressedEt();
255  result.push_back(tptow[nrt]);
256  }
257 
258  if (tcpFormat_) {
259 
260  for (int nrt = 0; nrt < nrTowers; nrt++) {
261  tptowTcp[nrt].setSize(nrSamples_);
262  if (towtp2_.size() < nrSamples_) { // FIXME: only once
263  edm::LogWarning("")
264  << "Too few samples produced, nr is " << towtp2_.size();
265  break;
266  }
267  int isam = 0;
268  for (int i = firstSample; i <= lastSample; ++i) {
269  if (nrTowers <= 1)
270  tptowTcp[nrt].setSample(isam++,
272  else {
273  int et = towtp2_[i].compressedEt() / 2;
274  tptowTcp[nrt].setSample(
275  isam++, EcalTriggerPrimitiveSample(et, towtp2_[i].fineGrain(),
276  towtp2_[i].ttFlag()));
277  }
278  }
279  resultTcp.push_back(tptowTcp[nrt]);
280  }
281  }
282  }
283  return;
284 }
#define LogDebug(id)
void setbadStripMissing(bool flag)
std::vector< std::vector< int > > striptp_
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:50
void push_back(T const &t)
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
std::tuple< unsigned int, int, int, DigiType, int, int, int, float > Digi
Definition: GenericDigi.h:40
void process(const edm::EventSetup &, std::vector< const T > &, int nrxtals, std::vector< int > &out)
int zside() const
get the z-side of the tower (1/-1)
std::vector< EcalTriggerPrimitiveSample > towtp_
U second(std::pair< T, U > const &p)
int compressedEt() const
get the encoded/compressed Et of interesting sample
void setSample(int i, const EcalTriggerPrimitiveSample &sam)
int ietaAbs() const
get the absolute value of the tower ieta
EcalFenixStripFgvbEE * getFGVB() const
int iphi() const
get the tower iphi
et
define resolution functions of each parameter
EcalSubdetector subDet() const
get the subDetector associated to the Trigger Tower
std::vector< EcalTriggerPrimitiveSample > towtp2_
static const unsigned int nrSamples_
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.

References estrip_, and EcalFenixStrip::setPointers().

78  {
79  estrip_->setPointers(ecaltpPed, ecaltpLin, ecaltpgWeightMap,
80  ecaltpgWeightGroup, ecaltpgSlidW, ecaltpgFgStripEE,
81  ecaltpgBadX, ecaltpgStripStatus);
82  }
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)
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 83 of file EcalTrigPrimFunctionalAlgo.h.

References clean(), etcp_, fillMap(), findStripNr(), init(), initStructures(), and EcalFenixTcp::setPointers().

89  {
90 
91  etcp_->setPointers(ecaltpgFgEBGroup, ecaltpgLutGroup, ecaltpgLut,
92  ecaltpgFineGrainEB, ecaltpgFineGrainTowerEE,
93  ecaltpgBadTT, ecaltpgSpike);
94  }
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:58

Member Data Documentation

bool EcalTrigPrimFunctionalAlgo::barrelOnly_
private

Definition at line 137 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

int EcalTrigPrimFunctionalAlgo::binOfMaximum_
private

Definition at line 133 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

bool EcalTrigPrimFunctionalAlgo::debug_
private

Definition at line 138 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

EcalFenixStrip* EcalTrigPrimFunctionalAlgo::estrip_
private
EcalFenixTcp* EcalTrigPrimFunctionalAlgo::etcp_
private
edm::ESHandle<EcalTrigTowerConstituentsMap> EcalTrigPrimFunctionalAlgo::eTTmap_
private

Definition at line 127 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

bool EcalTrigPrimFunctionalAlgo::famos_
private

Definition at line 139 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by EcalTrigPrimFunctionalAlgo(), and init().

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

Definition at line 159 of file EcalTrigPrimFunctionalAlgo.h.

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

int EcalTrigPrimFunctionalAlgo::maxNrSamples_
private

Definition at line 134 of file EcalTrigPrimFunctionalAlgo.h.

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

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrSamplesOut_ = 10
staticprivate

Definition at line 145 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTowers_ = 2448
staticprivate

Definition at line 147 of file EcalTrigPrimFunctionalAlgo.h.

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

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTPs_ = 2448
staticprivate

Definition at line 148 of file EcalTrigPrimFunctionalAlgo.h.

const unsigned int EcalTrigPrimFunctionalAlgo::nrSamples_ = 5
staticprivate

Definition at line 142 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by run_part2().

int EcalTrigPrimFunctionalAlgo::nrTowers_
private

Definition at line 151 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap(), and run_part2().

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

Definition at line 154 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by initStructures(), and run_part2().

bool EcalTrigPrimFunctionalAlgo::tcpFormat_
private

Definition at line 136 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

const CaloSubdetectorGeometry* EcalTrigPrimFunctionalAlgo::theEndcapGeometry
private

Definition at line 128 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

const EcalElectronicsMapping* EcalTrigPrimFunctionalAlgo::theMapping_
private

Definition at line 129 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by findStripNr(), and init().

float EcalTrigPrimFunctionalAlgo::threshold
private

Definition at line 131 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by utils.StatisticalTest::get_status().

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

Definition at line 156 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), run_part1_EB(), and ~EcalTrigPrimFunctionalAlgo().

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

Definition at line 158 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), run_part1_EE(), and ~EcalTrigPrimFunctionalAlgo().

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

Definition at line 161 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

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

Definition at line 160 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().