#include <SimCalorimetry/EcalSelectiveReadoutAlgos/src/EcalSelectiveReadout.h>
Public Types | |
enum | towerInterest_t { UNKNOWN = -1, LOWINTEREST, SINGLE, NEIGHBOUR, CENTER, FORCED_RO } |
trigger tower classification ("SRP flags") More... | |
enum | ttFlag_t { TTF_UNKNOWN = -1, TTF_LOW_INTEREST = 0x0, TTF_MID_INTEREST = 0x1, TTF_HIGH_INTEREST = 0X3, TTF_FORCED_RO_LINK_SYNC_ERR = 0x4, TTF_FORCED_RO_HAMMING_ERR = 0X5, TTF_FORCED_RO_OTHER1 = 0X6, TTF_FORCED_RO_OTHER2 = 0X7 } |
Public Member Functions | |
EcalSelectiveReadout (int dEta=1, int dPhi=1) | |
Constructs a ecalselectivereadout. | |
towerInterest_t | getCrystalInterest (const EEDetId &eeDetId) const |
Gets the SR interest classification of an EE channel. | |
towerInterest_t | getCrystalInterest (const EBDetId &ebDetId) const |
Gets the SR interest classification of an EB channel. | |
towerInterest_t | getSuperCrystalInterest (const EcalScDetId &scDetId) const |
Gets the SR interest classification of an EE supercrystal. | |
towerInterest_t | getTowerInterest (const EcalTrigTowerDetId &towerId) const |
Gets the SR interest classification of a trigger tower (TT). | |
void | print (std::ostream &os) const |
print out the map | |
void | printBarrel (std::ostream &os) const |
void | printEndcap (int endcap, std::ostream &s) const |
void | printHeader (std::ostream &os) const |
print out header for the map: see print(std::ostream&) | |
void | runSelectiveReadout0 (const ttFlag_t towerFlags[nTriggerTowersInEta][nTriggerTowersInPhi]) |
Selective readout algorithm type 0. | |
void | setTriggerMap (const EcalTrigTowerConstituentsMap *map) |
the mapping of which cell goes with which trigger tower | |
Static Public Attributes | |
static const size_t | nBarrelEtaBins = 170 |
Number of crystals along eta in barrel. | |
static const size_t | nBarrelPhiBins = 360 |
Number of crystals in a eta ring of the barrel. | |
static const size_t | nBarrelTowerEtaBins = nBarrelEtaBins/5 |
Number of trigger tower along eta in the barrel. | |
static const size_t | nBarrelTowerPhiBins = nBarrelPhiBins/5 |
Number of trigger tower in a eta ring of the barrel. | |
static const size_t | nBarrelTriggerTowersInEta = 34 |
Number of barrel trigger towers along eta. | |
static const size_t | nEndcaps = 2 |
Number of endcap, obviously tow. | |
static const size_t | nEndcapTriggerTowersInEta = 11 |
Number of trigger towers along eta in one endcap. | |
static const size_t | nEndcapXBins = 100 |
Range of the x-index of endcap crystals (xman-xmin+1). | |
static const size_t | nEndcapYBins = 100 |
Range of the y-index of endcap crystals (yman-ymin+1). | |
static const size_t | nSupercrystalXBins = nEndcapXBins/supercrystalEdge |
Range of endcap supercrystal x-index (xmax-xmin+1). | |
static const size_t | nSupercrystalYBins = nEndcapYBins/supercrystalEdge |
Range of endcap supercrystal y-index (ymay-ymin+1). | |
static const size_t | nTriggerTowersInEta |
Number of trigger towers along eta for the whole ECAL. | |
static const size_t | nTriggerTowersInPhi = 72 |
Number of trigger towers in an eta ring. | |
static const size_t | supercrystalEdge = 5 |
Edge size of a supercrystal. | |
static const int | TTF_FORCED_RO_MASK = 0x4 |
Private Member Functions | |
void | classifyTriggerTowers (const ttFlag_t ttFlags[nTriggerTowersInEta][nTriggerTowersInPhi]) |
Classifies trigger tower in three classes:. | |
void | resetSupercrystalInterest () |
Sets all supercrystal interest flags to 'unknown'. | |
template<class T> | |
void | setHigher (T &var, T val) const |
Changes the value of a variable iff that has the effect to increase the variable value var = max(var,val). | |
void | setLower (int &var, int val) const |
Changes the value of a variable iff that has the effect to decrease the variable value var = min(var,val). | |
Private Attributes | |
int | dEta |
int | dPhi |
towerInterest_t | supercrystalInterest [nEndcaps][nSupercrystalXBins][nSupercrystalYBins] |
const EcalTrigTowerConstituentsMap * | theTriggerMap |
towerInterest_t | towerInterest [nTriggerTowersInEta][nTriggerTowersInPhi] |
Static Private Attributes | |
static const char | srpFlagMarker [] = {'.', 'S', 'N', 'C', 'F'} |
Normal user do not need to access directly this class: the selective readout is made at digitization by the CaloDataFrameFormatter class which uses the EcalSelectiveReadout class for this purpose: see CaloDataFrameFormatter class documentation. The ECAL event size must be reduced by a factor ~1/20th online at the LV1 rate. This reduction is achieved by suppressing channels whose energy, evaluated on line by a FIR, is below a threshold ("zero suppression"). This threshold is dynamic and determined for the channel of each readout unit. A readout unit is a group of 5x5 crystals: a trigger tower for the barrel and a supercrystal for the endcap) basis. The selective readout classifies the readout units in three classes:
Definition at line 47 of file EcalSelectiveReadout.h.
trigger tower classification ("SRP flags")
Definition at line 52 of file EcalSelectiveReadout.h.
00052 {UNKNOWN=-1, 00053 LOWINTEREST, 00054 SINGLE, 00055 NEIGHBOUR, 00056 CENTER, 00057 FORCED_RO} towerInterest_t;
TTF_UNKNOWN | |
TTF_LOW_INTEREST | |
TTF_MID_INTEREST | |
TTF_HIGH_INTEREST | |
TTF_FORCED_RO_LINK_SYNC_ERR | |
TTF_FORCED_RO_HAMMING_ERR | |
TTF_FORCED_RO_OTHER1 | |
TTF_FORCED_RO_OTHER2 |
Definition at line 59 of file EcalSelectiveReadout.h.
00059 { 00060 TTF_UNKNOWN=-1, 00061 TTF_LOW_INTEREST = 0x0, 00062 TTF_MID_INTEREST = 0x1, 00063 /* 0x2 not used */ 00064 TTF_HIGH_INTEREST = 0X3, 00065 TTF_FORCED_RO_LINK_SYNC_ERR = 0x4, 00066 TTF_FORCED_RO_HAMMING_ERR = 0X5, 00067 TTF_FORCED_RO_OTHER1 = 0X6, 00068 TTF_FORCED_RO_OTHER2 = 0X7 00069 } ttFlag_t;
Constructs a ecalselectivereadout.
Neighbours are taken in a trigger tower matrix of size 2(dEta+1))x2(dPhi+1) around a 'center' tower.
dEta | neighborhood extend in number of trigger towers along eta | |
dPhi | neighborgooh extend in number if trigger towers along phi in 'low interest', 'single' or 'center. First element is the lower threshold, second element is the higher one. |
Definition at line 18 of file EcalSelectiveReadout.cc.
void EcalSelectiveReadout::classifyTriggerTowers | ( | const ttFlag_t | ttFlags[nTriggerTowersInEta][nTriggerTowersInPhi] | ) | [private] |
Classifies trigger tower in three classes:.
Definition at line 153 of file EcalSelectiveReadout.cc.
References CENTER, dEta, dPhi, FORCED_RO, i, int, LOWINTEREST, max, NEIGHBOUR, nTriggerTowersInEta, setHigher(), SINGLE, towerInterest, TTF_FORCED_RO_MASK, TTF_HIGH_INTEREST, and TTF_MID_INTEREST.
Referenced by runSelectiveReadout0().
00154 { 00155 //starts with a all low interest map: 00156 for(int iEta=0; iEta < (int)nTriggerTowersInEta; ++iEta){ 00157 for(int iPhi=0; iPhi < (int)nTriggerTowersInPhi; ++iPhi){ 00158 towerInterest[iEta][iPhi] = LOWINTEREST; 00159 } 00160 } 00161 00162 for(int iEta=0; iEta < (int)nTriggerTowersInEta; ++iEta){ 00163 for(int iPhi=0; iPhi < (int)nTriggerTowersInPhi; ++iPhi){ 00164 if(ttFlags[iEta][iPhi] == TTF_HIGH_INTEREST){ 00165 //flags this tower as a center tower 00166 towerInterest[iEta][iPhi] = CENTER; 00167 //flags the neighbours of this tower 00168 for(int iEtaNeigh = std::max<int>(0,iEta-dEta); 00169 iEtaNeigh <= std::min<int>(nTriggerTowersInEta-1, iEta+dEta); 00170 ++iEtaNeigh){ 00171 for(int iPhiNeigh = iPhi-dPhi; 00172 iPhiNeigh <= iPhi+dPhi; 00173 ++iPhiNeigh){ 00174 //beware, iPhiNeigh must be moved to [0,72] interval 00175 //=> %nTriggerTowersInPhi required 00176 int iPhiNeigh_ = iPhiNeigh%(int)nTriggerTowersInPhi; 00177 if(iPhiNeigh_<0) { 00178 iPhiNeigh_ += nTriggerTowersInPhi; 00179 } 00180 setHigher(towerInterest[iEtaNeigh][iPhiNeigh_], 00181 NEIGHBOUR); 00182 } 00183 } 00184 } else if(ttFlags[iEta][iPhi] == TTF_MID_INTEREST){ 00185 setHigher(towerInterest[iEta][iPhi], SINGLE); 00186 } else if(ttFlags[iEta][iPhi] & TTF_FORCED_RO_MASK){ 00187 setHigher(towerInterest[iEta][iPhi], FORCED_RO); 00188 } 00189 } 00190 } 00191 00192 //dealing with pseudo-TT in the two innest eta-ring of the endcaps 00193 //=>choose the highest priority SRF of the 2 pseudo-TT constituting 00194 //a TT. Note that for S and C, the 2 pseudo-TT must already have the 00195 //same mask. 00196 const size_t innerEtas[] = {0, 1, 00197 nTriggerTowersInEta-2, nTriggerTowersInEta-1}; 00198 for(size_t i=0; i < 4; ++i){ 00199 size_t iEta = innerEtas[i]; 00200 for(size_t iPhi = 0 ; iPhi < nTriggerTowersInPhi; iPhi+=2){ 00201 const towerInterest_t srf = std::max(towerInterest[iEta][iPhi], 00202 towerInterest[iEta][iPhi+1]); 00203 towerInterest[iEta][iPhi] = srf; 00204 towerInterest[iEta][iPhi+1] = srf; 00205 } 00206 } 00207 }
EcalSelectiveReadout::towerInterest_t EcalSelectiveReadout::getCrystalInterest | ( | const EEDetId & | eeDetId | ) | const |
Gets the SR interest classification of an EE channel.
eeDetId | id of the crystal |
Definition at line 123 of file EcalSelectiveReadout.cc.
References EEDetId::ix(), EEDetId::iy(), supercrystalInterest, and EEDetId::zside().
00124 { 00125 int iz = (eeDetId.zside() == 1) ? 1 : 0; 00126 int superCrystalX = (eeDetId.ix()-1) / 5; 00127 int superCrystalY = (eeDetId.iy()-1) / 5; 00128 return supercrystalInterest[iz][superCrystalX][superCrystalY]; 00129 }
EcalSelectiveReadout::towerInterest_t EcalSelectiveReadout::getCrystalInterest | ( | const EBDetId & | ebDetId | ) | const |
Gets the SR interest classification of an EB channel.
ebDetId | id of the crystal | |
interest |
Definition at line 115 of file EcalSelectiveReadout.cc.
References getTowerInterest(), theTriggerMap, and EcalTrigTowerConstituentsMap::towerOf().
00116 { 00117 EcalTrigTowerDetId thisTower = theTriggerMap->towerOf(ebDetId); 00118 return getTowerInterest(thisTower); 00119 }
EcalSelectiveReadout::towerInterest_t EcalSelectiveReadout::getSuperCrystalInterest | ( | const EcalScDetId & | scDetId | ) | const |
Gets the SR interest classification of an EE supercrystal.
scDetId | id of the crystal |
Definition at line 132 of file EcalSelectiveReadout.cc.
References EcalScDetId::ix(), EcalScDetId::iy(), supercrystalInterest, and EcalScDetId::zside().
00133 { 00134 int iz = (scDetId.zside() == 1) ? 1 : 0; 00135 int superCrystalX = scDetId.ix()-1; 00136 int superCrystalY = scDetId.iy()-1; 00137 return supercrystalInterest[iz][superCrystalX][superCrystalY]; 00138 }
EcalSelectiveReadout::towerInterest_t EcalSelectiveReadout::getTowerInterest | ( | const EcalTrigTowerDetId & | towerId | ) | const |
Gets the SR interest classification of a trigger tower (TT).
iEta | index of the TT along eta | |
iPhi | index of the TT along phi |
Definition at line 143 of file EcalSelectiveReadout.cc.
References EcalTrigTowerDetId::ieta(), EcalTrigTowerDetId::iphi(), nTriggerTowersInEta, and towerInterest.
Referenced by getCrystalInterest(), and runSelectiveReadout0().
00144 { 00145 // remember, array indices start at zero 00146 int iEta = tower.ieta()<0? tower.ieta() + nTriggerTowersInEta/2 00147 : tower.ieta() + nTriggerTowersInEta/2 -1; 00148 int iPhi = tower.iphi() - 1; 00149 return towerInterest[iEta][iPhi]; 00150 }
void EcalSelectiveReadout::print | ( | std::ostream & | os | ) | const |
print out the map
Definition at line 219 of file EcalSelectiveReadout.cc.
References printBarrel(), and printEndcap().
Referenced by operator<<().
00220 { 00221 //EE- 00222 printEndcap(0, os); 00223 00224 //EB 00225 printBarrel(os); 00226 00227 //EE+ 00228 printEndcap(1, os); 00229 }
void EcalSelectiveReadout::printBarrel | ( | std::ostream & | os | ) | const |
Definition at line 232 of file EcalSelectiveReadout.cc.
References nBarrelTriggerTowersInEta, nEndcapTriggerTowersInEta, nTriggerTowersInPhi, srpFlagMarker, and towerInterest.
Referenced by print().
00233 { 00234 for(size_t iEta = nEndcapTriggerTowersInEta; 00235 iEta < nEndcapTriggerTowersInEta 00236 + nBarrelTriggerTowersInEta; 00237 ++iEta){ 00238 for(size_t iPhi = 0; iPhi < nTriggerTowersInPhi; ++iPhi){ 00239 towerInterest_t srFlag 00240 = towerInterest[iEta][iPhi]; 00241 os << srpFlagMarker[srFlag]; 00242 } 00243 os << "\n"; //one phi per line 00244 } 00245 }
Definition at line 248 of file EcalSelectiveReadout.cc.
References nSupercrystalXBins, nSupercrystalYBins, srpFlagMarker, supercrystalInterest, and UNKNOWN.
Referenced by print().
00249 { 00250 for(size_t iX=0; iX<nSupercrystalXBins; ++iX){ 00251 for(size_t iY=0; iY<nSupercrystalYBins; ++iY){ 00252 towerInterest_t srFlag 00253 = supercrystalInterest[endcap][iX][iY]; 00254 os << (srFlag==UNKNOWN? 00255 ' ':srpFlagMarker[srFlag]); 00256 } 00257 os << "\n"; //one Y supercystal column per line 00258 } //next supercrystal X-index 00259 }
void EcalSelectiveReadout::printHeader | ( | std::ostream & | os | ) | const |
print out header for the map: see print(std::ostream&)
Definition at line 209 of file EcalSelectiveReadout.cc.
References srpFlagMarker.
00209 { 00210 os << "#SRP flag map\n#\n" 00211 "# +-->Phi/Y " << srpFlagMarker[0] << ": low interest\n" 00212 "# | " << srpFlagMarker[1] << ": single\n" 00213 "# | " << srpFlagMarker[2] << ": neighbour\n" 00214 "# V Eta/X " << srpFlagMarker[3] << ": center\n" 00215 "# " << srpFlagMarker[4] << ": forced readout\n" 00216 "#\n"; 00217 }
void EcalSelectiveReadout::resetSupercrystalInterest | ( | ) | [private] |
Sets all supercrystal interest flags to 'unknown'.
Definition at line 22 of file EcalSelectiveReadout.cc.
References nEndcaps, nSupercrystalXBins, nSupercrystalYBins, supercrystalInterest, and UNKNOWN.
Referenced by runSelectiveReadout0().
00022 { 00023 //init superCrystalInterest (sets all elts to 'UNKNOWN'): 00024 for(size_t iCap=0; iCap < nEndcaps; ++iCap){ 00025 for(size_t iSCX = 0; iSCX < nSupercrystalXBins; ++iSCX){ 00026 for(size_t iSCY = 0; iSCY < nSupercrystalYBins; ++iSCY){ 00027 supercrystalInterest[iCap][iSCX][iSCY] = UNKNOWN; 00028 } 00029 } 00030 } 00031 }
void EcalSelectiveReadout::runSelectiveReadout0 | ( | const ttFlag_t | towerFlags[nTriggerTowersInEta][nTriggerTowersInPhi] | ) |
Selective readout algorithm type 0.
The algorithm is the following:
triggerTowerEt | array of the transverse enrgy deposited in the trigger tower. First index is for eta,2nd index for phi. |
Definition at line 34 of file EcalSelectiveReadout.cc.
References CENTER, classifyTriggerTowers(), DetId::Ecal, EcalEndcap, getTowerInterest(), LOWINTEREST, nBarrelTriggerTowersInEta, NEIGHBOUR, nEndcapTriggerTowersInEta, nEndcapXBins, nEndcapYBins, nTriggerTowersInEta, DetId::rawId(), resetSupercrystalInterest(), setHigher(), SINGLE, supercrystalInterest, theTriggerMap, towerInterest, EcalTrigTowerConstituentsMap::towerOf(), and EEDetId::validDetId().
00034 { 00035 //classifies the trigger towers (single,center,neighbor,low interest) 00036 classifyTriggerTowers(ttFlags); 00037 00038 //count number of TT in each interest class for debugging display 00039 int nTriggerTowerE[] = {0, 0, 0, 0}; 00040 int nTriggerTowerB[] = {0, 0, 0, 0}; 00041 00042 static int ncall = 0; 00043 if(ncall < 10){ 00044 ++ncall; 00045 for(size_t iPhi = 0; iPhi < nTriggerTowersInPhi; ++iPhi){ 00046 for(size_t iEta = 0; iEta < nTriggerTowersInEta; ++iEta){ 00047 if(iEta < nEndcapTriggerTowersInEta 00048 || iEta >= nBarrelTriggerTowersInEta + nEndcapTriggerTowersInEta){ 00049 //in endcaps 00050 ++nTriggerTowerE[towerInterest[iEta][iPhi]]; 00051 } else{//in barrel 00052 ++nTriggerTowerB[towerInterest[iEta][iPhi]]; 00053 } 00054 } 00055 } 00056 edm::LogInfo("EcalSelectiveReadout") 00057 << nTriggerTowerB[LOWINTEREST] << " low interest TT in barrel\n" 00058 << nTriggerTowerB[SINGLE] << " single TT in barrel\n" 00059 << nTriggerTowerB[NEIGHBOUR] << " neighbor interest TT in barrel\n" 00060 << nTriggerTowerB[CENTER] << " centre interest TT in barrel\n" 00061 << nTriggerTowerE[LOWINTEREST] << " low interest TT in endcap\n" 00062 << nTriggerTowerE[SINGLE] << " single TT in endcap\n" 00063 << nTriggerTowerE[NEIGHBOUR] << " neighbor TT in endcap\n" 00064 << nTriggerTowerE[CENTER] << " center TT in endcap\n"; 00065 } 00066 //end TT interest class composition debugging display 00067 00068 //For the endcap the TT classification must be mapped to the SC: 00069 resetSupercrystalInterest(); 00070 00071 #ifndef ECALSELECTIVEREADOUT_NOGEOM 00072 const std::vector<DetId>& endcapDetIds = theGeometry->getValidDetIds(DetId::Ecal, EcalEndcap); 00073 for(std::vector<DetId>::const_iterator eeDetIdItr = endcapDetIds.begin(); 00074 eeDetIdItr != endcapDetIds.end(); ++eeDetIdItr){ 00075 // for each superCrystal, the interest is the highest interest 00076 // of any trigger tower associated with any crystal in this SC 00077 EcalTrigTowerDetId trigTower = theTriggerMap->towerOf(*eeDetIdItr); 00078 assert(trigTower.rawId() != 0); 00079 EEDetId eeDetId(*eeDetIdItr); 00080 int iz = (eeDetId.zside() > 0) ? 1 : 0; 00081 int superCrystalX = (eeDetId.ix()-1) / 5; 00082 int superCrystalY = (eeDetId.iy()-1) / 5; 00083 setHigher(supercrystalInterest[iz][superCrystalX][superCrystalY], 00084 getTowerInterest(trigTower)); 00085 } 00086 #else //ECALSELECTIVEREADOUT_NOGEOM not defined 00087 EEDetId xtal; 00088 for(int iZ0=0; iZ0<2; ++iZ0){//0->EE-, 1->EE+ 00089 for(unsigned iX0=0; iX0<nEndcapXBins; ++iX0){ 00090 for(unsigned iY0=0; iY0<nEndcapYBins; ++iY0){ 00091 00092 if (!(xtal.validDetId(iX0+1, iY0+1, (iZ0>0?1:-1)))){ 00093 continue; 00094 } 00095 xtal = EEDetId(iX0+1, iY0+1, (iZ0>0?1:-1)); 00096 //works around a EEDetId bug. To remove once the bug fixed. 00097 if(39 <= iX0 && iX0 <= 60 && 45 <= iY0 && iY0 <= 54){ 00098 continue; 00099 } 00100 // for each superCrystal, the interest is the highest interest 00101 // of any trigger tower associated with any crystal in this SC 00102 EcalTrigTowerDetId trigTower = theTriggerMap->towerOf(xtal); 00103 assert(trigTower.rawId() != 0); 00104 int superCrystalX = iX0 / 5; 00105 int superCrystalY = iY0 / 5; 00106 setHigher(supercrystalInterest[iZ0][superCrystalX][superCrystalY], 00107 getTowerInterest(trigTower)); 00108 } 00109 } 00110 } 00111 #endif 00112 }
void EcalSelectiveReadout::setHigher | ( | T & | var, | |
T | val | |||
) | const [inline, private] |
Changes the value of a variable iff that has the effect to increase the variable value var = max(var,val).
var | the variable | |
val | the new candidate value |
Definition at line 241 of file EcalSelectiveReadout.h.
Referenced by classifyTriggerTowers(), and runSelectiveReadout0().
Changes the value of a variable iff that has the effect to decrease the variable value var = min(var,val).
var | the variable | |
val | the new candidate value |
Definition at line 230 of file EcalSelectiveReadout.h.
void EcalSelectiveReadout::setTriggerMap | ( | const EcalTrigTowerConstituentsMap * | map | ) | [inline] |
the mapping of which cell goes with which trigger tower
Definition at line 134 of file EcalSelectiveReadout.h.
References theTriggerMap.
00134 { 00135 theTriggerMap = map; 00136 }
int EcalSelectiveReadout::dEta [private] |
int EcalSelectiveReadout::dPhi [private] |
const size_t EcalSelectiveReadout::nBarrelEtaBins = 170 [static] |
const size_t EcalSelectiveReadout::nBarrelPhiBins = 360 [static] |
Number of crystals in a eta ring of the barrel.
Definition at line 80 of file EcalSelectiveReadout.h.
const size_t EcalSelectiveReadout::nBarrelTowerEtaBins = nBarrelEtaBins/5 [static] |
Number of trigger tower along eta in the barrel.
Definition at line 98 of file EcalSelectiveReadout.h.
const size_t EcalSelectiveReadout::nBarrelTowerPhiBins = nBarrelPhiBins/5 [static] |
Number of trigger tower in a eta ring of the barrel.
Definition at line 101 of file EcalSelectiveReadout.h.
const size_t EcalSelectiveReadout::nBarrelTriggerTowersInEta = 34 [static] |
Number of barrel trigger towers along eta.
Definition at line 110 of file EcalSelectiveReadout.h.
Referenced by printBarrel(), and runSelectiveReadout0().
const size_t EcalSelectiveReadout::nEndcaps = 2 [static] |
Number of endcap, obviously tow.
Definition at line 104 of file EcalSelectiveReadout.h.
Referenced by resetSupercrystalInterest().
const size_t EcalSelectiveReadout::nEndcapTriggerTowersInEta = 11 [static] |
Number of trigger towers along eta in one endcap.
Definition at line 107 of file EcalSelectiveReadout.h.
Referenced by printBarrel(), and runSelectiveReadout0().
const size_t EcalSelectiveReadout::nEndcapXBins = 100 [static] |
Range of the x-index of endcap crystals (xman-xmin+1).
Definition at line 83 of file EcalSelectiveReadout.h.
Referenced by runSelectiveReadout0().
const size_t EcalSelectiveReadout::nEndcapYBins = 100 [static] |
Range of the y-index of endcap crystals (yman-ymin+1).
Definition at line 86 of file EcalSelectiveReadout.h.
Referenced by runSelectiveReadout0().
const size_t EcalSelectiveReadout::nSupercrystalXBins = nEndcapXBins/supercrystalEdge [static] |
Range of endcap supercrystal x-index (xmax-xmin+1).
Definition at line 92 of file EcalSelectiveReadout.h.
Referenced by printEndcap(), and resetSupercrystalInterest().
const size_t EcalSelectiveReadout::nSupercrystalYBins = nEndcapYBins/supercrystalEdge [static] |
Range of endcap supercrystal y-index (ymay-ymin+1).
Definition at line 95 of file EcalSelectiveReadout.h.
Referenced by printEndcap(), and resetSupercrystalInterest().
const size_t EcalSelectiveReadout::nTriggerTowersInEta [static] |
Initial value:
Number of trigger towers along eta for the whole ECAL.
Definition at line 113 of file EcalSelectiveReadout.h.
Referenced by classifyTriggerTowers(), getTowerInterest(), and runSelectiveReadout0().
const size_t EcalSelectiveReadout::nTriggerTowersInPhi = 72 [static] |
Number of trigger towers in an eta ring.
Definition at line 117 of file EcalSelectiveReadout.h.
Referenced by printBarrel().
const char EcalSelectiveReadout::srpFlagMarker = {'.', 'S', 'N', 'C', 'F'} [static, private] |
Definition at line 258 of file EcalSelectiveReadout.h.
Referenced by printBarrel(), printEndcap(), and printHeader().
const size_t EcalSelectiveReadout::supercrystalEdge = 5 [static] |
Edge size of a supercrystal.
A supercrystal is a tower of 5x5 crystals.
Definition at line 89 of file EcalSelectiveReadout.h.
towerInterest_t EcalSelectiveReadout::supercrystalInterest[nEndcaps][nSupercrystalXBins][nSupercrystalYBins] [private] |
Definition at line 253 of file EcalSelectiveReadout.h.
Referenced by getCrystalInterest(), getSuperCrystalInterest(), printEndcap(), resetSupercrystalInterest(), and runSelectiveReadout0().
const EcalTrigTowerConstituentsMap* EcalSelectiveReadout::theTriggerMap [private] |
Definition at line 248 of file EcalSelectiveReadout.h.
Referenced by getCrystalInterest(), runSelectiveReadout0(), and setTriggerMap().
towerInterest_t EcalSelectiveReadout::towerInterest[nTriggerTowersInEta][nTriggerTowersInPhi] [private] |
Definition at line 252 of file EcalSelectiveReadout.h.
Referenced by classifyTriggerTowers(), getTowerInterest(), printBarrel(), and runSelectiveReadout0().
const int EcalSelectiveReadout::TTF_FORCED_RO_MASK = 0x4 [static] |