Go to the documentation of this file.00001 #ifndef _DATAFORMATS_METRECO_HCALNOISESUMMARY_H__
00002 #define _DATAFORMATS_METRECO_HCALNOISESUMMARY_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "DataFormats/METReco/interface/HcalNoiseHPD.h"
00013 #include "DataFormats/Common/interface/RefVector.h"
00014 #include "DataFormats/Common/interface/Ref.h"
00015 #include "DataFormats/Common/interface/RefProd.h"
00016 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
00017 #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h"
00018
00019
00020
00021
00022
00023 namespace reco {
00024 class HcalNoiseInfoProducer;
00025 }
00026
00027
00028
00029
00030
00031 class HcalNoiseSummary
00032 {
00033 friend class reco::HcalNoiseInfoProducer;
00034
00035 public:
00036
00037 HcalNoiseSummary();
00038
00039
00040 virtual ~HcalNoiseSummary();
00041
00042
00043
00044
00045 bool passLooseNoiseFilter(void) const;
00046 bool passTightNoiseFilter(void) const;
00047 bool passHighLevelNoiseFilter(void) const;
00048
00049
00050
00051 int noiseFilterStatus(void) const;
00052
00053
00054
00055 int noiseType(void) const;
00056
00057
00058
00059 float eventEMEnergy(void) const;
00060 float eventHadEnergy(void) const;
00061 float eventTrackEnergy(void) const;
00062 float eventEMFraction(void) const;
00063 float eventChargeFraction(void) const;
00064
00065
00066
00067 float min10GeVHitTime(void) const;
00068 float max10GeVHitTime(void) const;
00069 float rms10GeVHitTime(void) const;
00070 float min25GeVHitTime(void) const;
00071 float max25GeVHitTime(void) const;
00072 float rms25GeVHitTime(void) const;
00073
00074
00075 int num10GeVHits(void) const;
00076 int num25GeVHits(void) const;
00077
00078
00079
00080 float minE2TS(void) const;
00081 float minE10TS(void) const;
00082 float minE2Over10TS(void) const;
00083 float maxE2TS(void) const;
00084 float maxE10TS(void) const;
00085 float maxE2Over10TS(void) const;
00086
00087
00088
00089 int maxZeros(void) const;
00090
00091
00092
00093 int maxHPDHits(void) const;
00094 int maxRBXHits(void) const;
00095
00096
00097 int maxHPDNoOtherHits(void) const;
00098
00099
00100
00101 float minHPDEMF(void) const;
00102 float minRBXEMF(void) const;
00103
00104
00105 int numProblematicRBXs(void) const;
00106
00107 int numIsolatedNoiseChannels(void) const;
00108 float isolatedNoiseSumE(void) const;
00109 float isolatedNoiseSumEt(void) const;
00110
00111 int numFlatNoiseChannels(void) const;
00112 float flatNoiseSumE(void) const;
00113 float flatNoiseSumEt(void) const;
00114
00115 int numSpikeNoiseChannels(void) const;
00116 float spikeNoiseSumE(void) const;
00117 float spikeNoiseSumEt(void) const;
00118
00119 int numTriangleNoiseChannels(void) const;
00120 float triangleNoiseSumE(void) const;
00121 float triangleNoiseSumEt(void) const;
00122
00123 int numTS4TS5NoiseChannels(void) const;
00124 float TS4TS5NoiseSumE(void) const;
00125 float TS4TS5NoiseSumEt(void) const;
00126
00127 int GetRecHitCount(void) const;
00128 int GetRecHitCount15(void) const;
00129 double GetRecHitEnergy(void) const;
00130 double GetRecHitEnergy15(void) const;
00131
00132 double GetTotalCalibCharge(void) const;
00133
00134 bool HasBadRBXTS4TS5(void) const;
00135
00136
00137 int GetCalibCountTS45(void) const;
00138 int GetCalibgt15CountTS45(void) const;
00139 double GetCalibChargeTS45(void) const;
00140 double GetCalibgt15ChargeTS45(void) const;
00141
00142 int GetHitsInNonLaserRegion(void) const;
00143 int GetHitsInLaserRegion(void) const;
00144 double GetEnergyInNonLaserRegion(void) const;
00145 double GetEnergyInLaserRegion(void) const;
00146
00147
00148 edm::RefVector<reco::CaloJetCollection> problematicJets(void) const;
00149
00150
00151 edm::RefVector<CaloTowerCollection> looseNoiseTowers(void) const;
00152 edm::RefVector<CaloTowerCollection> tightNoiseTowers(void) const;
00153 edm::RefVector<CaloTowerCollection> highLevelNoiseTowers(void) const;
00154
00155 private:
00156
00157
00158 int filterstatus_, noisetype_;
00159 float emenergy_, hadenergy_, trackenergy_;
00160 float min10_, max10_, rms10_;
00161 float min25_, max25_, rms25_;
00162 int cnthit10_, cnthit25_;
00163 float mine2ts_, mine10ts_;
00164 float maxe2ts_, maxe10ts_;
00165 int maxzeros_;
00166 int maxhpdhits_, maxhpdhitsnoother_, maxrbxhits_;
00167 float minhpdemf_, minrbxemf_;
00168 int nproblemRBXs_;
00169 int nisolnoise_;
00170 float isolnoisee_, isolnoiseet_;
00171 int nflatnoise_;
00172 float flatnoisee_, flatnoiseet_;
00173 int nspikenoise_;
00174 float spikenoisee_, spikenoiseet_;
00175 int ntrianglenoise_;
00176 float trianglenoisee_, trianglenoiseet_;
00177 int nts4ts5noise_;
00178 float ts4ts5noisee_, ts4ts5noiseet_;
00179
00180 int rechitCount_;
00181 int rechitCount15_;
00182 double rechitEnergy_;
00183 double rechitEnergy15_;
00184 double calibCharge_;
00185
00186 bool hasBadRBXTS4TS5_;
00187
00188 int calibCountTS45_;
00189 int calibCountgt15TS45_;
00190 double calibChargeTS45_;
00191 double calibChargegt15TS45_;
00192
00193 int hitsInLaserRegion_;
00194 int hitsInNonLaserRegion_;
00195 double energyInLaserRegion_;
00196 double energyInNonLaserRegion_;
00197
00198 edm::RefVector<reco::CaloJetCollection> problemjets_;
00199
00200 edm::RefVector<CaloTowerCollection> loosenoisetwrs_;
00201 edm::RefVector<CaloTowerCollection> tightnoisetwrs_;
00202 edm::RefVector<CaloTowerCollection> hlnoisetwrs_;
00203
00204 };
00205
00206 #endif