test
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 numNegativeNoiseChannels(void) const;
128  float NegativeNoiseSumE(void) const;
129  float NegativeNoiseSumEt(void) const;
130 
131  int GetRecHitCount(void) const;
132  int GetRecHitCount15(void) const;
133  double GetRecHitEnergy(void) const;
134  double GetRecHitEnergy15(void) const;
135 
136  double GetTotalCalibCharge(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 
167  // data members corresponding to the values above
191 
196  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
float NegativeNoiseSumEt(void) const
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
int numNegativeNoiseChannels(void) const
float min10GeVHitTime(void) const
float isolatedNoiseSumEt(void) const
float maxE2TS(void) const
float minE2Over10TS(void) const
bool goodJetFoundInLowBVRegion(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
bool HasBadRBXRechitR45Loose(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()
float NegativeNoiseSumE(void) const
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
bool HasBadRBXRechitR45Tight(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