CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalNoiseInfoProducer.h
Go to the documentation of this file.
1 #ifndef _RECOMET_METPRODUCER_HCALNOISEINFOPRODUCER_H_
2 #define _RECOMET_METPRODUCER_HCALNOISEINFOPRODUCER_H_
3 
4 //
5 // HcalNoiseInfoProducer.h
6 //
7 // description: Definition of the producer for the HCAL noise information.
8 // Uses various algorithms to process digis, rechits, and calotowers
9 // and produce a vector of HcalNoiseRBXs.
10 // To minimize the time used to sort the data into HPD/RBX space, we fill
11 // an rbxarray of size 72, and then pick which rbxs are interesting at
12 // the end.
13 //
14 // author: J.P. Chou, Brown
15 //
16 
17 // system include files
18 #include <memory>
19 
20 // user include files
26 
30 
31 
32 namespace reco {
33 
34  //
35  // class declaration
36  //
37 
39  public:
42 
43  private:
44 
45  //
46  // methods inherited from EDProducer
47  // produce(...) fills an HcalNoiseRBXArray with information from various places, and then
48  // picks which rbxs are interesting, storing them to the EDM.
49  //
50 
51  virtual void beginJob() ;
52  virtual void endJob() ;
53  virtual void produce(edm::Event&, const edm::EventSetup&);
54  virtual void beginRun(edm::Run&, const edm::EventSetup&);
55  virtual void endRun(edm::Run&, const edm::EventSetup&);
56 
57  //
58  // more internal methods
59  // fills an HcalNoiseRBXArray with various data
60  // filldigis() depends on fillrechits() being called first
61  //
66 
67  // other helper functions
69 
70 
71  //
72  // parameters
73  //
74 
75  bool fillDigis_; // fill digi information into HcalNoiseRBXs
76  bool fillRecHits_; // fill rechit information into HcalNoiseRBXs and HcalNoiseSummary
77  bool fillCaloTowers_; // fill calotower information into HcalNoiseRBXs and HcalNoiseSummary
78  bool fillTracks_; // fill track information into HcalNoiseSummary
79 
80  // These provide the requirements for writing an RBX to the event
81  int maxProblemRBXs_; // maximum number of problematic RBXs to be written to the event record
82 
83  // parameters for calculating summary variables
84  int maxCaloTowerIEta_; // maximum caloTower ieta
85  double maxTrackEta_; // maximum eta of the track
86  double minTrackPt_; // minimum track Pt
87 
88  std::string digiCollName_; // name of the digi collection
89  std::string recHitCollName_; // name of the rechit collection
90  std::string caloTowerCollName_; // name of the caloTower collection
91  std::string trackCollName_; // name of the track collection
92 
93  double minRecHitE_, minLowHitE_, minHighHitE_; // parameters used to determine noise status
94  HcalNoiseAlgo algo_; // algorithms to determine if an RBX is noisy
95 
97  std::vector<std::pair<double, double> > TS4TS5UpperCut_;
98  std::vector<std::pair<double, double> > TS4TS5LowerCut_;
99 
101 
102  };
103 
104 } // end of namespace
105 
106 #endif
void fillrechits(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &, HcalNoiseSummary &) const
std::vector< std::pair< double, double > > TS4TS5LowerCut_
void filldigis(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &) const
void fillcalotwrs(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &, HcalNoiseSummary &) const
virtual void beginRun(edm::Run &, const edm::EventSetup &)
virtual void endRun(edm::Run &, const edm::EventSetup &)
std::vector< std::pair< double, double > > TS4TS5UpperCut_
virtual void produce(edm::Event &, const edm::EventSetup &)
void filltracks(edm::Event &, const edm::EventSetup &, HcalNoiseSummary &) const
HcalNoiseInfoProducer(const edm::ParameterSet &)
void fillOtherSummaryVariables(HcalNoiseSummary &summary, const CommonHcalNoiseRBXData &data) const
Definition: Run.h:32