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 6 of file HepMCFilterDriver.cc.

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

6  :
7  filter_(0),
12  sumpass_w_(0.),
13  sumpass_w2_(0.),
14  sumtotal_w_(0.),
15  sumtotal_w2_(0.)
16 {
17 
18  std::string filterName = pset.getParameter<std::string>("filterName");
19  edm::ParameterSet filterParameters = pset.getParameter<edm::ParameterSet>("filterParameters");
20 
21  if (filterName=="GenericDauHepMCFilter") {
22  filter_ = new GenericDauHepMCFilter(filterParameters);
23  }
24  else {
25  edm::LogError("HepMCFilterDriver")<< "Invalid HepMCFilter name:" << filterName;
26  }
27 
28 }
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 30 of file HepMCFilterDriver.cc.

References filter_.

31 {
32  if (filter_) delete filter_;
33 
34 }
BaseHepMCFilter * filter_

Member Function Documentation

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

Definition at line 36 of file HepMCFilterDriver.cc.

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

37 {
38  if(weight>0)
40  else
42 
45 
46 
47  bool accepted = filter_->filter(evt);
48 
49  if (accepted) {
50 
51  if(weight>0)
53  else
55  sumpass_w_ += weight;
56  sumpass_w2_ += weight*weight;
57 
58  }
59 
60  return accepted;
61 }
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 74 of file HepMCFilterDriver.cc.

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

74  {
75 
80  sumpass_w_ = 0;
81  sumpass_w2_ = 0;
82  sumtotal_w_ = 0;
83  sumtotal_w2_ = 0;
84 
85 }
unsigned int numEventsPassPos_
unsigned int numEventsTotalPos_
unsigned int numEventsPassNeg_
unsigned int numEventsTotalNeg_
void HepMCFilterDriver::statistics ( ) const

Definition at line 63 of file HepMCFilterDriver.cc.

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

64 {
65 
66  unsigned int ntried_ = numEventsTotalPos_ + numEventsTotalNeg_;
67  unsigned int naccepted_ = numEventsPassPos_ + numEventsPassNeg_;
68  printf("ntried = %i, naccepted = %i, efficiency = %5f\n",ntried_,naccepted_,(double)naccepted_/(double)ntried_);
69  printf("weighttried = %5f, weightaccepted = %5f, efficiency = %5f\n",sumtotal_w_,sumpass_w_,sumpass_w_/sumtotal_w_);
70 
71 }
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().