CMS 3D CMS Logo

EcalRecHitWorkerRecover.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_EcalRecProducers_EcalRecHitWorkerRecover_hh
2 #define RecoLocalCalo_EcalRecProducers_EcalRecHitWorkerRecover_hh
3 
11 
14 #include <vector>
15 
17 
23 
35 
37 public:
40 
41  void set(const edm::EventSetup& es) override;
42  bool run(const edm::Event& evt, const EcalUncalibratedRecHit& uncalibRH, EcalRecHitCollection& result) override;
43 
44 protected:
46  float recCheckCalib(float energy, int ieta);
47  bool alreadyInserted(const DetId& id);
48  float estimateEnergy(int ieta,
50  const std::set<DetId>& sId,
51  const std::vector<DetId>& vId,
52  const EcalTPGScale& tpgscale);
53  bool checkChannelStatus(const DetId& id, const std::vector<int>& statusestoexclude);
54 
57 
58  // isolated dead channels
65 
70 
77 
78  // list of channel statuses for which recovery in EE should
79  // not be attempted
80  std::vector<int> dbStatusToBeExcludedEE_;
81  std::vector<int> dbStatusToBeExcludedEB_;
82 
83  const edm::EventSetup* eventSetup_ = nullptr;
84  // dead FE
91 
93 
100  std::unique_ptr<EcalRecHitSimpleAlgo> rechitMaker_;
101 
102  std::set<DetId> recoveredDetIds_EB_;
103  std::set<DetId> recoveredDetIds_EE_;
104 
106 
109 };
110 
111 #endif
edm::ESGetToken< CaloSubdetectorGeometry, EcalBarrelGeometryRecord > pEBGeomToken_
const edm::EventSetup * eventSetup_
float estimateEnergy(int ieta, EcalRecHitCollection *hits, const std::set< DetId > &sId, const std::vector< DetId > &vId, const EcalTPGScale &tpgscale)
bool alreadyInserted(const DetId &id)
bool run(const edm::Event &evt, const EcalUncalibratedRecHit &uncalibRH, EcalRecHitCollection &result) override
EcalDeadChannelRecoveryAlgos< EEDetId > eeDeadChannelCorrector
edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > pEcalMappingToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
std::vector< int > dbStatusToBeExcludedEE_
edm::ESGetToken< EcalLaserDbService, EcalLaserDbRecord > laserToken_
edm::ESHandle< EcalElectronicsMapping > pEcalMapping_
edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > chStatusToken_
edm::ESHandle< CaloTopology > caloTopology_
EcalTPGScale::Tokens tpgscaleTokens_
float recCheckCalib(float energy, int ieta)
void insertRecHit(const EcalRecHit &hit, EcalRecHitCollection &collection)
EcalTPGScale::Tokens ecalScaleTokens_
std::unique_ptr< EcalRecHitSimpleAlgo > rechitMaker_
edm::ESHandle< EcalTrigTowerConstituentsMap > ttMap_
edm::ESHandle< CaloSubdetectorGeometry > pEBGeom_
const CaloSubdetectorGeometry * ebGeom_
Definition: DetId.h:17
edm::ESGetToken< EcalTrigTowerConstituentsMap, IdealGeometryRecord > ttMapToken_
edm::EDGetTokenT< EcalTrigPrimDigiCollection > tpDigiToken_
std::set< DetId > recoveredDetIds_EE_
EcalRecHitWorkerRecover(const edm::ParameterSet &, edm::ConsumesCollector &c)
edm::ESHandle< CaloGeometry > caloGeometry_
std::vector< int > dbStatusToBeExcludedEB_
edm::ESGetToken< CaloTopology, CaloTopologyRecord > caloTopologyToken_
EcalDeadChannelRecoveryAlgos< EBDetId > ebDeadChannelCorrector
edm::ESHandle< EcalChannelStatus > chStatus_
edm::ESHandle< EcalLaserDbService > laser
const EcalElectronicsMapping * ecalMapping_
bool checkChannelStatus(const DetId &id, const std::vector< int > &statusestoexclude)
std::set< DetId > recoveredDetIds_EB_