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