|
|
Go to the documentation of this file.
89 const uint32_t recHitFlag =
hit.flags();
155 const edm::Handle<std::vector<reco::TrackExtrapolation> >& trackextrapcoll_h,
197 for (std::vector<reco::TrackExtrapolation>::const_iterator it = trackextrapcoll_h->begin();
198 it != trackextrapcoll_h->end();
213 if (std::fabs(
point.eta()) < 1.479) {
232 if (
id.ietaAbs() == 29)
238 std::set<PhysicsTower, towercmp>::iterator it =
towers_.find(
dummy);
253 if (
id.ietaAbs() == 29)
259 std::set<PhysicsTower, towercmp>::iterator it =
towers_.find(
dummy);
277 std::set<const PhysicsTower*>& neighbors)
const {
283 std::vector<CaloTowerDetId> ids;
285 if (
id.ietaAbs() <= 20) {
298 if (
id.ietaAbs() <= 20) {
311 if (
id.ietaAbs() == 20 && (
id.
iphi() % 2) == 0)
317 if (
id.ietaAbs() == 21) {
320 }
else if (
id.ietaAbs() == 1) {
327 if (
id.ietaAbs() <= 19 || (
id.ietaAbs() == 20 && (
id.
iphi() % 2) == 0)) {
332 }
else if (
id.ietaAbs() >= 21) {
340 if (
id.ietaAbs() <= 19) {
345 }
else if (
id.ietaAbs() >= 21 || (
id.ietaAbs() == 20 && (
id.
iphi() % 2) == 1)) {
353 if (
id.ietaAbs() == 1) {
358 }
else if (
id.ietaAbs() <= 20) {
363 }
else if (
id.ietaAbs() >= 21) {
371 if (
id.ietaAbs() == 1) {
376 }
else if (
id.ietaAbs() <= 20) {
381 }
else if (
id.ietaAbs() >= 22) {
386 }
else if (
id.ietaAbs() == 21) {
397 for (std::vector<CaloTowerDetId>::const_iterator it = ids.begin(); it != ids.end(); ++it) {
400 neighbors.insert(twr);
418 if (twr ==
nullptr) {
420 if (
id.ietaAbs() == 29)
434 if (twr ==
nullptr) {
436 if (
id.ietaAbs() == 29)
450 if (twr ==
nullptr) {
452 if (
id.ietaAbs() == 29)
536 for (std::set<const HBHERecHit*>::const_iterator it2 = it1->second->hcalhits.begin();
537 it2 != it1->second->hcalhits.end();
551 v.insert(it1->second->ecalhits.begin(), it1->second->ecalhits.end());
559 v.insert(it1->second->tracks.begin(), it1->second->tracks.end());
632 neighbors_.insert(neighbors.begin(), neighbors.end());
652 if (
hit->
id().ietaAbs() <= 26)
663 std::set<const HBHERecHit*>
v;
665 for (std::set<const HBHERecHit*>::const_iterator it =
v.begin(); it !=
v.end(); ++it) {
676 std::set<const EcalRecHit*>
v;
678 for (std::set<const EcalRecHit*>::const_iterator it =
v.begin(); it !=
v.end(); ++it) {
689 std::set<const reco::Track*>
v;
691 for (std::set<const reco::Track*>::const_iterator it =
v.begin(); it !=
v.end(); ++it) {
702 std::set<const HBHERecHit*>
v;
704 for (std::set<const HBHERecHit*>::const_iterator it =
v.begin(); it !=
v.end(); ++it) {
715 std::set<const EcalRecHit*>
v;
717 for (std::set<const EcalRecHit*>::const_iterator it =
v.begin(); it !=
v.end(); ++it) {
728 std::set<const reco::Track*>
v;
730 for (std::set<const reco::Track*>::const_iterator it =
v.begin(); it !=
v.end(); ++it) {
758 std::set<const PhysicsTower*> neighbors;
770 std::vector<const HBHERecHit*> hpdneighbors;
773 if (hpdneighbors.size() == 1) {
774 std::vector<const HBHERecHit*> hpdneighborsneighbors;
777 if (hpdneighborsneighbors.size() == 1 && hpdneighborsneighbors[0] ==
hit &&
778 hit->energy() > hpdneighbors[0]->energy()) {
784 std::set<const PhysicsTower*> neighbors2;
789 dihit.
insert(hpdneighbors[0], tower2, neighbors2);
792 }
else if (hpdneighbors.empty()) {
804 for (std::map<int, HBHEHitMap>::const_iterator it =
rbxs_.begin(); it !=
rbxs_.end(); ++it) {
813 for (std::map<int, HBHEHitMap>::const_iterator it =
hpds_.begin(); it !=
hpds_.end(); ++it) {
822 for (std::vector<HBHEHitMap>::const_iterator it =
dihits_.begin(); it !=
dihits_.end(); ++it) {
823 if (it->hitEnergy() >
energy)
830 for (std::vector<HBHEHitMap>::const_iterator it =
monohits_.begin(); it !=
monohits_.end(); ++it) {
831 if (it->hitEnergy() >
energy)
838 std::vector<const HBHERecHit*>& neighbors,
840 std::set<const PhysicsTower*>
temp;
847 for (std::set<const PhysicsTower*>::const_iterator it1 =
temp.begin(); it1 !=
temp.end(); ++it1) {
848 for (std::set<const HBHERecHit*>::const_iterator it2 = (*it1)->hcalhits.begin(); it2 != (*it1)->hcalhits.end();
852 neighbors.push_back(hit2);
double trackEnergyNeighborTowers_
void calcEcalNeighborTowers_(void) const
int ietaAbs() const
get the absolute value of the tower ieta
void tracksNeighborTowers(std::set< const reco::Track * > &v) const
double ecalEnergyNeighborTowers_
std::set< const HBHERecHit * > hcalhits
static const unsigned OFF_COMBINED
const HcalSeverityLevelComputer * theHcalSevLvlComputer_
PhysicsTowerOrganizer(const edm::Handle< HBHERecHitCollection > &hbhehitcoll_h, const edm::Handle< EcalRecHitCollection > &ebhitcoll_h, const edm::Handle< EcalRecHitCollection > &eehitcoll_h, const edm::Handle< std::vector< reco::TrackExtrapolation > > &trackextrapcoll_h, const ObjectValidatorAbs &objectvalidator, const CaloTowerConstituentsMap &ctcm, const CaloGeometry &geo)
std::vector< T >::const_iterator const_iterator
bool recoveredRecHit(const DetId &myid, const uint32_t &myflag) const
double trackEnergySameTowers(void) const
EcalSeverityLevel::SeverityLevel severityLevel(const DetId &id) const
Evaluate status from id use channelStatus from DB.
int nHcalHitsSameTowers(void) const
bool UseEcalRecoveredHits_
const int lookupRMIndex(DetId fId) const
double p() const
momentum vector magnitude
double hitEnergy(void) const
const HcalChannelQuality * theHcalChStatus_
void getHPDs(std::vector< HBHEHitMap > &v, double energy) const
const HcalFrontEndMap * hfemap_
~ObjectValidator() override
void calcTracksNeighborTowers_(void) const
void calcTracksSameTowers_(void) const
neighbor_const_iterator findNeighbor(const PhysicsTower *twr) const
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
bool UseHcalRecoveredHits_
bool validHit(const HBHERecHit &) const override
std::set< const reco::Track * > tracks
virtual bool validHit(const HBHERecHit &) const =0
int nEcalHitsSameTowers(void) const
HBHEHitMapOrganizer(const edm::Handle< HBHERecHitCollection > &hbhehitcoll_h, const ObjectValidatorAbs &objvalidator, const PhysicsTowerOrganizer &pto, const HcalFrontEndMap *hfemap)
std::set< const PhysicsTower * >::const_iterator neighbor_const_iterator
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
uint32_t EcalAcceptSeverityLevel_
unsigned short numberOfValidHits() const
number of valid hits found
neighbor_const_iterator endNeighbors(void) const
const Item * getValues(DetId fId, bool throwOnFail=true) const
hitmap_const_iterator beginHits(void) const
std::map< int, HBHEHitMap > rbxs_
std::set< PhysicsTower, towercmp > towers_
void getRBXs(std::vector< HBHEHitMap > &v, double energy) const
double pt() const
track transverse momentum
void ecalHitsSameTowers(std::set< const EcalRecHit * > &v) const
void hcalHitsNeighborTowers(std::set< const HBHERecHit * > &v) const
const PhysicsTower * findTower(const CaloTowerDetId &id) const
const EcalChannelStatus * theEcalChStatus_
int nEcalHitsNeighborTowers(void) const
int nHcalHitsNeighborTowers(void) const
const_iterator begin() const
const EcalRecHitCollection * theEERecHitCollection_
double ecalEnergySameTowers(void) const
void getDiHits(std::vector< HBHEHitMap > &v, double energy) const
int nTracksNeighborTowers(void) const
const int lookupRBXIndex(DetId fId) const
const EcalRecHitCollection * theEBRecHitCollection_
bool validTrack(const reco::Track &) const override
void calcHcalSameTowers_(void) const
int nTracksNeighborTowers_
double ecalEnergyNeighborTowers(void) const
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
uint32_t getValue() const
void tracksSameTowers(std::set< const reco::Track * > &v) const
double trackEnergyNeighborTowers(void) const
void getHPDNeighbors(const HBHERecHit *hit, std::vector< const HBHERecHit * > &neighbors, const PhysicsTowerOrganizer &pto)
const_iterator end() const
void ecalHitsNeighborTowers(std::set< const EcalRecHit * > &v) const
std::set< const EcalRecHit * > ecalhits
std::map< const HBHERecHit *, const PhysicsTower * > hits_
void byTowers(std::vector< twrinfo > &v) const
double hcalEnergySameTowers(void) const
double trackEnergySameTowers_
bool UseAllCombinedRechits_
hitmap_const_iterator findHit(const HBHERecHit *hit) const
constexpr bool getBit(const uint32_t u, const unsigned bitnum)
CaloTowerDetId towerOf(const DetId &id) const
Get the tower id for this det id (or null if not known)
virtual DetId getClosestCell(const GlobalPoint &r) const
void insert(const HBHERecHit *hit, const PhysicsTower *twr, std::set< const PhysicsTower * > &neighbors)
void calcHcalNeighborTowers_(void) const
void calcEcalSameTowers_(void) const
double hcalEnergyNeighborTowers(void) const
int iphi() const
get the tower iphi
int nEcalHitsNeighborTowers_
std::map< int, HBHEHitMap > hpds_
std::set< const PhysicsTower * > neighbors_
double ecalEnergySameTowers_
std::vector< HBHEHitMap > monohits_
void insert_(CaloTowerDetId &id, const HBHERecHit *hit)
void hcalHitsSameTowers(std::set< const HBHERecHit * > &v) const
double hcalEnergySameTowers_
int nHcalHitsNeighborTowers_
hitmap_const_iterator endHits(void) const
double hitEnergyTrackFiducial(void) const
ObjectValidator(const edm::ParameterSet &)
int nTracksSameTowers(void) const
T getParameter(std::string const &) const
const EcalSeverityLevelAlgo * theEcalSevLvlAlgo_
void calcHits_(void) const
std::map< const HBHERecHit *, const PhysicsTower * >::const_iterator hitmap_const_iterator
uint32_t HcalAcceptSeverityLevel_
std::vector< HBHEHitMap > dihits_
int zside() const
get the z-side of the tower (1/-1)
constexpr HcalDetId id() const
get the id
const Vector & momentum() const
track momentum vector
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
double hcalEnergyNeighborTowers_
void getMonoHits(std::vector< HBHEHitMap > &v, double energy) const
virtual bool validTrack(const reco::Track &) const =0
void findNeighbors(const CaloTowerDetId &id, std::set< const PhysicsTower * > &neighbors) const
neighbor_const_iterator beginNeighbors(void) const
double MinValidTrackPtBarrel_