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 double GetCalibChargeHF(void) const;
00137 int GetCalibCountHF(void) const;
00138
00139
00140 int GetCalibCountTS45(void) const;
00141 int GetCalibgt15CountTS45(void) const;
00142 double GetCalibChargeTS45(void) const;
00143 double GetCalibgt15ChargeTS45(void) const;
00144
00145 int GetHitsInNonLaserRegion(void) const;
00146 int GetHitsInLaserRegion(void) const;
00147 double GetEnergyInNonLaserRegion(void) const;
00148 double GetEnergyInLaserRegion(void) const;
00149
00150
00151 edm::RefVector<reco::CaloJetCollection> problematicJets(void) const;
00152
00153
00154 edm::RefVector<CaloTowerCollection> looseNoiseTowers(void) const;
00155 edm::RefVector<CaloTowerCollection> tightNoiseTowers(void) const;
00156 edm::RefVector<CaloTowerCollection> highLevelNoiseTowers(void) const;
00157
00158 private:
00159
00160
00161 int filterstatus_, noisetype_;
00162 float emenergy_, hadenergy_, trackenergy_;
00163 float min10_, max10_, rms10_;
00164 float min25_, max25_, rms25_;
00165 int cnthit10_, cnthit25_;
00166 float mine2ts_, mine10ts_;
00167 float maxe2ts_, maxe10ts_;
00168 int maxzeros_;
00169 int maxhpdhits_, maxhpdhitsnoother_, maxrbxhits_;
00170 float minhpdemf_, minrbxemf_;
00171 int nproblemRBXs_;
00172 int nisolnoise_;
00173 float isolnoisee_, isolnoiseet_;
00174 int nflatnoise_;
00175 float flatnoisee_, flatnoiseet_;
00176 int nspikenoise_;
00177 float spikenoisee_, spikenoiseet_;
00178 int ntrianglenoise_;
00179 float trianglenoisee_, trianglenoiseet_;
00180 int nts4ts5noise_;
00181 float ts4ts5noisee_, ts4ts5noiseet_;
00182
00183 int rechitCount_;
00184 int rechitCount15_;
00185 double rechitEnergy_;
00186 double rechitEnergy15_;
00187 double calibCharge_;
00188
00189 bool hasBadRBXTS4TS5_;
00190
00191 int calibCountTS45_;
00192 int calibCountgt15TS45_;
00193 double calibChargeTS45_;
00194 double calibChargegt15TS45_;
00195
00196 int calibCountHF_;
00197 double calibChargeHF_;
00198
00199 int hitsInLaserRegion_;
00200 int hitsInNonLaserRegion_;
00201 double energyInLaserRegion_;
00202 double energyInNonLaserRegion_;
00203
00204 edm::RefVector<reco::CaloJetCollection> problemjets_;
00205
00206 edm::RefVector<CaloTowerCollection> loosenoisetwrs_;
00207 edm::RefVector<CaloTowerCollection> tightnoisetwrs_;
00208 edm::RefVector<CaloTowerCollection> hlnoisetwrs_;
00209
00210 };
00211
00212 #endif