CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
HepMCFilterDriver Class Reference

#include <HepMCFilterDriver.h>

Public Member Functions

bool filter (const HepMC::GenEvent *evt, double weight=1.)
 
 HepMCFilterDriver (const edm::ParameterSet &)
 
unsigned int numEventsPassNeg () const
 
unsigned int numEventsPassPos () const
 
unsigned int numEventsTotalNeg () const
 
unsigned int numEventsTotalPos () const
 
void resetStatistics ()
 
void statistics () const
 
double sumpass_w () const
 
double sumpass_w2 () const
 
double sumtotal_w () const
 
double sumtotal_w2 () const
 
 ~HepMCFilterDriver ()
 

Private Attributes

BaseHepMCFilterfilter_
 
unsigned int numEventsPassNeg_
 
unsigned int numEventsPassPos_
 
unsigned int numEventsTotalNeg_
 
unsigned int numEventsTotalPos_
 
double sumpass_w2_
 
double sumpass_w_
 
double sumtotal_w2_
 
double sumtotal_w_
 

Detailed Description

Definition at line 18 of file HepMCFilterDriver.h.

Constructor & Destructor Documentation

HepMCFilterDriver::HepMCFilterDriver ( const edm::ParameterSet pset)

Definition at line 8 of file HepMCFilterDriver.cc.

References filter_, reco_skim_cfg_mod::filterName, edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

8  :
9  filter_(0),
14  sumpass_w_(0.),
15  sumpass_w2_(0.),
16  sumtotal_w_(0.),
17  sumtotal_w2_(0.)
18 {
19 
20  std::string filterName = pset.getParameter<std::string>("filterName");
21  edm::ParameterSet filterParameters = pset.getParameter<edm::ParameterSet>("filterParameters");
22 
23  if (filterName=="GenericDauHepMCFilter") {
24  filter_ = new GenericDauHepMCFilter(filterParameters);
25  }
26  else if (filterName=="PartonShowerBsHepMCFilter") {
27  filter_ = new PartonShowerBsHepMCFilter(filterParameters);
28  }
29  else {
30  edm::LogError("HepMCFilterDriver")<< "Invalid HepMCFilter name:" << filterName;
31  }
32 
33 }
T getParameter(std::string const &) const
unsigned int numEventsPassPos_
unsigned int numEventsTotalPos_
unsigned int numEventsPassNeg_
BaseHepMCFilter * filter_
unsigned int numEventsTotalNeg_
HepMCFilterDriver::~HepMCFilterDriver ( )

Definition at line 35 of file HepMCFilterDriver.cc.

References filter_.

36 {
37  if (filter_) delete filter_;
38 
39 }
BaseHepMCFilter * filter_

Member Function Documentation

bool HepMCFilterDriver::filter ( const HepMC::GenEvent *  evt,
double  weight = 1. 
)

Definition at line 41 of file HepMCFilterDriver.cc.

References BaseHepMCFilter::filter(), filter_, numEventsPassNeg_, numEventsPassPos_, numEventsTotalNeg_, numEventsTotalPos_, sumpass_w2_, sumpass_w_, sumtotal_w2_, sumtotal_w_, and puppiForMET_cff::weight.

42 {
43  if(weight>0)
45  else
47 
50 
51 
52  bool accepted = filter_->filter(evt);
53 
54  if (accepted) {
55 
56  if(weight>0)
58  else
60  sumpass_w_ += weight;
61  sumpass_w2_ += weight*weight;
62 
63  }
64 
65  return accepted;
66 }
unsigned int numEventsPassPos_
unsigned int numEventsTotalPos_
unsigned int numEventsPassNeg_
BaseHepMCFilter * filter_
unsigned int numEventsTotalNeg_
virtual bool filter(const HepMC::GenEvent *evt)=0
unsigned int HepMCFilterDriver::numEventsPassNeg ( ) const
inline

Definition at line 28 of file HepMCFilterDriver.h.

References numEventsPassNeg_.

28 {return numEventsPassNeg_;}
unsigned int numEventsPassNeg_
unsigned int HepMCFilterDriver::numEventsPassPos ( ) const
inline

Definition at line 27 of file HepMCFilterDriver.h.

References numEventsPassPos_.

27 {return numEventsPassPos_;}
unsigned int numEventsPassPos_
unsigned int HepMCFilterDriver::numEventsTotalNeg ( ) const
inline

Definition at line 30 of file HepMCFilterDriver.h.

References numEventsTotalNeg_.

30 {return numEventsTotalNeg_;}
unsigned int numEventsTotalNeg_
unsigned int HepMCFilterDriver::numEventsTotalPos ( ) const
inline

Definition at line 29 of file HepMCFilterDriver.h.

References numEventsTotalPos_.

29 {return numEventsTotalPos_;}
unsigned int numEventsTotalPos_
void HepMCFilterDriver::resetStatistics ( )

Definition at line 79 of file HepMCFilterDriver.cc.

References numEventsPassNeg_, numEventsPassPos_, numEventsTotalNeg_, numEventsTotalPos_, sumpass_w2_, sumpass_w_, sumtotal_w2_, and sumtotal_w_.

79  {
80 
85  sumpass_w_ = 0;
86  sumpass_w2_ = 0;
87  sumtotal_w_ = 0;
88  sumtotal_w2_ = 0;
89 
90 }
unsigned int numEventsPassPos_
unsigned int numEventsTotalPos_
unsigned int numEventsPassNeg_
unsigned int numEventsTotalNeg_
void HepMCFilterDriver::statistics ( ) const

Definition at line 68 of file HepMCFilterDriver.cc.

References numEventsPassNeg_, numEventsPassPos_, numEventsTotalNeg_, numEventsTotalPos_, sumpass_w_, and sumtotal_w_.

69 {
70 
71  unsigned int ntried_ = numEventsTotalPos_ + numEventsTotalNeg_;
72  unsigned int naccepted_ = numEventsPassPos_ + numEventsPassNeg_;
73  printf("ntried = %i, naccepted = %i, efficiency = %5f\n",ntried_,naccepted_,(double)naccepted_/(double)ntried_);
74  printf("weighttried = %5f, weightaccepted = %5f, efficiency = %5f\n",sumtotal_w_,sumpass_w_,sumpass_w_/sumtotal_w_);
75 
76 }
unsigned int numEventsPassPos_
unsigned int numEventsTotalPos_
unsigned int numEventsPassNeg_
unsigned int numEventsTotalNeg_
double HepMCFilterDriver::sumpass_w ( ) const
inline

Definition at line 31 of file HepMCFilterDriver.h.

References sumpass_w_.

31 {return sumpass_w_;}
double HepMCFilterDriver::sumpass_w2 ( ) const
inline

Definition at line 32 of file HepMCFilterDriver.h.

References sumpass_w2_.

32 {return sumpass_w2_;}
double HepMCFilterDriver::sumtotal_w ( ) const
inline

Definition at line 33 of file HepMCFilterDriver.h.

References sumtotal_w_.

33 {return sumtotal_w_;}
double HepMCFilterDriver::sumtotal_w2 ( ) const
inline

Definition at line 34 of file HepMCFilterDriver.h.

References sumtotal_w2_.

34 {return sumtotal_w2_;}

Member Data Documentation

BaseHepMCFilter* HepMCFilterDriver::filter_
private

Definition at line 37 of file HepMCFilterDriver.h.

Referenced by filter(), HepMCFilterDriver(), and ~HepMCFilterDriver().

unsigned int HepMCFilterDriver::numEventsPassNeg_
private

Definition at line 39 of file HepMCFilterDriver.h.

Referenced by filter(), numEventsPassNeg(), resetStatistics(), and statistics().

unsigned int HepMCFilterDriver::numEventsPassPos_
private

Definition at line 38 of file HepMCFilterDriver.h.

Referenced by filter(), numEventsPassPos(), resetStatistics(), and statistics().

unsigned int HepMCFilterDriver::numEventsTotalNeg_
private

Definition at line 41 of file HepMCFilterDriver.h.

Referenced by filter(), numEventsTotalNeg(), resetStatistics(), and statistics().

unsigned int HepMCFilterDriver::numEventsTotalPos_
private

Definition at line 40 of file HepMCFilterDriver.h.

Referenced by filter(), numEventsTotalPos(), resetStatistics(), and statistics().

double HepMCFilterDriver::sumpass_w2_
private

Definition at line 43 of file HepMCFilterDriver.h.

Referenced by filter(), resetStatistics(), and sumpass_w2().

double HepMCFilterDriver::sumpass_w_
private

Definition at line 42 of file HepMCFilterDriver.h.

Referenced by filter(), resetStatistics(), statistics(), and sumpass_w().

double HepMCFilterDriver::sumtotal_w2_
private

Definition at line 45 of file HepMCFilterDriver.h.

Referenced by filter(), resetStatistics(), and sumtotal_w2().

double HepMCFilterDriver::sumtotal_w_
private

Definition at line 44 of file HepMCFilterDriver.h.

Referenced by filter(), resetStatistics(), statistics(), and sumtotal_w().