CMS 3D CMS Logo

EleHLTPathMon.h

Go to the documentation of this file.
00001 #ifndef DQMOFFLINE_TRIGGER_ELEHLTPATHMON
00002 #define DQMOFFLINE_TRIGGER_ELEHLTPATHMON
00003 
00004 #include "DQMOffline/Trigger/interface/EleHLTFilterMon.h"
00005 #include "DQMOffline/Trigger/interface/EgHLTOffData.h"
00006 
00007 #include <vector>
00008 #include <string>
00009 
00010 //class: EleHLTPathMon
00011 //
00012 //author: Sam Harper (June 2008)
00013 //
00014 //WARNING: interface is NOT final, please dont use this class for now without clearing it with me
00015 //         as I will change it and possibly break all your code
00016 //
00017 //aim: this object will manage all histograms associated with a particular HLT path
00018 //     ie histograms for computing efficiency of each filter step, id efficiency of gsf electrons passing trigger etc   
00019 //
00020 //implimentation: 
00021 //       has a vector of all filter path names, generates efficiency hists for each step
00022 //       
00023 
00024 class EleHLTPathMon {
00025  private:
00026   std::string pathName_;
00027   std::vector<EleHLTFilterMon*> filters_; //we own these
00028   
00029   
00030 
00031  public:
00032   explicit EleHLTPathMon(std::string pathName=""):pathName_(pathName){}
00033   ~EleHLTPathMon();
00034  
00035   void addFilter(const std::string& filterName);
00036   void addFilters(const std::vector<std::string>& names);
00037   //void setStdFilters();  //egamma electron triggers all have the same filter names, time saving function
00038   
00039   //does exactly what it says on the tin (fills all the filterMons)
00040   void fill(const EgHLTOffData& evtData,float weight);
00041 
00042   std::vector<std::string> getFilterNames()const; //expensive function, gets names of all the functions, if slow, will cache the results
00043 
00044   //sort by path name
00045   bool operator<(const EleHLTPathMon& rhs)const{return pathName_<rhs.pathName_;}
00046 };
00047 
00048 
00049 
00050 #endif

Generated on Tue Jun 9 17:34:09 2009 for CMSSW by  doxygen 1.5.4