|
double | CalcSumE () |
|
double | CalcSumEmE () |
|
double | CalcSumEmEt () |
|
double | CalcSumEt () |
|
double | CalcSumHadE () |
|
double | CalcSumHadEt () |
|
void | Dump () |
|
| FastL1Region () |
|
void | FillEMCrystals (const CaloTowerConstituentsMap *theTowerConstituentsMap, const CaloTopology *calotopo, const CaloGeometry *cGeom, const EcalRecHitCollection *ec0, const EcalRecHitCollection *ec1, FastL1RegionMap *m_RMap) |
|
void | FillTower (const CaloTower &t, int &tid, edm::ESHandle< CaloGeometry > &cGeom) |
|
void | FillTower_Scaled (const CaloTower &t, int &tid, bool doRCTTrunc, edm::ESHandle< CaloGeometry > &cGeom) |
|
void | FillTowerZero (const CaloTower &t, int &tid) |
|
FastL1BitInfo | getBitInfo () |
|
CaloTowerCollection | GetCaloTowers () |
|
int | GetEastId () |
|
double | GetEMCrystalEnergy (int itwr, int icell) |
|
bool | GetFGBit (int i) |
|
bool | GetHCFGBit (int i) |
|
bool | GetHOEBit (int i) |
|
int | GetId () |
|
int | GetiEta () |
|
int | GetiPhi () |
|
double | GetJetE () |
|
double | GetJetE3x3 () |
|
double | GetJetEt () |
|
double | GetJetEt3x3 () |
|
bool | GetMIPBit () |
|
int | GetNEId () |
|
int | GetNorthId () |
|
int | GetNWId () |
|
bool | GetQuietBit () |
|
std::pair< double, double > | getRegionCenterEtaPhi (const edm::EventSetup &c) |
|
int | GetSEId () |
|
int | GetSouthId () |
|
int | GetSWId () |
|
bool | GetTauBit () |
|
std::pair< int, int > | GetTowerNorthEtaPhi (int ieta, int iphi) |
|
int | GetWestId () |
|
int | HighestEmEtTowerID () |
|
int | HighestEtTowerID () |
|
int | HighestHadEtTowerID () |
|
void | SetDoBitInfo (bool doIt) |
|
void | SetEMCrystalEnergy (int itwr, int icell, double en) |
|
void | SetEtaPhiIndex (int eta, int phi, int ind) |
|
void | SetFGBit (int twrid, bool FGBIT) |
|
void | SetHCFGBit (int twrid, bool FGBIT) |
|
void | SetHOEBit (int twrid, bool FGBIT) |
|
void | SetJetE (double jE) |
|
void | SetJetE3x3 (double jE) |
|
void | SetJetEt (double jEt) |
|
void | SetJetEt3x3 (double jEt) |
|
void | SetParameters (L1Config) |
|
void | SetRegionBits (edm::Event const &e) |
|
void | SetRegionEnergy () |
|
void | SetTowerBits () |
|
double | SumE () |
|
double | SumEmE () |
|
double | SumEmEt () |
|
double | SumEt () |
|
double | SumHadE () |
|
double | SumHadEt () |
|
| ~FastL1Region () |
|
Description: Container class for L1 regions.
Implementation: <Notes on="" implementation>="">
Definition at line 110 of file FastL1Region.h.
FastL1Region::FastL1Region |
( |
| ) |
|
Definition at line 22 of file FastL1Region.cc.
References Config, L1Config::CrystalEBThreshold, L1Config::CrystalEEThreshold, L1Config::EMActiveLevel, EMCrystalEnergy, L1Config::EMLSB, L1Config::EMNoiseLevel, L1Config::EMSeedEnThreshold, fgBit, L1Config::FGEBThreshold, L1Config::FGEEThreshold, L1Config::HadActiveLevel, L1Config::HadNoiseLevel, hcfgBit, hOeBit, L1Config::hOeThreshold, i, ieta, iphi, j, jetE, jetEt, L1Config::JetLSB, L1Config::JetSeedEtThreshold, mipBit, L1Config::MuonNoiseLevel, L1Config::noFGThreshold, L1Config::noTauVetoLevel, quietBit, L1Config::QuietRegionThreshold, tauBit, L1Config::TowerEBScale, L1Config::TowerEBThreshold, L1Config::TowerEEScale, L1Config::TowerEEThreshold, L1Config::TowerEMLSB, L1Config::TowerHadLSB, L1Config::TowerHBScale, L1Config::TowerHBThreshold, L1Config::TowerHEScale, L1Config::TowerHEThreshold, and Towers.
36 for(
int i=0;
i<16;
i++) {
40 for (
int j=0;
j<25;
j++) {
double QuietRegionThreshold
double CrystalEBThreshold
double JetSeedEtThreshold
CaloTowerCollection Towers
double EMCrystalEnergy[16][25]
edm::SortedCollection< CaloTower > CaloTowerCollection
double CrystalEEThreshold
Definition at line 120 of file FastL1Region.cc.
References edm::SortedCollection< T, SORT >::begin(), Config, L1Config::CrystalEBThreshold, L1Config::CrystalEEThreshold, CaloTopology::east(), EMCrystalEnergy, L1Config::EMNoiseLevel, edm::SortedCollection< T, SORT >::end(), relval_parameters_module::energy, fgBit, L1Config::FGEEThreshold, GetiEta(), i, CaloTowerDetId::ieta(), EBDetId::ieta(), ieta, CaloTowerDetId::iphi(), EBDetId::iphi(), iphi, L1Config::noFGThreshold, CaloTopology::north(), SetTowerBits(), CaloTopology::south(), EBDetId::tower_ieta(), EBDetId::tower_iphi(), L1Config::TowerEEThreshold, CaloTowerConstituentsMap::towerOf(), Towers, and CaloTopology::west().
145 ecItr != ec0->
end(); ++ecItr) {
147 if (ecItr->energy()<ethres)
continue;
149 EBDetId detId = ecItr->detid();
153 int eieta = detId.
ieta();
154 int eiphi = detId.
iphi();
157 crIeta = (eieta-1)%5;
159 crIeta = 4 + (eieta+1)%5;
160 int crIphi = (eiphi - 1)%5;
166 for(
int i=0;
i<16;
i++) {
186 double towerEnergy[16];
188 for(
int i=0;
i<16;
i++) {
213 double maxRecHit=-1.;
214 double maxRecHit2=-1.;
220 ecItr != ec1->
end(); ++ecItr) {
222 if (ecItr->energy()<ethres)
continue;
224 EEDetId detId = ecItr->detid();
228 int hiphi = towerDetId.
iphi();
231 if (maxRecHit<ecItr->
energy()) {
232 maxRecHit = ecItr->energy();
238 std::vector<DetId> westV = calotopo->
west(maxDetId);
239 std::vector<DetId> eastV = calotopo->
east(maxDetId);
240 std::vector<DetId> southV = calotopo->
south(maxDetId);
241 std::vector<DetId> northV = calotopo->
north(maxDetId);
243 ecItr != ec1->
end(); ++ecItr) {
245 if (ecItr->energy()<ethres)
continue;
247 EEDetId detId = ecItr->detid();
251 int hiphi = towerDetId.
iphi();
255 (!westV.empty() && detId==westV[0]) ||
256 (!eastV.empty() && detId==eastV[0]) ||
257 (!northV.empty() && detId==northV[0]) ||
258 (!southV.empty() && detId==southV[0])
260 if (maxRecHit2<ecItr->
energy()) {
261 maxRecHit2 = ecItr->energy();
263 max2En += ecItr->energy();
270 double totE = maxRecHit + maxRecHit2;
274 if (totE/towerEnergy[
i]<eeThres)
fgBit[
i] =
true;
int tower_ieta() const
get the HCAL/trigger ieta of this crystal
int tower_iphi() const
get the HCAL/trigger iphi of this crystal
std::vector< T >::const_iterator const_iterator
int iphi() const
get the crystal iphi
CaloTowerDetId towerOf(const DetId &id) const
Get the tower id for this det id (or null if not known)
double CrystalEBThreshold
int iphi() const
get the tower iphi
std::vector< DetId > east(const DetId &id) const
int ieta() const
get the crystal ieta
std::vector< DetId > north(const DetId &id) const
const_iterator end() const
CaloTowerCollection Towers
std::vector< DetId > west(const DetId &id) const
double EMCrystalEnergy[16][25]
double CrystalEEThreshold
int ieta() const
get the tower ieta
std::vector< DetId > south(const DetId &id) const
const_iterator begin() const
Definition at line 333 of file FastL1Region.cc.
References abs, Config, CaloTower::emEnergy(), CaloTower::emEt(), reco::LeafCandidate::energy(), reco::LeafCandidate::eta(), CaloTower::hadEnergy(), CaloTower::hadEt(), CaloTower::id(), CaloTower::outerEt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), RCTEnergyTrunc(), L1Config::TowerEBScale, L1Config::TowerEBThreshold, L1Config::TowerEEScale, L1Config::TowerEEThreshold, L1Config::TowerEMLSB, L1Config::TowerHadLSB, L1Config::TowerHBScale, L1Config::TowerHBThreshold, L1Config::TowerHEScale, L1Config::TowerHEThreshold, and Towers.
354 double emScale = 1.0;
355 double hadScale = 1.0;
367 double emet = emScale * t.
emEt();
368 double hadet = hadScale * t.
hadEt();
369 double eme = emScale * t.
emEnergy();
373 double upperThres = 1024.;
379 if ( emet<EThres) emet = 0.;
380 if ( hadet<HThres) hadet = 0.;
virtual double eta() const
momentum pseudorapidity
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
virtual double energy() const
energy
CaloTowerDetId id() const
CaloTowerCollection Towers
virtual double px() const
x coordinate of momentum vector
double RCTEnergyTrunc(double et, double Resol=1., double thres=1024.)
virtual double py() const
y coordinate of momentum vector
void FastL1Region::SetTauBit |
( |
edm::Event const & |
e | ) |
|
|
private |
Definition at line 529 of file FastL1Region.cc.
References BitInfo, Config, doBitInfo, L1Config::EMActiveLevel, L1Config::HadActiveLevel, i, FastL1BitInfo::setEmTauVeto(), FastL1BitInfo::setHadTauVeto(), FastL1BitInfo::setIsolationVeto(), FastL1BitInfo::setTauVeto(), tauBit, and Towers.
Referenced by SetRegionBits().
540 unsigned emEtaPat = 0;
541 unsigned emPhiPat = 0;
542 unsigned hadEtaPat = 0;
543 unsigned hadPhiPat = 0;
548 for (
int i=0;
i<16;
i++) {
549 if(
Towers[
i].emEt() > emThres) {
550 emEtaPat |= (one << (unsigned)(
i%4));
551 emPhiPat |= (one << (unsigned)(
i/4));
554 if(
Towers[
i].hadEt() > hadThres) {
555 hadEtaPat |= (one << (unsigned)(
i%4));
556 hadPhiPat |= (one << (unsigned)(
i/4));
565 static std::vector<unsigned> vetoPatterns;
566 if(vetoPatterns.size() == 0) {
567 vetoPatterns.push_back(5);
568 vetoPatterns.push_back(7);
569 vetoPatterns.push_back(9);
570 vetoPatterns.push_back(10);
571 vetoPatterns.push_back(11);
572 vetoPatterns.push_back(13);
573 vetoPatterns.push_back(14);
574 vetoPatterns.push_back(15);
578 for(std::vector<unsigned>::iterator
i = vetoPatterns.begin();
579 i != vetoPatterns.end();
i++) {
580 unsigned etaPattern = emEtaPat | hadEtaPat;
581 unsigned phiPattern = emPhiPat | hadPhiPat;
584 if(emEtaPat == *
i || emPhiPat == *
i) {
588 if(hadEtaPat == *
i || hadPhiPat == *
i) {
592 if(etaPattern == *
i || phiPattern == *
i)
void setTauVeto(bool tauVeto)
void setHadTauVeto(bool hadTauVeto)
void setIsolationVeto(bool isolationVeto)
CaloTowerCollection Towers
void setEmTauVeto(bool emTauVeto)