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

anonymous enum
private
Enumerator
nbMaxXtals_ 

Definition at line 160 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_.

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

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

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

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

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

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

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 }
#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 118 of file EcalTrigPrimFunctionalAlgo.cc.

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

Referenced by fillMap(), and setPointers2().

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 }
int EcalTrigPrimFunctionalAlgo::findStripNr ( const EEDetId id)
private

Definition at line 128 of file EcalTrigPrimFunctionalAlgo.cc.

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

128  {
129  int stripnr;
131  stripnr = elId.pseudoStripId();
132  return stripnr;
133 }
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 116 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap().

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

Definition at line 118 of file EcalTrigPrimFunctionalAlgo.h.

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

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

Definition at line 68 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().

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);
75  setup.get<IdealGeometryRecord>().get(eTTmap_);
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 }
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:73
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 323 of file EcalTrigPrimFunctionalAlgo.h.

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

Referenced by init(), and setPointers2().

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 }
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 136 of file EcalTrigPrimFunctionalAlgo.cc.

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

Referenced by ~EcalTrigPrimFunctionalAlgo().

136  {
138  // loop over dataframes and fill map
140 }
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 142 of file EcalTrigPrimFunctionalAlgo.cc.

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

Referenced by ~EcalTrigPrimFunctionalAlgo().

142  {
144  // loop over dataframes and fill map
146 }
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 167 of file EcalTrigPrimFunctionalAlgo.h.

References binOfMaximum_, EcalTriggerPrimitiveDigi::compressedEt(), 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(), edm::second(), EcalFenixStripFgvbEE::setbadStripMissing(), EcalTriggerPrimitiveDigi::setSample(), EcalTriggerPrimitiveDigi::setSize(), striptp_, EcalTrigTowerDetId::subDet(), tcpFormat_, towtp2_, towtp_, and EcalTrigTowerDetId::zside().

Referenced by ~EcalTrigPrimFunctionalAlgo().

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 }
#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:54
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
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,
80  ecaltpLin,
81  ecaltpgWeightMap,
82  ecaltpgWeightGroup,
83  ecaltpgSlidW,
84  ecaltpgFgStripEE,
85  ecaltpgBadX,
86  ecaltpgStripStatus);
87  }
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 88 of file EcalTrigPrimFunctionalAlgo.h.

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

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

Member Data Documentation

bool EcalTrigPrimFunctionalAlgo::barrelOnly_
private

Definition at line 138 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

int EcalTrigPrimFunctionalAlgo::binOfMaximum_
private

Definition at line 134 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

bool EcalTrigPrimFunctionalAlgo::debug_
private

Definition at line 139 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

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

Definition at line 128 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

bool EcalTrigPrimFunctionalAlgo::famos_
private

Definition at line 140 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by EcalTrigPrimFunctionalAlgo(), and init().

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

Definition at line 155 of file EcalTrigPrimFunctionalAlgo.h.

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

int EcalTrigPrimFunctionalAlgo::maxNrSamples_
private

Definition at line 135 of file EcalTrigPrimFunctionalAlgo.h.

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

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrSamplesOut_ = 10
staticprivate

Definition at line 144 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTowers_ = 2448
staticprivate

Definition at line 145 of file EcalTrigPrimFunctionalAlgo.h.

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

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTPs_ = 2448
staticprivate

Definition at line 146 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 149 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap(), and run_part2().

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

Definition at line 152 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by initStructures(), and run_part2().

bool EcalTrigPrimFunctionalAlgo::tcpFormat_
private

Definition at line 137 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

const CaloSubdetectorGeometry* EcalTrigPrimFunctionalAlgo::theEndcapGeometry
private

Definition at line 129 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

const EcalElectronicsMapping* EcalTrigPrimFunctionalAlgo::theMapping_
private

Definition at line 130 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by findStripNr(), and init().

float EcalTrigPrimFunctionalAlgo::threshold
private

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

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

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

Definition at line 157 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

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

Definition at line 156 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().