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 edm::RefVector<reco::CaloJetCollection> problematicJets(void) const;
00138
00139
00140 edm::RefVector<CaloTowerCollection> looseNoiseTowers(void) const;
00141 edm::RefVector<CaloTowerCollection> tightNoiseTowers(void) const;
00142 edm::RefVector<CaloTowerCollection> highLevelNoiseTowers(void) const;
00143
00144 private:
00145
00146
00147 int filterstatus_, noisetype_;
00148 float emenergy_, hadenergy_, trackenergy_;
00149 float min10_, max10_, rms10_;
00150 float min25_, max25_, rms25_;
00151 int cnthit10_, cnthit25_;
00152 float mine2ts_, mine10ts_;
00153 float maxe2ts_, maxe10ts_;
00154 int maxzeros_;
00155 int maxhpdhits_, maxhpdhitsnoother_, maxrbxhits_;
00156 float minhpdemf_, minrbxemf_;
00157 int nproblemRBXs_;
00158 int nisolnoise_;
00159 float isolnoisee_, isolnoiseet_;
00160 int nflatnoise_;
00161 float flatnoisee_, flatnoiseet_;
00162 int nspikenoise_;
00163 float spikenoisee_, spikenoiseet_;
00164 int ntrianglenoise_;
00165 float trianglenoisee_, trianglenoiseet_;
00166 int nts4ts5noise_;
00167 float ts4ts5noisee_, ts4ts5noiseet_;
00168
00169 int rechitCount_;
00170 int rechitCount15_;
00171 double rechitEnergy_;
00172 double rechitEnergy15_;
00173 double calibCharge_;
00174
00175 bool hasBadRBXTS4TS5_;
00176
00177 edm::RefVector<reco::CaloJetCollection> problemjets_;
00178
00179 edm::RefVector<CaloTowerCollection> loosenoisetwrs_;
00180 edm::RefVector<CaloTowerCollection> tightnoisetwrs_;
00181 edm::RefVector<CaloTowerCollection> hlnoisetwrs_;
00182
00183 };
00184
00185 #endif