CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
GenFilterInfo Class Reference

#include <GenFilterInfo.h>

Public Member Functions

double filterEfficiency (int idwtup=+3) const
 
double filterEfficiencyError (int idwtup=+3) const
 
 GenFilterInfo ()
 
 GenFilterInfo (unsigned int, unsigned int)
 
 GenFilterInfo (unsigned int, unsigned int, unsigned int, unsigned int, double, double, double, double)
 
 GenFilterInfo (const GenFilterInfo &)
 
bool mergeProduct (GenFilterInfo const &other)
 
unsigned int numEventsPassed () const
 
unsigned int numEventsTotal () const
 
unsigned int numEventsTried () const
 
unsigned int numPassNegativeEvents () const
 
unsigned int numPassPositiveEvents () const
 
unsigned int numTotalNegativeEvents () const
 
unsigned int numTotalPositiveEvents () const
 
double sumFailWeights () const
 
double sumFailWeights2 () const
 
double sumPassWeights () const
 
double sumPassWeights2 () const
 
double sumWeights () const
 
double sumWeights2 () const
 
void swap (GenFilterInfo &other)
 
virtual ~GenFilterInfo ()
 

Private Attributes

unsigned int numPassNegativeEvents_
 
unsigned int numPassPositiveEvents_
 
unsigned int numTotalNegativeEvents_
 
unsigned int numTotalPositiveEvents_
 
double sumPassWeights2_
 
double sumPassWeights_
 
double sumTotalWeights2_
 
double sumTotalWeights_
 

Detailed Description

Definition at line 11 of file GenFilterInfo.h.

Constructor & Destructor Documentation

GenFilterInfo::GenFilterInfo ( )

Definition at line 12 of file GenFilterInfo.cc.

12  :
17  sumPassWeights_(0.),
18  sumPassWeights2_(0.),
19  sumTotalWeights_(0.),
21 {
22 }
double sumTotalWeights_
Definition: GenFilterInfo.h:58
unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:54
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:52
double sumPassWeights_
Definition: GenFilterInfo.h:56
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:51
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:53
double sumTotalWeights2_
Definition: GenFilterInfo.h:59
double sumPassWeights2_
Definition: GenFilterInfo.h:57
GenFilterInfo::GenFilterInfo ( unsigned int  tried,
unsigned int  pass 
)

Definition at line 24 of file GenFilterInfo.cc.

24  :
29  sumPassWeights_(pass),
30  sumPassWeights2_(pass),
33 {
34 }
double sumTotalWeights_
Definition: GenFilterInfo.h:58
unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:54
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:52
double sumPassWeights_
Definition: GenFilterInfo.h:56
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:51
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:53
double sumTotalWeights2_
Definition: GenFilterInfo.h:59
double sumPassWeights2_
Definition: GenFilterInfo.h:57
GenFilterInfo::GenFilterInfo ( unsigned int  passp,
unsigned int  passn,
unsigned int  totalp,
unsigned int  totaln,
double  passw,
double  passw2,
double  totalw,
double  totalw2 
)

Definition at line 36 of file GenFilterInfo.cc.

37  :
42  sumPassWeights_(passw),
43  sumPassWeights2_(passw2),
44  sumTotalWeights_(totalw),
45  sumTotalWeights2_(totalw2)
46 {
47 }
double sumTotalWeights_
Definition: GenFilterInfo.h:58
unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:54
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:52
double sumPassWeights_
Definition: GenFilterInfo.h:56
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:51
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:53
double sumTotalWeights2_
Definition: GenFilterInfo.h:59
double sumPassWeights2_
Definition: GenFilterInfo.h:57
GenFilterInfo::GenFilterInfo ( const GenFilterInfo other)

Definition at line 49 of file GenFilterInfo.cc.

GenFilterInfo::~GenFilterInfo ( )
virtual

Definition at line 61 of file GenFilterInfo.cc.

62 {
63 }

Member Function Documentation

double GenFilterInfo::filterEfficiency ( int  idwtup = +3) const

Definition at line 94 of file GenFilterInfo.cc.

References numEventsPassed(), numEventsTotal(), sumPassWeights(), and sumWeights().

Referenced by GenFilterEfficiencyAnalyzer::endJob(), GenXSecAnalyzer::endJob(), GenFilterEfficiencyAnalyzer::endLuminosityBlock(), GenXSecAnalyzer::endRun(), and sumWeights2().

94  {
95  double eff = -1;
96  switch(idwtup) {
97  case 3: case -3:
98  eff = numEventsTotal() > 0 ? (double) numEventsPassed() / (double) numEventsTotal(): -1;
99  break;
100  default:
101  eff = sumWeights() > 0? sumPassWeights()/sumWeights(): -1;
102  break;
103  }
104  return eff;
105 
106 }
double sumPassWeights() const
Definition: GenFilterInfo.h:34
unsigned int numEventsPassed() const
Definition: GenFilterInfo.h:24
unsigned int numEventsTotal() const
Definition: GenFilterInfo.h:25
double sumWeights() const
Definition: GenFilterInfo.h:40
double GenFilterInfo::filterEfficiencyError ( int  idwtup = +3) const

Definition at line 108 of file GenFilterInfo.cc.

References pfDeepCMVADiscriminatorsJetTags_cfi::denominator, pfDeepCMVADiscriminatorsJetTags_cfi::numerator, numEventsTotal(), numPassNegativeEvents(), numPassPositiveEvents(), numTotalNegativeEvents(), numTotalPositiveEvents(), mathSSE::sqrt(), sumFailWeights(), sumFailWeights2(), sumPassWeights(), sumPassWeights2(), and sumWeights().

Referenced by GenFilterEfficiencyAnalyzer::endJob(), GenXSecAnalyzer::endJob(), GenFilterEfficiencyAnalyzer::endLuminosityBlock(), GenXSecAnalyzer::endRun(), and sumWeights2().

108  {
109 
110  double efferr = -1;
111  switch(idwtup) {
112  case 3: case -3:
113  {
114  double effp = numTotalPositiveEvents() > 0?
115  (double)numPassPositiveEvents()/(double)numTotalPositiveEvents():0;
116  double effp_err2 = numTotalPositiveEvents() > 0?
117  (1-effp)*effp/(double)numTotalPositiveEvents(): 0;
118 
119  double effn = numTotalNegativeEvents() > 0?
120  (double)numPassNegativeEvents()/(double)numTotalNegativeEvents():0;
121  double effn_err2 = numTotalNegativeEvents() > 0?
122  (1-effn)*effn/(double)numTotalNegativeEvents(): 0;
123 
124  efferr = numEventsTotal() > 0 ? sqrt (
125  ((double)numTotalPositiveEvents()*(double)numTotalPositiveEvents()*effp_err2 +
126  (double)numTotalNegativeEvents()*(double)numTotalNegativeEvents()*effn_err2)
127  /(double)numEventsTotal()/(double)numEventsTotal()
128  ) : -1;
129  break;
130  }
131  default:
132  {
134  double numerator =
137  efferr = denominator>0?
138  sqrt(numerator/denominator):-1;
139  break;
140  }
141  }
142 
143  return efferr;
144 }
unsigned int numTotalPositiveEvents() const
Definition: GenFilterInfo.h:28
double sumFailWeights2() const
Definition: GenFilterInfo.h:38
double sumPassWeights() const
Definition: GenFilterInfo.h:34
T sqrt(T t)
Definition: SSEVec.h:18
unsigned int numTotalNegativeEvents() const
Definition: GenFilterInfo.h:31
unsigned int numEventsTotal() const
Definition: GenFilterInfo.h:25
double sumFailWeights() const
Definition: GenFilterInfo.h:37
unsigned int numPassPositiveEvents() const
Definition: GenFilterInfo.h:27
double sumPassWeights2() const
Definition: GenFilterInfo.h:35
double sumWeights() const
Definition: GenFilterInfo.h:40
unsigned int numPassNegativeEvents() const
Definition: GenFilterInfo.h:30
bool GenFilterInfo::mergeProduct ( GenFilterInfo const &  other)

Definition at line 65 of file GenFilterInfo.cc.

References numPassNegativeEvents_, numPassPositiveEvents_, numTotalNegativeEvents_, numTotalPositiveEvents_, sumPassWeights2_, sumPassWeights_, sumTotalWeights2_, and sumTotalWeights_.

Referenced by GenFilterEfficiencyAnalyzer::endLuminosityBlock(), GenXSecAnalyzer::endLuminosityBlock(), and sumWeights2().

66 {
67  // merging two GenFilterInfos means that the numerator and
68  // denominator from the original product need to besummed with
69  // those in the product we are going to merge
70 
71  numPassPositiveEvents_ += other.numPassPositiveEvents_;
72  numPassNegativeEvents_ += other.numPassNegativeEvents_;
73  numTotalPositiveEvents_ += other.numTotalPositiveEvents_;
74  numTotalNegativeEvents_ += other.numTotalNegativeEvents_;
75  sumPassWeights_ += other.sumPassWeights_;
76  sumPassWeights2_ += other.sumPassWeights2_;
77  sumTotalWeights_ += other.sumTotalWeights_;
78  sumTotalWeights2_ += other.sumTotalWeights2_;
79 
80  return true;
81 }
double sumTotalWeights_
Definition: GenFilterInfo.h:58
unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:54
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:52
double sumPassWeights_
Definition: GenFilterInfo.h:56
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:51
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:53
double sumTotalWeights2_
Definition: GenFilterInfo.h:59
double sumPassWeights2_
Definition: GenFilterInfo.h:57
unsigned int GenFilterInfo::numEventsPassed ( ) const
inline

Definition at line 24 of file GenFilterInfo.h.

References numPassNegativeEvents_, and numPassPositiveEvents_.

Referenced by GenXSecAnalyzer::endJob(), and filterEfficiency().

24 { return fmax(0, (numPassPositiveEvents_ - numPassNegativeEvents_));}
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:52
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:51
unsigned int GenFilterInfo::numEventsTotal ( ) const
inline

Definition at line 25 of file GenFilterInfo.h.

References numTotalNegativeEvents_, and numTotalPositiveEvents_.

Referenced by GenXSecAnalyzer::endJob(), filterEfficiency(), and filterEfficiencyError().

unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:54
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:53
unsigned int GenFilterInfo::numEventsTried ( ) const
inline

Definition at line 23 of file GenFilterInfo.h.

References numTotalNegativeEvents_, and numTotalPositiveEvents_.

unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:54
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:53
unsigned int GenFilterInfo::numPassNegativeEvents ( ) const
inline

Definition at line 30 of file GenFilterInfo.h.

References numPassNegativeEvents_.

Referenced by GenXSecAnalyzer::endJob(), and filterEfficiencyError().

30 { return numPassNegativeEvents_;}
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:52
unsigned int GenFilterInfo::numPassPositiveEvents ( ) const
inline

Definition at line 27 of file GenFilterInfo.h.

References numPassPositiveEvents_.

Referenced by GenXSecAnalyzer::endJob(), and filterEfficiencyError().

27 { return numPassPositiveEvents_;}
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:51
unsigned int GenFilterInfo::numTotalNegativeEvents ( ) const
inline

Definition at line 31 of file GenFilterInfo.h.

References numTotalNegativeEvents_.

Referenced by GenXSecAnalyzer::endJob(), and filterEfficiencyError().

31 { return numTotalNegativeEvents_;}
unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:54
unsigned int GenFilterInfo::numTotalPositiveEvents ( ) const
inline

Definition at line 28 of file GenFilterInfo.h.

References numTotalPositiveEvents_.

Referenced by GenXSecAnalyzer::endJob(), and filterEfficiencyError().

28 { return numTotalPositiveEvents_;}
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:53
double GenFilterInfo::sumFailWeights ( ) const
inline
double GenFilterInfo::sumFailWeights2 ( ) const
inline

Definition at line 38 of file GenFilterInfo.h.

References sumPassWeights2_, and sumTotalWeights2_.

Referenced by filterEfficiencyError().

double sumTotalWeights2_
Definition: GenFilterInfo.h:59
double sumPassWeights2_
Definition: GenFilterInfo.h:57
double GenFilterInfo::sumPassWeights ( ) const
inline
double GenFilterInfo::sumPassWeights2 ( ) const
inline

Definition at line 35 of file GenFilterInfo.h.

References sumPassWeights2_.

Referenced by filterEfficiencyError().

35 { return sumPassWeights2_;}
double sumPassWeights2_
Definition: GenFilterInfo.h:57
double GenFilterInfo::sumWeights ( ) const
inline
double GenFilterInfo::sumWeights2 ( ) const
inline
void GenFilterInfo::swap ( GenFilterInfo other)

Definition at line 83 of file GenFilterInfo.cc.

References numPassNegativeEvents_, numPassPositiveEvents_, numTotalNegativeEvents_, numTotalPositiveEvents_, sumPassWeights2_, sumPassWeights_, sumTotalWeights2_, sumTotalWeights_, and std::swap().

Referenced by sumWeights2().

83  {
92 }
double sumTotalWeights_
Definition: GenFilterInfo.h:58
unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:54
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:52
double sumPassWeights_
Definition: GenFilterInfo.h:56
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:51
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:53
double sumTotalWeights2_
Definition: GenFilterInfo.h:59
double sumPassWeights2_
Definition: GenFilterInfo.h:57

Member Data Documentation

unsigned int GenFilterInfo::numPassNegativeEvents_
private

Definition at line 52 of file GenFilterInfo.h.

Referenced by mergeProduct(), numEventsPassed(), numPassNegativeEvents(), and swap().

unsigned int GenFilterInfo::numPassPositiveEvents_
private

Definition at line 51 of file GenFilterInfo.h.

Referenced by mergeProduct(), numEventsPassed(), numPassPositiveEvents(), and swap().

unsigned int GenFilterInfo::numTotalNegativeEvents_
private
unsigned int GenFilterInfo::numTotalPositiveEvents_
private
double GenFilterInfo::sumPassWeights2_
private

Definition at line 57 of file GenFilterInfo.h.

Referenced by mergeProduct(), sumFailWeights2(), sumPassWeights2(), and swap().

double GenFilterInfo::sumPassWeights_
private

Definition at line 56 of file GenFilterInfo.h.

Referenced by mergeProduct(), sumFailWeights(), sumPassWeights(), and swap().

double GenFilterInfo::sumTotalWeights2_
private

Definition at line 59 of file GenFilterInfo.h.

Referenced by mergeProduct(), sumFailWeights2(), sumWeights2(), and swap().

double GenFilterInfo::sumTotalWeights_
private

Definition at line 58 of file GenFilterInfo.h.

Referenced by mergeProduct(), sumFailWeights(), sumWeights(), and swap().