5 #ifndef ECALSELECTIVEREADOUT_H 6 #define ECALSELECTIVEREADOUT_H 17 #define ECALSELECTIVEREADOUT_NOGEOM //version w/o geometry dependency. 19 #ifndef ECALSELECTIVEREADOUT_NOGEOM 21 #endif //ECALSELECTIVEREADOUT_NOGEOM not defined 71 typedef enum {
UNKNOWN = -1 & ~FORCED_MASK,
183 #ifndef ECALSELECTIVEREADOUT_NOGEOM 185 theGeometry = caloGeometry;
187 #endif //ECALSELECTIVEREADOUT_NOGEOM not defined 217 towerFlags[nTriggerTowersInEta][nTriggerTowersInPhi]);
248 void print(std::ostream & os)
const;
289 if(val<var) var =
val;
300 if(val>var) var =
val;
311 var = (
T)(
std::max(val & ~TTF_FORCED_RO_MASK,
313 var & ~TTF_FORCED_RO_MASK)
318 | ((val |
var) & 0x4));
322 if(var < 0 || var > 7){
323 std::cout << __FILE__ <<
":" << __LINE__ <<
": ---------->" 324 << var <<
" " << val <<
" " 325 <<
std::max(val & 0x3, var & 0x3) <<
" " 326 << (val |
var) <<
" " 327 << ((val | var) & 0x4) <<
" " 329 | ((val |
var) & 0x4)) <<
" " 331 | ((val |
var) & 0x4)) <<
"\n";
350 #ifndef ECALSELECTIVEREADOUT_NOGEOM 352 #endif //ECALSELECTIVEREADOUT_NOGEOM not defined
static const int FORCED_MASK
static const size_t nEndcapXBins
towerInterest_t getSuperCrystalInterest(const EcalScDetId &scDetId) const
void setTriggerMap(const EcalTrigTowerConstituentsMap *map)
the mapping of which cell goes with which trigger tower
static const size_t nSupercrystalXBins
void printHeader(std::ostream &os) const
print out header for the map: see print(std::ostream&)
static const int TTF_FORCED_RO_MASK
towerInterest_t getTowerInterest(const EcalTrigTowerDetId &towerId) const
static const size_t nEndcaps
void setHigher(T &var, T val) const
static const int nDccPerEe
static const size_t nBarrelPhiBins
void printEndcap(int endcap, std::ostream &s) const
void classifyTriggerTowers(const ttFlag_t ttFlags[nTriggerTowersInEta][nTriggerTowersInPhi])
towerInterest_t & eeRuInterest(const EEDetId &id)
static const size_t nEndcapYBins
static const size_t nSupercrystalYBins
static const size_t nBarrelTowerPhiBins
EcalSelectiveReadout(int dEta=1, int dPhi=1)
static const size_t supercrystalEdge
static const int maxDccChs
void combineFlags(T &var, T val) const
void setGeometry(CaloGeometry const *)
void printBarrel(std::ostream &os) const
void setLower(int &var, int val) const
static const size_t nEndcapTriggerTowersInEta
const EcalElectronicsMapping * theElecMap
towerInterest_t eeRuInterest_[nEndcaps][nDccPerEe][maxDccChs]
const EcalTrigTowerConstituentsMap * theTriggerMap
void print(std::ostream &os) const
print out the map
static const size_t nTriggerTowersInEta
static const size_t nTriggerTowersInPhi
static const char srpFlagMarker[]
void runSelectiveReadout0(const ttFlag_t towerFlags[nTriggerTowersInEta][nTriggerTowersInPhi])
towerInterest_t towerInterest[nTriggerTowersInEta][nTriggerTowersInPhi]
static const size_t nBarrelTriggerTowersInEta
static const size_t nBarrelEtaBins
static const size_t nBarrelTowerEtaBins
towerInterest_t getCrystalInterest(const EBDetId &ebDetId) const
std::ostream & operator<<(std::ostream &os, const EcalSelectiveReadout &selectiveReadout)
void setElecMap(const EcalElectronicsMapping *map)
void printDccChMap(std::ostream &os) const