CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

HBHENoiseFilterResultProducer Class Reference

Inheritance diagram for HBHENoiseFilterResultProducer:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 HBHENoiseFilterResultProducer (const edm::ParameterSet &)
 ~HBHENoiseFilterResultProducer ()

Private Member Functions

virtual void produce (edm::Event &, const edm::EventSetup &)

Private Attributes

edm::InputTag label_
double maxHighEHitTime_
double maxRatio_
double maxRBXEMF_
double minHighEHitTime_
int minHPDHits_
int minHPDNoOtherHits_
double minIsolatedNoiseSumE_
double minIsolatedNoiseSumEt_
int minNumIsolatedNoiseChannels_
double minRatio_
int minRBXHits_
int minZeros_
bool useTS4TS5_

Detailed Description

Description: Produces the result from the HBENoiseFilter

Implementation: Use the HcalNoiseSummary to make cuts on an event-by-event basis

Definition at line 39 of file HBHENoiseFilterResultProducer.cc.


Constructor & Destructor Documentation

HBHENoiseFilterResultProducer::HBHENoiseFilterResultProducer ( const edm::ParameterSet iConfig) [explicit]

Definition at line 67 of file HBHENoiseFilterResultProducer.cc.

References edm::ParameterSet::getParameter(), label_, maxHighEHitTime_, maxRatio_, maxRBXEMF_, minHighEHitTime_, minHPDHits_, minHPDNoOtherHits_, minIsolatedNoiseSumE_, minIsolatedNoiseSumEt_, minNumIsolatedNoiseChannels_, minRatio_, minRBXHits_, minZeros_, and useTS4TS5_.

{
  //now do what ever initialization is needed
  label_ = iConfig.getParameter<edm::InputTag>("label"),
  minRatio_ = iConfig.getParameter<double>("minRatio");
  maxRatio_ = iConfig.getParameter<double>("maxRatio");
  minHPDHits_ = iConfig.getParameter<int>("minHPDHits");
  minRBXHits_ = iConfig.getParameter<int>("minRBXHits");
  minHPDNoOtherHits_ = iConfig.getParameter<int>("minHPDNoOtherHits");
  minZeros_ = iConfig.getParameter<int>("minZeros");
  minHighEHitTime_ = iConfig.getParameter<double>("minHighEHitTime");
  maxHighEHitTime_ = iConfig.getParameter<double>("maxHighEHitTime");
  maxRBXEMF_ = iConfig.getParameter<double>("maxRBXEMF");
  minNumIsolatedNoiseChannels_ = iConfig.getParameter<int>("minNumIsolatedNoiseChannels");
  minIsolatedNoiseSumE_ = iConfig.getParameter<double>("minIsolatedNoiseSumE");
  minIsolatedNoiseSumEt_ = iConfig.getParameter<double>("minIsolatedNoiseSumEt");  
  useTS4TS5_ = iConfig.getParameter<bool>("useTS4TS5");

  produces<bool>("HBHENoiseFilterResult");
}
HBHENoiseFilterResultProducer::~HBHENoiseFilterResultProducer ( )

Definition at line 89 of file HBHENoiseFilterResultProducer.cc.

{

}

Member Function Documentation

void HBHENoiseFilterResultProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
) [private, virtual]

Implements edm::EDProducer.

Definition at line 101 of file HBHENoiseFilterResultProducer.cc.

References Exception, edm::Event::getByLabel(), label_, maxHighEHitTime_, maxRatio_, maxRBXEMF_, minHighEHitTime_, minHPDHits_, minHPDNoOtherHits_, minIsolatedNoiseSumE_, minIsolatedNoiseSumEt_, minNumIsolatedNoiseChannels_, minRatio_, minRBXHits_, minZeros_, edm::errors::ProductNotFound, edm::Event::put(), query::result, summarizeEdmComparisonLogfiles::summary, and useTS4TS5_.

{
   using namespace edm;

  // get the Noise summary object
  edm::Handle<HcalNoiseSummary> summary_h;
  iEvent.getByLabel(label_, summary_h);
  if(!summary_h.isValid()) {
    throw edm::Exception(edm::errors::ProductNotFound) << " could not find HcalNoiseSummary.\n";
    return;
  }
  const HcalNoiseSummary summary = *summary_h;

  bool result=true;

  if(summary.minE2Over10TS()<minRatio_) result=false;
  if(summary.maxE2Over10TS()>maxRatio_) result=false;
  if(summary.maxHPDHits()>=minHPDHits_) result=false;
  if(summary.maxRBXHits()>=minRBXHits_) result=false;
  if(summary.maxHPDNoOtherHits()>=minHPDNoOtherHits_) result=false;
  if(summary.maxZeros()>=minZeros_) result=false;
  if(summary.min25GeVHitTime()<minHighEHitTime_) result=false;
  if(summary.max25GeVHitTime()>maxHighEHitTime_) result=false;
  if(summary.minRBXEMF()<maxRBXEMF_) result=false;
  if(summary.numIsolatedNoiseChannels()>=minNumIsolatedNoiseChannels_) result=false;
  if(summary.isolatedNoiseSumE()>=minIsolatedNoiseSumE_) result=false;
  if(summary.isolatedNoiseSumEt()>=minIsolatedNoiseSumEt_) result=false;
  if(useTS4TS5_ == true && summary.HasBadRBXTS4TS5() == true) result = false;

  std::auto_ptr<bool> pOut(new bool);
  *pOut=result;

  iEvent.put(pOut, "HBHENoiseFilterResult");
  return;
}

Member Data Documentation

Definition at line 50 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 54 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 51 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 55 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 54 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 52 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 52 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 57 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 57 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 56 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 51 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 52 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 53 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().

Definition at line 59 of file HBHENoiseFilterResultProducer.cc.

Referenced by HBHENoiseFilterResultProducer(), and produce().