CMS 3D CMS Logo

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  friend class reco::HcalNoiseInfoProducer; // allows this class to fill the info
33 
34 public:
35  // constructor
37 
38  // destructor
39  virtual ~HcalNoiseSummary();
40 
41  // whether or not the event passed the event filter
42  // note that these methods are deprecated
43  // please see the instructions here: https://twiki.cern.ch/twiki/bin/view/CMS/HcalNoiseInfoLibrary
44  bool passLooseNoiseFilter(void) const;
45  bool passTightNoiseFilter(void) const;
46  bool passHighLevelNoiseFilter(void) const;
47 
48  // the status with which the filter failed: this is a bitset
49  // 0 is no failure
50  int noiseFilterStatus(void) const;
51 
52  // noise type: 1=HPD Ionfeedback, 2=HPD Discharge, 3=RBX Noise
53  // won't work with non-noise event
54  int noiseType(void) const;
55 
56  // quantities to calculate EM fraction and charge fraction
57  // of the event (|eta|<2.0)
58  float eventEMEnergy(void) const;
59  float eventHadEnergy(void) const;
60  float eventTrackEnergy(void) const;
61  float eventEMFraction(void) const;
62  float eventChargeFraction(void) const;
63 
64  // minimum/maximum/RMS rechit time
65  // rechit energy>10 GeV or 25 GeV
66  float min10GeVHitTime(void) const;
67  float max10GeVHitTime(void) const;
68  float rms10GeVHitTime(void) const;
69  float min25GeVHitTime(void) const;
70  float max25GeVHitTime(void) const;
71  float rms25GeVHitTime(void) const;
72 
73  // # of hits with E>10 GeV or 25 GeV
74  int num10GeVHits(void) const;
75  int num25GeVHits(void) const;
76 
77  // 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
78  // the total energy in the RBX must be > 50 GeV
79  float minE2TS(void) const;
80  float minE10TS(void) const;
81  float minE2Over10TS(void) const;
82  float maxE2TS(void) const;
83  float maxE10TS(void) const;
84  float maxE2Over10TS(void) const;
85 
86  // largest number of zeros found in a single RBX in the event
87  // total energy in the RBX must be > 10 GeV
88  int maxZeros(void) const;
89 
90  // largest number of hits in a single HPD/RBX in the event
91  // each hit is >= 1.5 GeV
92  int maxHPDHits(void) const;
93  int maxRBXHits(void) const;
94 
95  // largest number of hits in a single HPD when no other hits are present in the RBX
96  int maxHPDNoOtherHits(void) const;
97 
98  // smallest EMF found in an HPD/RBX in the event
99  // the total energy in the HPD/RBX must be >50 GeV
100  float minHPDEMF(void) const;
101  float minRBXEMF(void) const;
102 
103  // number of "problematic" RBXs
104  int numProblematicRBXs(void) const;
105 
106  int numIsolatedNoiseChannels(void) const;
107  float isolatedNoiseSumE(void) const;
108  float isolatedNoiseSumEt(void) const;
109 
110  int numFlatNoiseChannels(void) const;
111  float flatNoiseSumE(void) const;
112  float flatNoiseSumEt(void) const;
113 
114  int numSpikeNoiseChannels(void) const;
115  float spikeNoiseSumE(void) const;
116  float spikeNoiseSumEt(void) const;
117 
118  int numTriangleNoiseChannels(void) const;
119  float triangleNoiseSumE(void) const;
120  float triangleNoiseSumEt(void) const;
121 
122  int numTS4TS5NoiseChannels(void) const;
123  float TS4TS5NoiseSumE(void) const;
124  float TS4TS5NoiseSumEt(void) const;
125 
126  int numNegativeNoiseChannels(void) const;
127  float NegativeNoiseSumE(void) const;
128  float NegativeNoiseSumEt(void) const;
129 
130  int GetRecHitCount(void) const;
131  int GetRecHitCount15(void) const;
132  double GetRecHitEnergy(void) const;
133  double GetRecHitEnergy15(void) const;
134 
135  double GetTotalCalibCharge(void) const;
136  double GetLaserMonitorCharge(void) const;
137 
138  bool HasBadRBXTS4TS5(void) const;
139  bool HasBadRBXRechitR45Loose(void) const;
140  bool HasBadRBXRechitR45Tight(void) const;
141  bool goodJetFoundInLowBVRegion(void) const;
142 
143  double GetCalibChargeHF(void) const;
144  int GetCalibCountHF(void) const;
145 
146  // Get charge only in TS45
147  int GetCalibCountTS45(void) const; // get number of HBHE calibration channels
148  int GetCalibgt15CountTS45(void) const; // get number of HBHE calib channels > 15 fC
149  double GetCalibChargeTS45(void) const; // get Calib charge
150  double GetCalibgt15ChargeTS45(void) const; // get charge from all channels gt 15 fC
151 
152  int GetHitsInNonLaserRegion(void) const; // get number of channels in HBHE regions with no laser
153  int GetHitsInLaserRegion(void) const; // get number of channels in HBHE region where laser pulses are seen
154  double GetEnergyInNonLaserRegion(void) const; // get energy in region with no laser
155  double GetEnergyInLaserRegion(void) const; // get energy in non-laser region
156 
157  // reference to problematic jets
159 
160  // reference to calotowers which fail loose, tight, and high-level noise criteria
164 
165 private:
166  // data members corresponding to the values above
190 
195  double calibCharge_;
197 
202 
207 
208  int calibCountHF_; // calibration channels only in HF; no threshold used for determining HF noise
210 
215 
217 
221 };
222 
223 #endif
bool passHighLevelNoiseFilter(void) const
edm::RefVector< CaloTowerCollection > hlnoisetwrs_
int numProblematicRBXs(void) const
float maxE2TS(void) const
int numTS4TS5NoiseChannels(void) const
double GetCalibgt15ChargeTS45(void) const
double GetCalibChargeHF(void) const
float isolatedNoiseSumEt(void) const
float max25GeVHitTime(void) const
int noiseFilterStatus(void) const
double GetTotalCalibCharge(void) const
float minE2Over10TS(void) const
float max10GeVHitTime(void) const
float rms10GeVHitTime(void) const
edm::RefVector< reco::CaloJetCollection > problematicJets(void) const
int GetHitsInLaserRegion(void) const
float flatNoiseSumE(void) const
float spikeNoiseSumE(void) const
edm::RefVector< CaloTowerCollection > loosenoisetwrs_
bool HasBadRBXTS4TS5(void) const
int GetCalibCountTS45(void) const
int GetHitsInNonLaserRegion(void) const
int maxHPDNoOtherHits(void) const
float min25GeVHitTime(void) const
int num25GeVHits(void) const
float eventEMFraction(void) const
float TS4TS5NoiseSumEt(void) const
int num10GeVHits(void) const
float triangleNoiseSumEt(void) const
float NegativeNoiseSumE(void) const
bool HasBadRBXRechitR45Tight(void) const
float TS4TS5NoiseSumE(void) const
int numTriangleNoiseChannels(void) const
int GetCalibgt15CountTS45(void) const
bool passLooseNoiseFilter(void) const
float eventEMEnergy(void) const
int numIsolatedNoiseChannels(void) const
edm::RefVector< CaloTowerCollection > tightNoiseTowers(void) const
double GetEnergyInLaserRegion(void) const
float eventChargeFraction(void) const
float minE10TS(void) const
int maxZeros(void) const
int noiseType(void) const
float NegativeNoiseSumEt(void) const
double GetRecHitEnergy15(void) const
virtual ~HcalNoiseSummary()
edm::RefVector< reco::CaloJetCollection > problemjets_
int numFlatNoiseChannels(void) const
edm::RefVector< CaloTowerCollection > looseNoiseTowers(void) const
float maxE2Over10TS(void) const
bool goodJetFoundInLowBVRegion(void) const
bool passTightNoiseFilter(void) const
edm::RefVector< CaloTowerCollection > tightnoisetwrs_
float eventHadEnergy(void) const
float isolatedNoiseSumE(void) const
double GetCalibChargeTS45(void) const
bool HasBadRBXRechitR45Loose(void) const
double GetLaserMonitorCharge(void) const
edm::RefVector< CaloTowerCollection > highLevelNoiseTowers(void) const
double GetRecHitEnergy(void) const
float eventTrackEnergy(void) const
fixed size matrix
float minRBXEMF(void) const
float flatNoiseSumEt(void) const
int GetRecHitCount15(void) const
double energyInNonLaserRegion_
int maxHPDHits(void) const
int numSpikeNoiseChannels(void) const
float minE2TS(void) const
float maxE10TS(void) const
int GetCalibCountHF(void) const
float minHPDEMF(void) const
int GetRecHitCount(void) const
float triangleNoiseSumE(void) const
float min10GeVHitTime(void) const
int maxRBXHits(void) const
float spikeNoiseSumEt(void) const
float rms25GeVHitTime(void) const
double GetEnergyInNonLaserRegion(void) const
int numNegativeNoiseChannels(void) const