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
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
 
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 11 of file GenFilterInfo.cc.

11  :
16  sumPassWeights_(0.),
17  sumPassWeights2_(0.),
18  sumTotalWeights_(0.),
20 {
21 }
double sumTotalWeights_
Definition: GenFilterInfo.h:57
unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:53
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:51
double sumPassWeights_
Definition: GenFilterInfo.h:55
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:50
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:52
double sumTotalWeights2_
Definition: GenFilterInfo.h:58
double sumPassWeights2_
Definition: GenFilterInfo.h:56
GenFilterInfo::GenFilterInfo ( unsigned int  tried,
unsigned int  pass 
)

Definition at line 23 of file GenFilterInfo.cc.

23  :
28  sumPassWeights_(pass),
29  sumPassWeights2_(pass),
30  sumTotalWeights_(tried),
31  sumTotalWeights2_(tried)
32 {
33 }
double sumTotalWeights_
Definition: GenFilterInfo.h:57
unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:53
unsigned int numPassNegativeEvents_
Definition: GenFilterInfo.h:51
double sumPassWeights_
Definition: GenFilterInfo.h:55
unsigned int numPassPositiveEvents_
Definition: GenFilterInfo.h:50
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:52
double sumTotalWeights2_
Definition: GenFilterInfo.h:58
double sumPassWeights2_
Definition: GenFilterInfo.h:56
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 35 of file GenFilterInfo.cc.

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

Definition at line 48 of file GenFilterInfo.cc.

GenFilterInfo::~GenFilterInfo ( )
virtual

Definition at line 60 of file GenFilterInfo.cc.

61 {
62 }

Member Function Documentation

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

Definition at line 82 of file GenFilterInfo.cc.

References alignCSCRings::e, numEventsPassed(), numEventsTotal(), sumPassWeights(), and sumWeights().

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

82  {
83  double eff = -1;
84  switch(idwtup) {
85  case 3: case -3:
86  eff = numEventsTotal() > 0 ? (double) numEventsPassed() / (double) numEventsTotal(): -1;
87  break;
88  default:
89  eff = sumWeights() > 1e-6? sumPassWeights()/sumWeights(): -1;
90  break;
91  }
92  return eff;
93 
94 }
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 96 of file GenFilterInfo.cc.

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

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

96  {
97 
98  double efferr = -1;
99  switch(idwtup) {
100  case 3: case -3:
101  {
102  double effp = numTotalPositiveEvents() > 1e-6?
103  (double)numPassPositiveEvents()/(double)numTotalPositiveEvents():0;
104  double effp_err2 = numTotalPositiveEvents() > 1e-6?
105  (1-effp)*effp/(double)numTotalPositiveEvents(): 0;
106 
107  double effn = numTotalNegativeEvents() > 1e-6?
108  (double)numPassNegativeEvents()/(double)numTotalNegativeEvents():0;
109  double effn_err2 = numTotalNegativeEvents() > 1e-6?
110  (1-effn)*effn/(double)numTotalNegativeEvents(): 0;
111 
112  efferr = numEventsTotal() > 0 ? sqrt (
113  ((double)numTotalPositiveEvents()*(double)numTotalPositiveEvents()*effp_err2 +
114  (double)numTotalNegativeEvents()*(double)numTotalNegativeEvents()*effn_err2)
115  /(double)numEventsTotal()/(double)numEventsTotal()
116  ) : -1;
117  break;
118  }
119  default:
120  {
122  double numerator =
125  efferr = denominator>1e-6?
126  sqrt(numerator/denominator):-1;
127  break;
128  }
129  }
130 
131  return efferr;
132 }
list numerator
Definition: cuy.py:483
unsigned int numTotalPositiveEvents() const
Definition: GenFilterInfo.h:28
double sumFailWeights2() const
Definition: GenFilterInfo.h:38
list denominator
Definition: cuy.py:484
double sumPassWeights() const
Definition: GenFilterInfo.h:34
T sqrt(T t)
Definition: SSEVec.h:48
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 64 of file GenFilterInfo.cc.

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

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

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

Definition at line 23 of file GenFilterInfo.h.

References numTotalNegativeEvents_, and numTotalPositiveEvents_.

unsigned int numTotalNegativeEvents_
Definition: GenFilterInfo.h:53
unsigned int numTotalPositiveEvents_
Definition: GenFilterInfo.h:52
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:51
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:50
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:53
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:52
double GenFilterInfo::sumFailWeights ( ) const
inline

Definition at line 37 of file GenFilterInfo.h.

References sumPassWeights_, and sumTotalWeights_.

Referenced by filterEfficiencyError().

double sumTotalWeights_
Definition: GenFilterInfo.h:57
double sumPassWeights_
Definition: GenFilterInfo.h:55
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:58
double sumPassWeights2_
Definition: GenFilterInfo.h:56
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:56
double GenFilterInfo::sumWeights ( ) const
inline
double GenFilterInfo::sumWeights2 ( ) const
inline

Definition at line 41 of file GenFilterInfo.h.

References sumTotalWeights2_.

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

41 { return sumTotalWeights2_;}
double sumTotalWeights2_
Definition: GenFilterInfo.h:58

Member Data Documentation

unsigned int GenFilterInfo::numPassNegativeEvents_
private

Definition at line 51 of file GenFilterInfo.h.

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

unsigned int GenFilterInfo::numPassPositiveEvents_
private

Definition at line 50 of file GenFilterInfo.h.

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

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

Definition at line 56 of file GenFilterInfo.h.

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

double GenFilterInfo::sumPassWeights_
private

Definition at line 55 of file GenFilterInfo.h.

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

double GenFilterInfo::sumTotalWeights2_
private

Definition at line 58 of file GenFilterInfo.h.

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

double GenFilterInfo::sumTotalWeights_
private

Definition at line 57 of file GenFilterInfo.h.

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