test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
< EcalTrigTowerConstituentsMap
eTTmap_
 
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
< EcalTriggerPrimitiveSample
towtp2_
 
std::vector
< EcalTriggerPrimitiveSample
towtp_
 

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

Member Enumeration Documentation

anonymous enum
private
Enumerator
nbMaxStrips_ 

Definition at line 134 of file EcalTrigPrimFunctionalAlgo.h.

anonymous enum
private
Enumerator
nbMaxXtals_ 

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

EcalTrigPrimFunctionalAlgo::~EcalTrigPrimFunctionalAlgo ( )
virtual

Definition at line 90 of file EcalTrigPrimFunctionalAlgo.cc.

References estrip_, and etcp_.

91 {
92  delete estrip_;
93  delete etcp_;
94 }

Member Function Documentation

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

Definition at line 280 of file EcalTrigPrimFunctionalAlgo.h.

References i, j, maxNrTowers_, and nbMaxStrips_.

Referenced by run_part1_EB(), and run_part1_EE().

280  {
281  // clean internal data structures
282  for (unsigned int i=0;i<maxNrTowers_;++i)
283  for (int j=0;j<nbMaxStrips_ ;++j) (towMap[i])[j].first=0;
284  return;
285 }
int i
Definition: DBlmapReader.cc:9
static const unsigned int maxNrTowers_
int j
Definition: DBlmapReader.cc:9
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 239 of file EcalTrigPrimFunctionalAlgo.h.

References findStripNr(), first, getIndex(), hitTowers_, i, cmsHarvester::index, LogDebug, nbMaxXtals_, nrTowers_, and edm::second().

Referenced by run_part1_EB(), and run_part1_EE().

241 {
242  typedef typename Coll::Digi Digi;
243 
244  // implementation for Barrel and Endcap
245 
246  if (col) {
247  nrTowers_=0;
248  LogDebug("EcalTPG") <<"Fill mapping, Collection size = "<<col->size();
249  for(unsigned int i = 0; i < col->size() ; ++i) {
250  Digi samples((*col)[i]);
251  EcalTrigTowerDetId coarser=(*eTTmap_).towerOf(samples.id());
252  int index=getIndex(col,coarser);
253  int stripnr=findStripNr(samples.id());
254 
255  int filled=0;
256  for (unsigned int ij=0;ij<towerMap[index].size();++ij) filled+=towerMap[index][ij].first;
257  if (!filled) {
258  hitTowers_[nrTowers_++]=std::pair <int,EcalTrigTowerDetId>(index,coarser);
259  }
260 
261  //FIXME: temporary protection
262  int ncryst=towerMap[index][stripnr-1].first;
263  if (ncryst>=nbMaxXtals_ ) {
264  edm::LogError("EcalTrigPrimFunctionAlgo")<<"! Too many xtals for TT "<<coarser<<" stripnr "<<stripnr<<" xtalid "<<samples.id() ;
265  continue;
266  }
267  ((towerMap[index])[stripnr-1].second)[ncryst]=samples;
268  (towerMap[index])[stripnr-1].first++;
269  }
270 
271  LogDebug("EcalTPG")<<"fillMap"<<"[EcalTrigPrimFunctionalAlgo] (found "
272  << col->size() << " frames in "<< towerMap.size() << " towers) ";
273  }
274  else {
275  LogDebug("EcalTPG")<<"FillMap - FillMap Collection size=0 !!!!";
276  }
277 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
U second(std::pair< T, U > const &p)
bool first
Definition: L1TdeRCT.cc:75
int getIndex(const EBDigiCollection *, EcalTrigTowerDetId &id)
int col
Definition: cuy.py:1008
int EcalTrigPrimFunctionalAlgo::findStripNr ( const EBDetId id)
private

Definition at line 114 of file EcalTrigPrimFunctionalAlgo.cc.

References n, and nbMaxStrips_.

Referenced by fillMap().

114  {
115  int stripnr;
116  int n=((id.ic()-1)%100)/20; //20 corresponds to 4 * ecal_barrel_crystals_per_strip FIXME!!
117  if (id.ieta()<0) stripnr = n+1;
118  else stripnr =nbMaxStrips_ - n;
119  return stripnr;
120 }
int EcalTrigPrimFunctionalAlgo::findStripNr ( const EEDetId id)
private

Definition at line 122 of file EcalTrigPrimFunctionalAlgo.cc.

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

122  {
123  int stripnr;
125  stripnr=elId.pseudoStripId();
126  return stripnr;
127 }
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 94 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap().

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

Definition at line 96 of file EcalTrigPrimFunctionalAlgo.h.

References ecaldqm::zside().

96  {
97  int ind=(id.ietaAbs()-18)*72 + id.iphi();
98  if (id.zside()<0) ind+=792;
99  return ind;
100  }
int zside(DetId const &)
void EcalTrigPrimFunctionalAlgo::init ( const edm::EventSetup setup)
private

Definition at line 61 of file EcalTrigPrimFunctionalAlgo.cc.

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

Referenced by EcalTrigPrimFunctionalAlgo().

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

Definition at line 288 of file EcalTrigPrimFunctionalAlgo.h.

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

Referenced by init().

288  {
289  //initialise internal data structures
290 
291  std::vector <T> vec0(nbMaxXtals_ );
292  std::vector<std::pair<int,std::vector<T> > > vec1(nbMaxStrips_);
293  for (int i=0;i<nbMaxStrips_ ;++i) vec1[i]=std::pair<int,std::vector<T> >(0,vec0);
294  towMap.resize(maxNrTowers_);
295  for (unsigned int i=0;i<maxNrTowers_;++i) towMap[i]=vec1;
296 
297  std::vector<int> vecint(maxNrSamples_);
298  striptp_.resize(nbMaxStrips_);
299  for (int i=0;i<nbMaxStrips_;++i) striptp_[i]=vecint;
300 
301 }
int i
Definition: DBlmapReader.cc:9
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 setup,
const EBDigiCollection col,
EcalTrigPrimDigiCollection result,
EcalTrigPrimDigiCollection resultTcp 
)

Definition at line 96 of file EcalTrigPrimFunctionalAlgo.cc.

References run_part1_EB(), run_part2(), and towerMapEB_.

99 {
100  run_part1_EB(col);
101  run_part2(setup,col,towerMapEB_,result,resultTcp);
102 }
std::vector< std::vector< std::pair< int, std::vector< EBDataFrame > > > > towerMapEB_
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 run_part1_EB(EBDigiCollection const *col)
void EcalTrigPrimFunctionalAlgo::run ( const edm::EventSetup setup,
const EEDigiCollection col,
EcalTrigPrimDigiCollection result,
EcalTrigPrimDigiCollection resultTcp 
)

Definition at line 105 of file EcalTrigPrimFunctionalAlgo.cc.

References run_part1_EE(), run_part2(), and towerMapEE_.

108 {
109 
110  run_part1_EE(col);
111  run_part2(setup, col,towerMapEE_,result,resultTcp);
112 }
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)
std::vector< std::vector< std::pair< int, std::vector< EEDataFrame > > > > towerMapEE_
void run_part1_EE(EEDigiCollection const *col)
void EcalTrigPrimFunctionalAlgo::run_part1_EB ( EBDigiCollection const *  col)

Definition at line 130 of file EcalTrigPrimFunctionalAlgo.cc.

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

Referenced by run().

130  {
132  // loop over dataframes and fill map
134 }
std::vector< std::vector< std::pair< int, std::vector< EBDataFrame > > > > towerMapEB_
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)
int col
Definition: cuy.py:1008
void EcalTrigPrimFunctionalAlgo::run_part1_EE ( EEDigiCollection const *  col)

Definition at line 136 of file EcalTrigPrimFunctionalAlgo.cc.

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

Referenced by run().

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< EEDataFrame > > > > towerMapEE_
void clean(std::vector< std::vector< std::pair< int, std::vector< T > > > > &towerMap)
int col
Definition: cuy.py:1008
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 141 of file EcalTrigPrimFunctionalAlgo.h.

References binOfMaximum_, EcalTriggerPrimitiveDigi::compressedEt(), EcalEndcap, estrip_, etcp_, first, castor_dqm_sourceclient_file_cfg::firstSample, EcalFenixStrip::getFGVB(), hitTowers_, i, EcalTrigTowerDetId::ietaAbs(), cmsHarvester::index, EcalTrigTowerDetId::iphi(), castor_dqm_sourceclient_file_cfg::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 run().

144 {
145  typedef typename Coll::Digi Digi;
146 
147  // prepare writing of TP-s
148 
151  int nrTP=0;
152  std::vector<typename Coll::Digi> dummy;
153  EcalTriggerPrimitiveDigi tptow[2];
154  EcalTriggerPrimitiveDigi tptowTcp[2];
155 
157 
158  for(int itow=0;itow<nrTowers_;++itow)
159  {
160 
161  int index=hitTowers_[itow].first;
162  const EcalTrigTowerDetId &thisTower=hitTowers_[itow].second;
163 
164  // loop over all strips assigned to this trigger tower
165  int nstr=0;
166  for(unsigned int i = 0; i < towerMap[itow].size();++i)
167  {
168  std::vector<Digi> &df = (towerMap[index])[i].second;//vector of dataframes for this strip, size; nr of crystals/strip
169 
170  if ((towerMap[index])[i].first > 0) {
171  estrip_->process(setup,df,(towerMap[index])[i].first,striptp_[nstr++]);
172  }
173  }//loop over strips in one tower
174 
175  bool isInInnerRings=false;
176  if (thisTower.subDet()==EcalEndcap && (thisTower.ietaAbs()==27 || thisTower.ietaAbs()==28 )) isInInnerRings=true;
177  etcp_->process(setup,dummy,striptp_,nstr,towtp_,towtp2_,isInInnerRings,thisTower);
178 
179  // prepare TP-s
180  // special treatment for 2 inner endcap rings
181  int nrTowers;
182  if (isInInnerRings)
183  {
184  nrTowers=2;
185  int phi=2*((thisTower.iphi()-1)/2);
186  tptow[0]=EcalTriggerPrimitiveDigi(EcalTrigTowerDetId(thisTower.zside(),thisTower.subDet(),thisTower.ietaAbs(),phi+1));
187  tptow[1]=EcalTriggerPrimitiveDigi(EcalTrigTowerDetId(thisTower.zside(),thisTower.subDet(),thisTower.ietaAbs(),phi+2));
188 
189  if (tcpFormat_){
190  tptowTcp[0]=EcalTriggerPrimitiveDigi(EcalTrigTowerDetId(thisTower.zside(),thisTower.subDet(),thisTower.ietaAbs(),phi+1));
191  tptowTcp[1]=EcalTriggerPrimitiveDigi(EcalTrigTowerDetId(thisTower.zside(),thisTower.subDet(),thisTower.ietaAbs(),phi+2));
192  }
193  }else {
194  nrTowers=1;
195  tptow[0]=EcalTriggerPrimitiveDigi(thisTower);
196  if (tcpFormat_) tptowTcp[0]=EcalTriggerPrimitiveDigi(thisTower);
197  }
198 
199  // now fill in
200  for (int nrt=0;nrt<nrTowers;nrt++) {
201  (tptow[nrt]).setSize(nrSamples_);
202  if (towtp_.size()<nrSamples_) { //FIXME: only once
203  edm::LogWarning("") <<"Too few samples produced, nr is "<<towtp_.size();
204  break;
205  }
206  int isam=0;
207  for (int i=firstSample;i<=lastSample;++i) {
208  tptow[nrt].setSample(isam++,EcalTriggerPrimitiveSample(towtp_[i]));
209  }
210  nrTP++;
211  LogDebug("EcalTPG") <<" For tower "<<itow<<" created TP nr "<<nrTP<<" with Et "<<tptow[nrt].compressedEt();
212  result.push_back(tptow[nrt]);
213  }
214 
215  if (tcpFormat_) {
216 
217  for (int nrt=0;nrt<nrTowers;nrt++) {
218  tptowTcp[nrt].setSize(nrSamples_);
219  if (towtp2_.size()<nrSamples_) { //FIXME: only once
220  edm::LogWarning("") <<"Too few samples produced, nr is "<<towtp2_.size();
221  break;
222  }
223  int isam=0;
224  for (int i=firstSample;i<=lastSample;++i) {
225  if (nrTowers<=1) tptowTcp[nrt].setSample(isam++,EcalTriggerPrimitiveSample(towtp2_[i]));
226  else {
227  int et=towtp2_[i].compressedEt()/2;
228  tptowTcp[nrt].setSample(isam++,EcalTriggerPrimitiveSample(et,towtp2_[i].fineGrain(),towtp2_[i].ttFlag()));
229  }
230  }
231  resultTcp.push_back(tptowTcp[nrt]);
232  }
233  }
234  }
235  return;
236 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
void setbadStripMissing(bool flag)
std::vector< std::vector< int > > striptp_
std::vector< std::pair< int, EcalTrigTowerDetId > > hitTowers_
void push_back(T const &t)
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
bool first
Definition: L1TdeRCT.cc:75
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 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:46
Definition: DDAxes.h:10
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 66 of file EcalTrigPrimFunctionalAlgo.h.

References estrip_, and EcalFenixStrip::setPointers().

66  {
67  estrip_->setPointers(ecaltpPed,ecaltpLin,ecaltpgWeightMap,ecaltpgWeightGroup,ecaltpgSlidW,ecaltpgFgStripEE,ecaltpgBadX,ecaltpgStripStatus);
68 
69  }
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 70 of file EcalTrigPrimFunctionalAlgo.h.

References etcp_, and EcalFenixTcp::setPointers().

76  {
77 
78  etcp_->setPointers(ecaltpgFgEBGroup,ecaltpgLutGroup,ecaltpgLut,ecaltpgFineGrainEB,ecaltpgFineGrainTowerEE,ecaltpgBadTT,ecaltpgSpike);
79  }
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:59

Member Data Documentation

bool EcalTrigPrimFunctionalAlgo::barrelOnly_
private

Definition at line 115 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

int EcalTrigPrimFunctionalAlgo::binOfMaximum_
private

Definition at line 111 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

bool EcalTrigPrimFunctionalAlgo::debug_
private

Definition at line 116 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

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

Definition at line 105 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

bool EcalTrigPrimFunctionalAlgo::famos_
private

Definition at line 117 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by EcalTrigPrimFunctionalAlgo(), and init().

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

Definition at line 130 of file EcalTrigPrimFunctionalAlgo.h.

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

int EcalTrigPrimFunctionalAlgo::maxNrSamples_
private

Definition at line 112 of file EcalTrigPrimFunctionalAlgo.h.

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

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrSamplesOut_ =10
staticprivate

Definition at line 120 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTowers_ =2448
staticprivate

Definition at line 121 of file EcalTrigPrimFunctionalAlgo.h.

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

const unsigned int EcalTrigPrimFunctionalAlgo::maxNrTPs_ =2448
staticprivate

Definition at line 122 of file EcalTrigPrimFunctionalAlgo.h.

const unsigned int EcalTrigPrimFunctionalAlgo::nrSamples_ =5
staticprivate

Definition at line 119 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by run_part2().

int EcalTrigPrimFunctionalAlgo::nrTowers_
private

Definition at line 124 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by fillMap(), and run_part2().

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

Definition at line 127 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by initStructures(), and run_part2().

bool EcalTrigPrimFunctionalAlgo::tcpFormat_
private

Definition at line 114 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

const CaloSubdetectorGeometry* EcalTrigPrimFunctionalAlgo::theEndcapGeometry
private

Definition at line 106 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init().

const EcalElectronicsMapping* EcalTrigPrimFunctionalAlgo::theMapping_
private

Definition at line 107 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by findStripNr(), and init().

float EcalTrigPrimFunctionalAlgo::threshold
private

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

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

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

Definition at line 129 of file EcalTrigPrimFunctionalAlgo.h.

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

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

Definition at line 132 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().

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

Definition at line 131 of file EcalTrigPrimFunctionalAlgo.h.

Referenced by init(), and run_part2().