CMS 3D CMS Logo

GlobalHitsProdHistStripper Class Reference

Class to fill dqm monitor elements from existing EDM file. More...

#include <Validation/GlobalHits/interface/GlobalHitsProdHistStripper.h>

Inheritance diagram for GlobalHitsProdHistStripper:

edm::EDAnalyzer

List of all members.

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
virtual void beginJob (const edm::EventSetup &)
virtual void beginRun (const edm::Run &, const edm::EventSetup &)
virtual void endJob ()
virtual void endRun (const edm::Run &, const edm::EventSetup &)
 GlobalHitsProdHistStripper (const edm::ParameterSet &)
virtual ~GlobalHitsProdHistStripper ()

Private Attributes

unsigned int count
DQMStoredbe
bool doOutput
std::string fName
int frequency
bool getAllProvenances
std::vector< MonitorElement * > me
MonitorElementmeCaloEcal [2]
MonitorElementmeCaloEcalE [2]
MonitorElementmeCaloEcalEta
MonitorElementmeCaloEcalPhi
MonitorElementmeCaloEcalToF [2]
MonitorElementmeCaloHcal [2]
MonitorElementmeCaloHcalE [2]
MonitorElementmeCaloHcalEta
MonitorElementmeCaloHcalPhi
MonitorElementmeCaloHcalToF [2]
MonitorElementmeCaloPreSh [2]
MonitorElementmeCaloPreShE [2]
MonitorElementmeCaloPreShEta
MonitorElementmeCaloPreShPhi
MonitorElementmeCaloPreShToF [2]
MonitorElementmeGeantTrkE
MonitorElementmeGeantTrkPt
MonitorElementmeGeantVtxX [2]
MonitorElementmeGeantVtxY [2]
MonitorElementmeGeantVtxZ [2]
MonitorElementmeMCG4Trk [2]
MonitorElementmeMCG4Vtx [2]
MonitorElementmeMCRGP [2]
MonitorElementmeMuon [2]
MonitorElementmeMuonCscToF [2]
MonitorElementmeMuonCscZ
MonitorElementmeMuonDtR
MonitorElementmeMuonDtToF [2]
MonitorElementmeMuonEta
MonitorElementmeMuonPhi
MonitorElementmeMuonRpcBR
MonitorElementmeMuonRpcBToF [2]
MonitorElementmeMuonRpcFToF [2]
MonitorElementmeMuonRpcFZ
MonitorElementmeTrackerPx [2]
MonitorElementmeTrackerPxBR
MonitorElementmeTrackerPxBToF
MonitorElementmeTrackerPxEta
MonitorElementmeTrackerPxFToF
MonitorElementmeTrackerPxFZ
MonitorElementmeTrackerPxPhi
MonitorElementmeTrackerSi [2]
MonitorElementmeTrackerSiBR
MonitorElementmeTrackerSiBToF
MonitorElementmeTrackerSiEta
MonitorElementmeTrackerSiFToF
MonitorElementmeTrackerSiFZ
MonitorElementmeTrackerSiPhi
std::map< std::string,
MonitorElement * > 
monitorElements
std::string outputfile
bool printProvenanceInfo
int verbosity
int vtxunit


Detailed Description

Class to fill dqm monitor elements from existing EDM file.

Date
2008/03/13 21:17:07
Revision
1.5
Author:
M. Strang SUNY-Buffalo

Definition at line 44 of file GlobalHitsProdHistStripper.h.


Constructor & Destructor Documentation

GlobalHitsProdHistStripper::GlobalHitsProdHistStripper ( const edm::ParameterSet iPSet  )  [explicit]

Definition at line 14 of file GlobalHitsProdHistStripper.cc.

References dbe, doOutput, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), outputfile, printProvenanceInfo, DQMStore::setVerbose(), DQMStore::showDirStructure(), verbosity, and vtxunit.

00017   : fName(""), verbosity(0), frequency(0), vtxunit(0), 
00018     getAllProvenances(false), printProvenanceInfo(false), outputfile(""),
00019     count(0)
00020 {
00021   std::string MsgLoggerCat = 
00022     "GlobalHitsProdHistStripper_GlobalHitsProdHistStripper";
00023 
00024   // get information from parameter set
00025   fName = iPSet.getUntrackedParameter<std::string>("Name");
00026   verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
00027   frequency = iPSet.getUntrackedParameter<int>("Frequency");
00028   vtxunit = iPSet.getUntrackedParameter<int>("VtxUnit");
00029   outputfile = iPSet.getParameter<std::string>("OutputFile");
00030   doOutput = iPSet.getParameter<bool>("DoOutput");
00031   edm::ParameterSet m_Prov =
00032     iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
00033   getAllProvenances = 
00034     m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
00035   printProvenanceInfo = 
00036     m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
00037 
00038 
00039   // use value of first digit to determine default output level (inclusive)
00040   // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
00041   verbosity %= 10;
00042 
00043   // get dqm info
00044   dbe = 0;
00045   dbe = edm::Service<DQMStore>().operator->();
00046   if (dbe) {
00047     if (verbosity > 0 ) {
00048       dbe->setVerbose(1);
00049     } else {
00050       dbe->setVerbose(0);
00051     }
00052   }
00053 
00054   if (dbe) {
00055     if (verbosity > 0 ) dbe->showDirStructure();
00056   }
00057 
00058   // print out Parameter Set information being used
00059   if (verbosity >= 0) {
00060     edm::LogInfo(MsgLoggerCat) 
00061       << "\n===============================\n"
00062       << "Initialized as EDAnalyzer with parameter values:\n"
00063       << "    Name           = " << fName << "\n"
00064       << "    Verbosity      = " << verbosity << "\n"
00065       << "    Frequency      = " << frequency << "\n"
00066       << "    VtxUnit        = " << vtxunit << "\n"
00067       << "    OutputFile     = " << outputfile << "\n"
00068       << "    DoOutput      = " << doOutput << "\n"
00069       << "    GetProv        = " << getAllProvenances << "\n"
00070       << "    PrintProv      = " << printProvenanceInfo << "\n"
00071       << "===============================\n";
00072   }
00073 
00074 }

GlobalHitsProdHistStripper::~GlobalHitsProdHistStripper (  )  [virtual]

Definition at line 76 of file GlobalHitsProdHistStripper.cc.

References dbe, doOutput, outputfile, and DQMStore::save().

00077 {
00078   if (doOutput)
00079     if (outputfile.size() != 0 && dbe) dbe->save(outputfile);
00080 }


Member Function Documentation

void GlobalHitsProdHistStripper::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [virtual]

Implements edm::EDAnalyzer.

Definition at line 277 of file GlobalHitsProdHistStripper.cc.

00279 {
00280   return;
00281 }

void GlobalHitsProdHistStripper::beginJob ( const edm::EventSetup iSetup  )  [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 82 of file GlobalHitsProdHistStripper.cc.

00083 {
00084   return;
00085 }

void GlobalHitsProdHistStripper::beginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 96 of file GlobalHitsProdHistStripper.cc.

References count, frequency, edm::Run::getAllProvenance(), getAllProvenances, i, printProvenanceInfo, edm::Run::run(), and verbosity.

00098 {
00099   std::string MsgLoggerCat = "GlobalHitsProdHistStripper_beginRun";
00100   // keep track of number of runs processed
00101   ++count;  
00102 
00103   int nrun = iRun.run();
00104 
00105   if (verbosity > 0) {
00106     edm::LogInfo(MsgLoggerCat)
00107       << "Processing run " << nrun << " (" << count << " runs total)";
00108   } else if (verbosity == 0) {
00109     if (nrun%frequency == 0 || count == 1) {
00110       edm::LogInfo(MsgLoggerCat)
00111         << "Processing run " << nrun << " (" << count << " runs total)";
00112     }
00113   }
00114 
00115   if (getAllProvenances) {
00116 
00117     std::vector<const edm::Provenance*> AllProv;
00118     iRun.getAllProvenance(AllProv);
00119 
00120     if (verbosity >= 0)
00121       edm::LogInfo(MsgLoggerCat)
00122         << "Number of Provenances = " << AllProv.size();
00123 
00124     if (printProvenanceInfo && (verbosity >= 0)) {
00125       TString eventout("\nProvenance info:\n");      
00126 
00127       for (unsigned int i = 0; i < AllProv.size(); ++i) {
00128         eventout += "\n       ******************************";
00129         eventout += "\n       Module       : ";
00130         eventout += AllProv[i]->moduleLabel();
00131         eventout += "\n       ProductID    : ";
00132         eventout += AllProv[i]->productID().id();
00133         eventout += "\n       ClassName    : ";
00134         eventout += AllProv[i]->className();
00135         eventout += "\n       InstanceName : ";
00136         eventout += AllProv[i]->productInstanceName();
00137         eventout += "\n       BranchName   : ";
00138         eventout += AllProv[i]->branchName();
00139       }
00140       eventout += "\n       ******************************\n";
00141       edm::LogInfo(MsgLoggerCat) << eventout << "\n";
00142       printProvenanceInfo = false;
00143     }
00144     getAllProvenances = false;
00145   }
00146 
00147   return;
00148 }

void GlobalHitsProdHistStripper::endJob ( void   )  [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 87 of file GlobalHitsProdHistStripper.cc.

References count, and verbosity.

00088 {
00089   std::string MsgLoggerCat = "GlobalHitsProdHistStripper_endJob";
00090   if (verbosity >= 0)
00091     edm::LogInfo(MsgLoggerCat) 
00092       << "Terminating having processed " << count << " runs.";
00093   return;
00094 }

void GlobalHitsProdHistStripper::endRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 150 of file GlobalHitsProdHistStripper.cc.

References DQMStore::book1D(), dbe, edm::DataViewImpl::getManyByType(), i, edm::Handle< T >::isValid(), me, moduleLabel(), edm::Handle< T >::provenance(), DQMStore::setCurrentFolder(), value, and x.

00152 {
00153   std::string MsgLoggerCat = "GlobalHitsProdHistStripper_endRun";
00154 
00155   edm::Handle<TH1F> histogram1D;
00156   std::vector<edm::Handle<TH1F> > allhistogram1D;
00157   iRun.getManyByType(allhistogram1D);
00158 
00159   me.resize(allhistogram1D.size());
00160 
00161   for (uint i = 0; i < allhistogram1D.size(); ++i) {
00162     histogram1D = allhistogram1D[i];
00163     if(!histogram1D.isValid()) {
00164       edm::LogWarning(MsgLoggerCat)
00165         << "Invalid histogram extracted from event.";
00166       continue;      
00167     }
00168 
00169     me[i] = 0;
00170 
00171     /*
00172     std::cout << "Extracting histogram: " << std::endl
00173               << "       Module       : "
00174               << (histogram1D.provenance()->product()).moduleLabel()
00175               << std::endl
00176               << "       ProductID    : "
00177               << (histogram1D.provenance()->product()).productID().id()
00178               << std::endl
00179               << "       ClassName    : "
00180               << (histogram1D.provenance()->product()).className()
00181               << std::endl
00182               << "       InstanceName : "
00183               << (histogram1D.provenance()->product()).productInstanceName()
00184               << std::endl
00185               << "       BranchName   : "
00186               << (histogram1D.provenance()->product()).branchName()
00187               << std::endl;
00188     */
00189 
00190     if ((histogram1D.provenance()->product()).moduleLabel()
00191         != "globalhitsprodhist") continue;
00192    
00193     std::string histname = histogram1D->GetName();
00194     
00195     std::string subhist1 = histname.substr(1,5);
00196     std::string subhist2 = histname.substr(1,4);
00197 
00198     if (dbe) {
00199       if (subhist1 == "CaloE" || subhist1 == "CaloP") {
00200         dbe->setCurrentFolder("GlobalHitsV/ECal");
00201       } else if (subhist1 == "CaloH") {
00202         dbe->setCurrentFolder("GlobalHitsV/HCal");
00203       } else if (subhist1 == "Geant" || subhist2 == "MCG4" ||
00204                  subhist1 == "MCRGP") {
00205         dbe->setCurrentFolder("GlobalHitsV/MCGeant");
00206       } else if (subhist2 == "Muon") {
00207         dbe->setCurrentFolder("GlobalHitsV/Muon");
00208       } else if (subhist1 == "Track") {
00209         dbe->setCurrentFolder("GlobalHitsV/Tracker");
00210       }
00211      
00212       me[i] = dbe->book1D(histname,histogram1D->GetTitle(),
00213                        histogram1D->GetXaxis()->GetNbins(),
00214                        histogram1D->GetXaxis()->GetXmin(),
00215                        histogram1D->GetXaxis()->GetXmax());
00216       me[i]->setAxisTitle(histogram1D->GetXaxis()->GetTitle(),1);
00217       me[i]->setAxisTitle(histogram1D->GetYaxis()->GetTitle(),2);
00218       
00219     }
00220     
00221     std::string mename = me[i]->getName();
00222     
00223     //std::cout << "Extracting histogram " << histname
00224     //        << " into MonitorElement " << mename
00225     //        << std::endl;
00226     
00227     for (Int_t x = 1; x <= histogram1D->GetXaxis()->GetNbins(); ++x) {
00228       Double_t binx = histogram1D->GetBinCenter(x);
00229       Double_t value = histogram1D->GetBinContent(x);
00230       me[i]->Fill(binx,value);
00231     }
00232   }
00233   return;
00234 }


Member Data Documentation

unsigned int GlobalHitsProdHistStripper::count [private]

Definition at line 161 of file GlobalHitsProdHistStripper.h.

Referenced by beginRun(), and endJob().

DQMStore* GlobalHitsProdHistStripper::dbe [private]

Definition at line 70 of file GlobalHitsProdHistStripper.h.

Referenced by endRun(), GlobalHitsProdHistStripper(), and ~GlobalHitsProdHistStripper().

bool GlobalHitsProdHistStripper::doOutput [private]

Definition at line 72 of file GlobalHitsProdHistStripper.h.

Referenced by GlobalHitsProdHistStripper(), and ~GlobalHitsProdHistStripper().

std::string GlobalHitsProdHistStripper::fName [private]

Definition at line 62 of file GlobalHitsProdHistStripper.h.

Referenced by GlobalHitsProdHistStripper().

int GlobalHitsProdHistStripper::frequency [private]

Definition at line 64 of file GlobalHitsProdHistStripper.h.

Referenced by beginRun(), and GlobalHitsProdHistStripper().

bool GlobalHitsProdHistStripper::getAllProvenances [private]

Definition at line 66 of file GlobalHitsProdHistStripper.h.

Referenced by beginRun(), and GlobalHitsProdHistStripper().

std::vector<MonitorElement*> GlobalHitsProdHistStripper::me [private]

Definition at line 76 of file GlobalHitsProdHistStripper.h.

Referenced by endRun().

MonitorElement* GlobalHitsProdHistStripper::meCaloEcal[2] [private]

Definition at line 90 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloEcalE[2] [private]

Definition at line 91 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloEcalEta [private]

Definition at line 94 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloEcalPhi [private]

Definition at line 93 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloEcalToF[2] [private]

Definition at line 92 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloHcal[2] [private]

Definition at line 105 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloHcalE[2] [private]

Definition at line 106 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloHcalEta [private]

Definition at line 109 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloHcalPhi [private]

Definition at line 108 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloHcalToF[2] [private]

Definition at line 107 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloPreSh[2] [private]

Definition at line 97 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloPreShE[2] [private]

Definition at line 98 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloPreShEta [private]

Definition at line 101 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloPreShPhi [private]

Definition at line 100 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meCaloPreShToF[2] [private]

Definition at line 99 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meGeantTrkE [private]

Definition at line 86 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meGeantTrkPt [private]

Definition at line 85 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meGeantVtxX[2] [private]

Definition at line 81 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meGeantVtxY[2] [private]

Definition at line 82 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meGeantVtxZ[2] [private]

Definition at line 83 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMCG4Trk[2] [private]

Definition at line 84 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMCG4Vtx[2] [private]

Definition at line 80 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMCRGP[2] [private]

Definition at line 79 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuon[2] [private]

Definition at line 137 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonCscToF[2] [private]

Definition at line 149 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonCscZ [private]

Definition at line 150 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonDtR [private]

Definition at line 145 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonDtToF[2] [private]

Definition at line 144 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonEta [private]

Definition at line 139 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonPhi [private]

Definition at line 138 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonRpcBR [private]

Definition at line 158 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonRpcBToF[2] [private]

Definition at line 157 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonRpcFToF[2] [private]

Definition at line 155 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meMuonRpcFZ [private]

Definition at line 156 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerPx[2] [private]

Definition at line 116 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerPxBR [private]

Definition at line 120 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerPxBToF [private]

Definition at line 119 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerPxEta [private]

Definition at line 118 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerPxFToF [private]

Definition at line 121 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerPxFZ [private]

Definition at line 122 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerPxPhi [private]

Definition at line 117 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerSi[2] [private]

Definition at line 128 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerSiBR [private]

Definition at line 132 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerSiBToF [private]

Definition at line 131 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerSiEta [private]

Definition at line 130 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerSiFToF [private]

Definition at line 133 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerSiFZ [private]

Definition at line 134 of file GlobalHitsProdHistStripper.h.

MonitorElement* GlobalHitsProdHistStripper::meTrackerSiPhi [private]

Definition at line 129 of file GlobalHitsProdHistStripper.h.

std::map<std::string,MonitorElement*> GlobalHitsProdHistStripper::monitorElements [private]

Definition at line 74 of file GlobalHitsProdHistStripper.h.

std::string GlobalHitsProdHistStripper::outputfile [private]

Definition at line 71 of file GlobalHitsProdHistStripper.h.

Referenced by GlobalHitsProdHistStripper(), and ~GlobalHitsProdHistStripper().

bool GlobalHitsProdHistStripper::printProvenanceInfo [private]

Definition at line 67 of file GlobalHitsProdHistStripper.h.

Referenced by beginRun(), and GlobalHitsProdHistStripper().

int GlobalHitsProdHistStripper::verbosity [private]

Definition at line 63 of file GlobalHitsProdHistStripper.h.

Referenced by beginRun(), endJob(), and GlobalHitsProdHistStripper().

int GlobalHitsProdHistStripper::vtxunit [private]

Definition at line 65 of file GlobalHitsProdHistStripper.h.

Referenced by GlobalHitsProdHistStripper().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:21:40 2009 for CMSSW by  doxygen 1.5.4