#include <PhysicsTools/UtilAlgos/interface/ObjectCounter.h>
Public Member Functions | |
void | endJob () |
end-of-job processing | |
ObjectCounter (const edm::ParameterSet &) | |
constructor from parameter set | |
Private Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
event processing | |
Private Attributes | |
unsigned long | n2Sum_ |
unsigned long | n_ |
partial statistics | |
unsigned long | nSum_ |
std::string | src_ |
label of source collection | |
bool | verbose_ |
verbosity flag |
Template parameters:
Definition at line 26 of file ObjectCounter.h.
ObjectCounter< C >::ObjectCounter | ( | const edm::ParameterSet & | par | ) | [inline, explicit] |
void ObjectCounter< C >::analyze | ( | const edm::Event & | evt, | |
const edm::EventSetup & | ||||
) | [inline, private, virtual] |
event processing
Implements edm::EDAnalyzer.
Definition at line 68 of file ObjectCounter.h.
References TestMuL1L2Filter_cff::cerr, lat::endl(), edm::Event::getByLabel(), h, edm::Handle< T >::isValid(), n, ObjectCounter< C >::n2Sum_, ObjectCounter< C >::n_, ObjectCounter< C >::nSum_, and ObjectCounter< C >::src_.
00068 { 00069 edm::Handle<C> h; 00070 evt.getByLabel( src_, h ); 00071 if (!h.isValid()) { 00072 std::cerr << ">>> product: " << src_ << " not found" << std::endl; 00073 } else { 00074 int n = h->size(); 00075 nSum_ += n; 00076 n2Sum_ += ( n * n ); 00077 } 00078 ++ n_; 00079 }
void ObjectCounter< C >::endJob | ( | void | ) | [inline, virtual] |
end-of-job processing
Reimplemented from edm::EDAnalyzer.
Definition at line 52 of file ObjectCounter.h.
References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), id, n, ObjectCounter< C >::n2Sum_, ObjectCounter< C >::n_, ObjectCounter< C >::nSum_, s, funct::sqrt(), ObjectCounter< C >::src_, and ObjectCounter< C >::verbose_.
00052 { 00053 double n = 0, n2 = 0, s; 00054 if ( n_!= 0 ) { 00055 n = double( nSum_ ) / n_; 00056 n2 = double ( n2Sum_ ) / n_; 00057 } 00058 s = sqrt( n2 - n * n ); 00059 if ( verbose_ ) { 00060 edm::TypeID id( typeid( typename C::value_type ) ); 00061 std::cout << ">>> collection \"" << src_ << "\" contains (" 00062 << n << " +/- " << s << ") " 00063 << id.friendlyClassName() << " objects" << std::endl; 00064 } 00065 }
unsigned long ObjectCounter< C >::n2Sum_ [private] |
Definition at line 41 of file ObjectCounter.h.
Referenced by ObjectCounter< C >::analyze(), and ObjectCounter< C >::endJob().
unsigned long ObjectCounter< C >::n_ [private] |
partial statistics
Definition at line 41 of file ObjectCounter.h.
Referenced by ObjectCounter< C >::analyze(), and ObjectCounter< C >::endJob().
unsigned long ObjectCounter< C >::nSum_ [private] |
Definition at line 41 of file ObjectCounter.h.
Referenced by ObjectCounter< C >::analyze(), and ObjectCounter< C >::endJob().
std::string ObjectCounter< C >::src_ [private] |
label of source collection
Definition at line 37 of file ObjectCounter.h.
Referenced by ObjectCounter< C >::analyze(), and ObjectCounter< C >::endJob().
bool ObjectCounter< C >::verbose_ [private] |
verbosity flag
Definition at line 39 of file ObjectCounter.h.
Referenced by ObjectCounter< C >::endJob().