CMS 3D CMS Logo

PFCTRecHitProducer.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFClusterProducer_PFCTRecHitProducer_h_
2 #define RecoParticleFlow_PFClusterProducer_PFCTRecHitProducer_h_
3 
4 // system include files
5 #include <memory>
6 #include <vector>
7 
8 // user include files
11 
14 
16 
18 
24 
30 
33 class DetId;
34 
36 public:
37  explicit PFCTRecHitProducer(const edm::ParameterSet&);
38  ~PFCTRecHitProducer() override;
39 
40  void beginLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup& es) override;
41 
42  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
43 
44  reco::PFRecHit* createHcalRecHit(const DetId& detid,
45  double energy,
46  PFLayer::Layer layer,
48  const CaloTowerDetId& newDetId);
49 
50 protected:
57 
58  // ----------access to event data
62 
64  double thresh_HF_;
65 
66  // Navigation in HF: False = no real clustering in HF; True = do clustering
68  double weight_HFem_;
69  double weight_HFhad_;
70 
71  // Apply HCAL DPG rechit calibration
73  bool HF_Calib_;
75  float HF_Calib_29;
76 
77  // Don't allow large energy in short fibres if there is no energy in long fibres
80 
81  // Don't allow large energy in long fibres if there is no energy in short fibres
82  double longFibre_Cut;
84 
85  // Also apply HCAL DPG cleaning
87 
88  // Don't allow too large timing excursion if energy in long/short fibres is large enough
94 
101 
105 
106  // Compensate for dead ECAL channels
110  unsigned int ECAL_Dead_Code_;
111 
112  // Depth correction for EM and HAD rechits in the HF
113  double EM_Depth_;
114  double HAD_Depth_;
115 
118 
119  std::unique_ptr<PFRecHitNavigatorBase> navigator_;
120 };
121 
124 
125 #endif
unsigned int ECAL_Dead_Code_
double thresh_HF_
threshold for HF
edm::EDGetTokenT< HBHERecHitCollection > hcalToken_
edm::EDGetTokenT< CaloTowerCollection > towersToken_
edm::EDGetTokenT< HFRecHitCollection > hfToken_
int iEvent
Definition: GenABIO.cc:224
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
Definition: PFRecHit.h:31
const HcalChannelQuality * theHcalChStatus
const CaloTowerConstituentsMap * theTowerConstituentsMap
Layer
layer definition
Definition: PFLayer.h:29
#define dso_hidden
Definition: Visibility.h:12
Definition: DetId.h:17
const HcalTopology * theHcalTopology
std::unique_ptr< PFRecHitNavigatorBase > navigator_
const EcalChannelStatus * theEcalChStatus