CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalNoiseSummary.h
Go to the documentation of this file.
1 #ifndef _DATAFORMATS_METRECO_HCALNOISESUMMARY_H__
2 #define _DATAFORMATS_METRECO_HCALNOISESUMMARY_H__
3 
4 //
5 // HcalNoiseSummary.h
6 //
7 // description: Container class for HCAL noise summary information
8 //
9 // author: J.P. Chou, Brown
10 //
11 
18 
19 //
20 // forward declaration
21 //
22 
23 namespace reco {
24  class HcalNoiseInfoProducer;
25 }
26 
27 //
28 // class definition
29 //
30 
32 {
33  friend class reco::HcalNoiseInfoProducer; // allows this class to fill the info
34 
35  public:
36  // constructor
38 
39  // destructor
40  virtual ~HcalNoiseSummary();
41 
42  // whether or not the event passed the event filter
43  // note that these methods are deprecated
44  // please see the instructions here: https://twiki.cern.ch/twiki/bin/view/CMS/HcalNoiseInfoLibrary
45  bool passLooseNoiseFilter(void) const;
46  bool passTightNoiseFilter(void) const;
47  bool passHighLevelNoiseFilter(void) const;
48 
49  // the status with which the filter failed: this is a bitset
50  // 0 is no failure
51  int noiseFilterStatus(void) const;
52 
53  // noise type: 1=HPD Ionfeedback, 2=HPD Discharge, 3=RBX Noise
54  // won't work with non-noise event
55  int noiseType(void) const;
56 
57  // quantities to calculate EM fraction and charge fraction
58  // of the event (|eta|<2.0)
59  float eventEMEnergy(void) const;
60  float eventHadEnergy(void) const;
61  float eventTrackEnergy(void) const;
62  float eventEMFraction(void) const;
63  float eventChargeFraction(void) const;
64 
65  // minimum/maximum/RMS rechit time
66  // rechit energy>10 GeV or 25 GeV
67  float min10GeVHitTime(void) const;
68  float max10GeVHitTime(void) const;
69  float rms10GeVHitTime(void) const;
70  float min25GeVHitTime(void) const;
71  float max25GeVHitTime(void) const;
72  float rms25GeVHitTime(void) const;
73 
74  // # of hits with E>10 GeV or 25 GeV
75  int num10GeVHits(void) const;
76  int num25GeVHits(void) const;
77 
78  // E(2TS), E(10TS), and E(2TS)/E(10TS) for the minimum and maximum E(2TS)/E(10TS) found in an RBX in the event
79  // the total energy in the RBX must be > 50 GeV
80  float minE2TS(void) const;
81  float minE10TS(void) const;
82  float minE2Over10TS(void) const;
83  float maxE2TS(void) const;
84  float maxE10TS(void) const;
85  float maxE2Over10TS(void) const;
86 
87  // largest number of zeros found in a single RBX in the event
88  // total energy in the RBX must be > 10 GeV
89  int maxZeros(void) const;
90 
91  // largest number of hits in a single HPD/RBX in the event
92  // each hit is >= 1.5 GeV
93  int maxHPDHits(void) const;
94  int maxRBXHits(void) const;
95 
96  // largest number of hits in a single HPD when no other hits are present in the RBX
97  int maxHPDNoOtherHits(void) const;
98 
99  // smallest EMF found in an HPD/RBX in the event
100  // the total energy in the HPD/RBX must be >50 GeV
101  float minHPDEMF(void) const;
102  float minRBXEMF(void) const;
103 
104  // number of "problematic" RBXs
105  int numProblematicRBXs(void) const;
106 
107  int numIsolatedNoiseChannels(void) const;
108  float isolatedNoiseSumE(void) const;
109  float isolatedNoiseSumEt(void) const;
110 
111  int numFlatNoiseChannels(void) const;
112  float flatNoiseSumE(void) const;
113  float flatNoiseSumEt(void) const;
114 
115  int numSpikeNoiseChannels(void) const;
116  float spikeNoiseSumE(void) const;
117  float spikeNoiseSumEt(void) const;
118 
119  int numTriangleNoiseChannels(void) const;
120  float triangleNoiseSumE(void) const;
121  float triangleNoiseSumEt(void) const;
122 
123  int numTS4TS5NoiseChannels(void) const;
124  float TS4TS5NoiseSumE(void) const;
125  float TS4TS5NoiseSumEt(void) const;
126 
127  int GetRecHitCount(void) const;
128  int GetRecHitCount15(void) const;
129  double GetRecHitEnergy(void) const;
130  double GetRecHitEnergy15(void) const;
131 
132  double GetTotalCalibCharge(void) const;
133 
134  bool HasBadRBXTS4TS5(void) const;
135 
136  double GetCalibChargeHF(void) const;
137  int GetCalibCountHF(void) const;
138 
139  // Get charge only in TS45
140  int GetCalibCountTS45(void) const; // get number of HBHE calibration channels
141  int GetCalibgt15CountTS45(void) const; // get number of HBHE calib channels > 15 fC
142  double GetCalibChargeTS45(void) const; // get Calib charge
143  double GetCalibgt15ChargeTS45(void) const; // get charge from all channels gt 15 fC
144 
145  int GetHitsInNonLaserRegion(void) const; // get number of channels in HBHE regions with no laser
146  int GetHitsInLaserRegion(void) const; // get number of channels in HBHE region where laser pulses are seen
147  double GetEnergyInNonLaserRegion(void) const; // get energy in region with no laser
148  double GetEnergyInLaserRegion(void) const; // get energy in non-laser region
149 
150  // reference to problematic jets
152 
153  // reference to calotowers which fail loose, tight, and high-level noise criteria
157 
158  private:
159 
160  // data members corresponding to the values above
182 
187  double calibCharge_;
188 
190 
195 
196  int calibCountHF_; // calibration channels only in HF; no threshold used for determining HF noise
198 
203 
205 
209 
210 };
211 
212 #endif
int numSpikeNoiseChannels(void) const
edm::RefVector< CaloTowerCollection > hlnoisetwrs_
bool passTightNoiseFilter(void) const
float eventTrackEnergy(void) const
int GetCalibCountTS45(void) const
float eventEMFraction(void) const
float maxE10TS(void) const
int numIsolatedNoiseChannels(void) const
float TS4TS5NoiseSumEt(void) const
float spikeNoiseSumE(void) const
float maxE2Over10TS(void) const
edm::RefVector< CaloTowerCollection > loosenoisetwrs_
edm::RefVector< reco::CaloJetCollection > problematicJets(void) const
double GetEnergyInNonLaserRegion(void) const
double GetRecHitEnergy15(void) const
int GetHitsInNonLaserRegion(void) const
int GetRecHitCount15(void) const
int GetCalibCountHF(void) const
float min25GeVHitTime(void) const
float spikeNoiseSumEt(void) const
int numProblematicRBXs(void) const
int num25GeVHits(void) const
float eventChargeFraction(void) const
float min10GeVHitTime(void) const
float isolatedNoiseSumEt(void) const
float maxE2TS(void) const
float minE2Over10TS(void) const
int noiseType(void) const
int maxRBXHits(void) const
float flatNoiseSumE(void) const
double GetTotalCalibCharge(void) const
float TS4TS5NoiseSumE(void) const
int numFlatNoiseChannels(void) const
double GetCalibgt15ChargeTS45(void) const
int GetHitsInLaserRegion(void) const
bool HasBadRBXTS4TS5(void) const
edm::RefVector< CaloTowerCollection > tightNoiseTowers(void) const
int GetCalibgt15CountTS45(void) const
bool passHighLevelNoiseFilter(void) const
float minE2TS(void) const
bool passLooseNoiseFilter(void) const
float minHPDEMF(void) const
float rms10GeVHitTime(void) const
int noiseFilterStatus(void) const
double GetCalibChargeHF(void) const
float eventHadEnergy(void) const
float triangleNoiseSumEt(void) const
virtual ~HcalNoiseSummary()
edm::RefVector< reco::CaloJetCollection > problemjets_
float triangleNoiseSumE(void) const
int maxZeros(void) const
double GetEnergyInLaserRegion(void) const
edm::RefVector< CaloTowerCollection > tightnoisetwrs_
float rms25GeVHitTime(void) const
float isolatedNoiseSumE(void) const
double GetRecHitEnergy(void) const
float minE10TS(void) const
edm::RefVector< CaloTowerCollection > looseNoiseTowers(void) const
int maxHPDNoOtherHits(void) const
int numTS4TS5NoiseChannels(void) const
int numTriangleNoiseChannels(void) const
double energyInNonLaserRegion_
float minRBXEMF(void) const
float eventEMEnergy(void) const
edm::RefVector< CaloTowerCollection > highLevelNoiseTowers(void) const
int maxHPDHits(void) const
double GetCalibChargeTS45(void) const
int num10GeVHits(void) const
float flatNoiseSumEt(void) const
int GetRecHitCount(void) const
float max25GeVHitTime(void) const
float max10GeVHitTime(void) const