Go to the documentation of this file. 1 #ifndef GEOMETRY_CALOTOPOLOGY_HCALTOPOLOGY_H
2 #define GEOMETRY_CALOTOPOLOGY_HCALTOPOLOGY_H 1
50 unsigned int ncells()
const override;
66 std::vector<DetId>
east(
const DetId&
id)
const override;
68 std::vector<DetId>
west(
const DetId&
id)
const override;
70 std::vector<DetId>
north(
const DetId&
id)
const override;
72 std::vector<DetId>
south(
const DetId&
id)
const override;
74 std::vector<DetId>
up(
const DetId&
id)
const override;
76 std::vector<DetId>
down(
const DetId&
id)
const override;
static constexpr unsigned int kPhiCalibHBX_
HcalDetId mergedDepthDetId(const HcalDetId &id) const
static constexpr unsigned int kPhiCalibHF1_
std::vector< int > mergedDepthList29(HcalDetId id) const
static constexpr unsigned int kOffCalibHEX_
static constexpr unsigned int kOffCalibHO1_
static constexpr unsigned int nEtaCalibHF_
static constexpr unsigned int nCalibHBX_
static constexpr int minMaxDepth_
std::vector< HcalDetId > exclusionList_
HcalDetId idFront(const HcalDetId &id) const
bool validHcal(const HcalDetId &id) const
std::vector< DetId > south(const DetId &id) const override
static constexpr unsigned int nCalibHB_
std::vector< double > etaTable
int incIEta(const HcalDetId &id, HcalDetId neighbors[2]) const
static constexpr unsigned int nCalibHE1_
bool mergedDepth29(HcalDetId id) const
static constexpr unsigned int nEtaCalibHB_
unsigned int getHTSize() const
static constexpr unsigned int nCalibHEX_
static constexpr int etaCalibHE_[nEtaCalibHE_]
bool withSpecialRBXHBHE() const
static constexpr int phiCalibHO_[nEtaCalibHO_]
static constexpr int chanCalibHOs_
static constexpr unsigned int kOffCalibHFX_
static constexpr int etaCalibHOX_[nEtaCalibHOX_]
HcalCalibDetId denseId2detIdCALIB(const unsigned int &id) const
return a Calib DetId from linear packed id
std::vector< HcalDDDRecConstants::HcalEtaBin > etaBinsHB_
unsigned int detId2denseIdHB(const DetId &id) const
return a linear packed id from HB
static constexpr int chanCalibHF1_[nchanCalibHF1_]
static constexpr unsigned int kPhiCalibHO0_
std::vector< DetId > down(const DetId &id) const override
static constexpr unsigned int nEtaCalibHO_
HcalDetId mergedDepthDetId(const HcalDetId &id) const
int decAIEta(const HcalDetId &id, HcalDetId neighbors[2]) const
static constexpr unsigned int nchanCalibHO_
bool mergedDepthList29(int ieta, int iphi, int depth) const
static constexpr unsigned int nCalibHO1_
static constexpr unsigned int minPhi_
SegmentationMap depthSegmentation_
int decIEta(const HcalDetId &id, HcalDetId neighbors[2]) const
static constexpr int phiCalibHOX1_
bool getMergePositionFlag() const
static constexpr unsigned int kOffCalibHB_
int firstHEQuadPhiRing() const
static constexpr unsigned int kOffCalibHOX_
int etaRing(HcalSubdetector subdet, double eta) const
eta and phi index from eta, phi values
HcalTopologyMode::TriggerMode triggerMode_
int topoVersion() const override
return a version which identifies the given topology
static constexpr unsigned int nEtaCalibHEX_
std::vector< double > etaTableHF
unsigned int getHESize() const
std::vector< int > unitPhi
int firstHEDoublePhiRing() const
bool validDetIdPreLS1(const HcalDetId &id) const
static constexpr unsigned int kOffCalibHO2_
static constexpr int chanCalibHE2_
static constexpr int etaCalibHB_[nEtaCalibHB_]
unsigned int detId2denseIdPreLS1(const DetId &id) const
unsigned int detId2denseIdHT(const DetId &id) const
return a linear packed id from HT
unsigned int numberOfShapes_
static constexpr unsigned int mPhiCalibHOX_[nEtaCalibHOX_]
static constexpr int etaCalibHF_[nEtaCalibHF_]
static constexpr int chanCalibHO_[nchanCalibHO_]
void exclude(const HcalDetId &id)
bool validHT(const HcalTrigTowerDetId &id) const
unsigned int detId2denseId(const DetId &id) const override
return a linear packed id
static constexpr unsigned int kPhiCalibHE_
static constexpr unsigned int kchanCalibHE1_
SegmentationMap depthSegmentationOne_
int firstHETripleDepthRing_
DetId denseId2detId(unsigned int) const override
return a linear packed id
static constexpr unsigned int kOffCalibHE1_
unsigned int detId2denseIdHF(const DetId &id) const
return a linear packed id from HF
static constexpr unsigned int nchanCalibHE1_
static constexpr int phiCalibHOX2_
static constexpr unsigned int nchanCalibHF1_
std::vector< HcalDDDRecConstants::HcalEtaBin > etaBinsHE_
HcalTopologyMode::Mode mode() const
bool decrementDepth(HcalDetId &id) const
unsigned int getHFSize() const
bool validRaw(const HcalDetId &id) const
static constexpr unsigned int mPhiCalibHE_
std::vector< double > dPhiTableHF
static constexpr int phiCalibHF2_
unsigned int detId2denseIdHE(const DetId &id) const
return a linear packed id from HE
static constexpr unsigned int nCalibHO2_
static constexpr int etaCalibHEX_[nEtaCalibHEX_]
static constexpr int etaCalibHO_[nEtaCalibHO_]
unsigned int getHOSize() const
unsigned int getHBSize() const
HcalTopology(const HcalDDDRecConstants *hcons, const bool mergePosition=false)
void excludeSubdetector(HcalSubdetector subdet)
bool incIPhi(const HcalDetId &id, HcalDetId &neighbor) const
int singlePhiBins() const
const HcalDDDRecConstants * dddConstants() const
HcalDetId idBack(const HcalDetId &id) const
int firstHFQuadPhiRing() const
HcalTopologyMode::Mode mode_
bool decIPhi(const HcalDetId &id, HcalDetId &neighbor) const
HcalTopologyMode::TriggerMode triggerMode() const
std::vector< int > unitPhiHF
static constexpr unsigned int nEtaCalibHOX_
void depthBinInformation(HcalSubdetector subdet, int etaRing, int iphi, int zside, int &nDepthBins, int &startingBin) const
finds the number of depth bins and which is the number to start with
static constexpr unsigned int kPhiCalibHO2_
std::pair< int, int > segmentBoundaries(const unsigned ring, const unsigned depth, const bool flag=false) const
bool validCalib(const HcalCalibDetId &id) const
static constexpr unsigned int kchanCalibHF1_
static constexpr unsigned int kchanCalibHE2_
static constexpr unsigned int nEtaCalibHE_
std::map< unsigned, std::vector< int > > SegmentationMap
static constexpr int chanCalibHB_[nchanCalibHB_]
static constexpr unsigned int mPhiCalibHO1_
static constexpr unsigned int mPhiCalibHBX_
int incAIEta(const HcalDetId &id, HcalDetId neighbors[2]) const
std::vector< DetId > up(const DetId &id) const override
bool valid(const DetId &id) const override
static constexpr int chanCalibHE1_[nchanCalibHE1_]
double etaMax(HcalSubdetector subdet) const
void setDepthSegmentation(const unsigned ring, const std::vector< int > &readoutDepths, const bool flag)
static constexpr unsigned int mPhiCalibHF1_
std::vector< DetId > west(const DetId &id) const override
std::vector< double > phioff
static constexpr unsigned int kPhiCalibHB_
void getDepthSegmentation(const unsigned ring, std::vector< int > &readoutDepths, const bool flag=false) const
static constexpr int nCalibHOX_
bool incrementDepth(HcalDetId &id) const
unsigned int getCALIBSize() const
static constexpr unsigned int kchanCalibHB_
int firstHETripleDepthRing() const
unsigned int getNumberOfShapes() const
static constexpr unsigned int nCalibHE2_
std::pair< double, double > etaRange(HcalSubdetector subdet, int ieta) const
unsigned int detId2denseIdHO(const DetId &id) const
return a linear packed id from HO
unsigned int detId2denseIdCALIB(const DetId &id) const
return a linear packed id from CALIB
static std::string producerTag()
unsigned int ncells() const override
return a count of valid cells (for dense indexing use)
static constexpr unsigned int mPhiCalibHB_
static constexpr unsigned int kchanCalibHF2_
static constexpr int etaCalibHBX_
static constexpr unsigned int nchanCalibHB_
void unmergeDepthDetId(const HcalDetId &id, std::vector< HcalDetId > &ids) const
static constexpr int phiCalibHOX3_
int nPhiBins(int etaRing) const
how many phi segments in this ring
static constexpr unsigned int maxPhi_
std::vector< DetId > east(const DetId &id) const override
static constexpr unsigned int kPhiCalibHO1_
HcalDetId idFront(const HcalDetId &id) const
int getPhiZOne(std::vector< std::pair< int, int > > &phiz) const
static constexpr unsigned int nEtaCalibHBX_
static constexpr unsigned int kOffCalibHF2_
int firstHEDoublePhiRing_
std::vector< DetId > north(const DetId &id) const override
bool isExcluded(const HcalDetId &id) const
static constexpr unsigned int nPhiCalibHOX_[nEtaCalibHOX_]
int getPhiZOne(std::vector< std::pair< int, int >> &phiz) const
static constexpr int chanCalibHF2_
bool validDetId(HcalSubdetector subdet, int ieta, int iphi, int depth) const
std::vector< double > dPhiTable
bool withSpecialRBXHBHE() const
static constexpr unsigned int nCalibHF1_
static constexpr unsigned int kOffCalibHF1_
static constexpr unsigned int mPhiCalibHEX_
static constexpr unsigned int mPhiCalibHO0_
void unmergeDepthDetId(const HcalDetId &id, std::vector< HcalDetId > &ids) const
static constexpr unsigned int kOffCalibHBX_
const HcalDDDRecConstants * hcons_
HcalDetId idBack(const HcalDetId &id) const
static constexpr unsigned int kOffCalibHE2_
int phiBin(HcalSubdetector subdet, int etaRing, double phi) const
static constexpr unsigned int nCalibHF2_
static constexpr unsigned int kPhiCalibHEX_
int doublePhiBins() const