CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/DataFormats/METReco/src/HcalNoiseSummary.cc

Go to the documentation of this file.
00001 //
00002 // HcalNoiseSummary.cc
00003 //
00004 //    description: implementation of container class of HCAL noise summary
00005 //
00006 //    author: J.P. Chou, Brown
00007 //
00008 
00009 
00010 #include "DataFormats/METReco/interface/HcalNoiseSummary.h"
00011 
00012 // default constructor
00013 HcalNoiseSummary::HcalNoiseSummary()
00014   : filterstatus_(0), noisetype_(0), emenergy_(0.0), hadenergy_(0.0), trackenergy_(0.0),
00015     min10_(999999.), max10_(-999999.), rms10_(0.0),
00016     min25_(999999.), max25_(-999999.), rms25_(0.0),
00017     cnthit10_(0), cnthit25_(0),
00018     mine2ts_(0.), mine10ts_(0.),
00019     maxe2ts_(0.), maxe10ts_(0.),
00020     maxzeros_(0),
00021     maxhpdhits_(0), maxhpdhitsnoother_(0), maxrbxhits_(0),
00022     minhpdemf_(999999.), minrbxemf_(999999.),
00023     nproblemRBXs_(0),
00024     nisolnoise_(0), isolnoisee_(0), isolnoiseet_(0)
00025 {
00026 }
00027 
00028 // destructor
00029 HcalNoiseSummary::~HcalNoiseSummary()
00030 {
00031 }
00032 
00033 // accessors
00034 bool HcalNoiseSummary::passLooseNoiseFilter(void) const
00035 {
00036   return (filterstatus_ & 0xFF)==0;
00037 }
00038 
00039 bool HcalNoiseSummary::passTightNoiseFilter(void) const
00040 {
00041   return (filterstatus_ & 0xFF00)==0;
00042 }
00043 
00044 bool HcalNoiseSummary::passHighLevelNoiseFilter(void) const
00045 {
00046   return (filterstatus_ & 0xFF0000)==0;
00047 }
00048 
00049 int HcalNoiseSummary::noiseType(void) const
00050 {
00051   if(maxRBXHits()>18) return 3;
00052   else if(maxRBXHits()>8) return 2;
00053   return 1;
00054 }
00055 
00056 int HcalNoiseSummary::noiseFilterStatus(void) const
00057 {
00058   return filterstatus_;
00059 }
00060 
00061 float HcalNoiseSummary::eventEMEnergy(void) const
00062 {
00063   return emenergy_;
00064 }
00065 
00066 float HcalNoiseSummary::eventHadEnergy(void) const
00067 {
00068   return hadenergy_;
00069 }
00070 
00071 float HcalNoiseSummary::eventTrackEnergy(void) const
00072 {
00073   return trackenergy_;
00074 }
00075 
00076 float HcalNoiseSummary::eventEMFraction(void) const
00077 {
00078   if(hadenergy_+emenergy_==0.0) return -999.;
00079   else return emenergy_/(hadenergy_+emenergy_);
00080 }
00081 
00082 float HcalNoiseSummary::eventChargeFraction(void) const
00083 {
00084   if(hadenergy_+emenergy_==0.0) return -999.;
00085   else return trackenergy_/(hadenergy_+emenergy_);
00086 }
00087 
00088 float HcalNoiseSummary::min10GeVHitTime(void) const
00089 {
00090   return min10_;
00091 }
00092 
00093 float HcalNoiseSummary::max10GeVHitTime(void) const
00094 {
00095   return max10_;
00096 }
00097 
00098 float HcalNoiseSummary::rms10GeVHitTime(void) const
00099 {
00100   return cnthit10_>0 ? std::sqrt(rms10_/cnthit10_) : 999;
00101 }
00102 
00103 float HcalNoiseSummary::min25GeVHitTime(void) const
00104 {
00105   return min25_;
00106 }
00107  
00108 float HcalNoiseSummary::max25GeVHitTime(void) const
00109 {
00110   return max25_;
00111 }
00112  
00113 float HcalNoiseSummary::rms25GeVHitTime(void) const
00114 {
00115   return cnthit25_>0 ? std::sqrt(rms25_/cnthit25_) : 999;
00116 }
00117 
00118 int HcalNoiseSummary::num10GeVHits(void) const
00119 {
00120   return cnthit10_;
00121 }
00122 
00123 int HcalNoiseSummary::num25GeVHits(void) const
00124 {
00125   return cnthit25_;
00126 }
00127 
00128 float HcalNoiseSummary::minE2TS(void) const
00129 {
00130   return mine2ts_;
00131 }
00132 
00133 float HcalNoiseSummary::minE10TS(void) const
00134 {
00135   return mine10ts_;
00136 }
00137 
00138 float HcalNoiseSummary::minE2Over10TS(void) const
00139 {
00140   return mine10ts_==0 ? 999999. : mine2ts_/mine10ts_;
00141 }
00142 
00143 float HcalNoiseSummary::maxE2TS(void) const
00144 {
00145   return maxe2ts_;
00146 }
00147 
00148 float HcalNoiseSummary::maxE10TS(void) const
00149 {
00150   return maxe10ts_;
00151 }
00152 
00153 float HcalNoiseSummary::maxE2Over10TS(void) const
00154 {
00155   return maxe10ts_==0 ? -999999. : maxe2ts_/maxe10ts_;
00156 }
00157 
00158 int HcalNoiseSummary::maxZeros(void) const
00159 {
00160   return maxzeros_;
00161 }
00162 
00163 int HcalNoiseSummary::maxHPDHits(void) const
00164 {
00165   return maxhpdhits_;
00166 }
00167 
00168 int HcalNoiseSummary::maxHPDNoOtherHits(void) const
00169 {
00170   return maxhpdhitsnoother_;
00171 }
00172 
00173 int HcalNoiseSummary::maxRBXHits(void) const
00174 {
00175   return maxrbxhits_;
00176 }
00177 
00178 float HcalNoiseSummary::minHPDEMF(void) const
00179 {
00180   return minhpdemf_;
00181 }
00182 
00183 float HcalNoiseSummary::minRBXEMF(void) const
00184 {
00185   return minrbxemf_;
00186 }
00187 
00188 int HcalNoiseSummary::numProblematicRBXs(void) const
00189 {
00190   return nproblemRBXs_;
00191 }
00192 
00193 int HcalNoiseSummary::numIsolatedNoiseChannels(void) const
00194 {
00195   return nisolnoise_;
00196 }
00197 
00198 float HcalNoiseSummary::isolatedNoiseSumE(void) const
00199 {
00200   return isolnoisee_;
00201 }
00202 
00203 float HcalNoiseSummary::isolatedNoiseSumEt(void) const
00204 {
00205   return isolnoiseet_;
00206 }
00207 
00208 edm::RefVector<reco::CaloJetCollection> HcalNoiseSummary::problematicJets(void) const
00209 {
00210   return problemjets_;
00211 }
00212 
00213 edm::RefVector<CaloTowerCollection> HcalNoiseSummary::looseNoiseTowers(void) const
00214 {
00215   return loosenoisetwrs_;
00216 }
00217 
00218 edm::RefVector<CaloTowerCollection> HcalNoiseSummary::tightNoiseTowers(void) const
00219 {
00220   return tightnoisetwrs_;
00221 }
00222 
00223 edm::RefVector<CaloTowerCollection> HcalNoiseSummary::highLevelNoiseTowers(void) const
00224 {
00225   return hlnoisetwrs_;
00226 }