CMS 3D CMS Logo

MuonTestSummary Class Reference

* DQM Client for global summary More...

#include <DQMOffline/Muon/src/MuonTestSummary.h>

Inheritance diagram for MuonTestSummary:

edm::EDAnalyzer

List of all members.

Public Member Functions

 MuonTestSummary (const edm::ParameterSet &ps)
 Constructor.
virtual ~MuonTestSummary ()
 Destructor.

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze.
void beginJob (const edm::EventSetup &c)
 BeginJob.
void beginLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &c)
 Histograms initialisation.
void doEnergyTests (std::string nameHisto, std::string muonType, int bin)
void doKinematicsTests (std::string muonType, int bin)
 test operations
void doMolteplicityTests ()
void doMuonIDTests ()
void doResidualsTests (std::string type, std::string parameter, int bin)
void endLuminosityBlock (edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &c)
 Diagnostic.

Private Attributes

double chi2Fraction
double chi2Spread
DQMStoredbe
MonitorElementenergySummaryMap
double etaExpected
double expMolteplicityGlb
double expMolteplicitySta
double expMolteplicityTk
MonitorElementkinematicsSummaryMap
std::string metname
MonitorElementmolteplicitySummaryMap
MonitorElementmuonIdSummaryMap
double numMatchedExpected
double phiExpected
double resChargeLimit_glbSta
double resChargeLimit_tkGlb
double resChargeLimit_tkSta
double resEtaSpread_glbSta
double resEtaSpread_tkGlb
MonitorElementresidualsSummaryMap
double resOneOvPSpread_glbSta
double resOneOvPSpread_tkGlb
double resPhiSpread_glbSta
double resPhiSpread_tkGlb
double sigmaResSegmTrackExp
MonitorElementsummaryReport
MonitorElementsummaryReportMap
std::vector< MonitorElement * > theSummaryContents


Detailed Description

* DQM Client for global summary

Date
2008/12/17 16:35:49
Revision
1.8
Author:
G. Mila - INFN Torino

Definition at line 32 of file MuonTestSummary.h.


Constructor & Destructor Documentation

MuonTestSummary::MuonTestSummary ( const edm::ParameterSet ps  ) 

Constructor.

Definition at line 30 of file MuonTestSummary.cc.

References chi2Fraction, chi2Spread, dbe, etaExpected, expMolteplicityGlb, expMolteplicitySta, expMolteplicityTk, edm::ParameterSet::getParameter(), numMatchedExpected, phiExpected, resChargeLimit_glbSta, resChargeLimit_tkGlb, resChargeLimit_tkSta, resEtaSpread_glbSta, resEtaSpread_tkGlb, resOneOvPSpread_glbSta, resOneOvPSpread_tkGlb, resPhiSpread_glbSta, and resPhiSpread_tkGlb.

00030                                                          {
00031 
00032   dbe = Service<DQMStore>().operator->();
00033 
00034   // parameter initialization for kinematics test
00035   etaExpected = ps.getParameter<double>("etaExpected");
00036   phiExpected = ps.getParameter<double>("phiExpected");
00037   chi2Fraction = ps.getParameter<double>("chi2Fraction");
00038   chi2Spread = ps.getParameter<double>("chi2Spread");
00039   resEtaSpread_tkGlb = ps.getParameter<double>("resEtaSpread_tkGlb");
00040   resEtaSpread_glbSta = ps.getParameter<double>("resEtaSpread_glbSta");
00041   resPhiSpread_tkGlb = ps.getParameter<double>("resPhiSpread_tkGlb");
00042   resPhiSpread_glbSta = ps.getParameter<double>("resPhiSpread_glbSta");
00043   resOneOvPSpread_tkGlb = ps.getParameter<double>("resOneOvPSpread_tkGlb");
00044   resOneOvPSpread_glbSta = ps.getParameter<double>("resOneOvPSpread_glbSta");
00045   resChargeLimit_tkGlb = ps.getParameter<double>("resChargeLimit_tkGlb");
00046   resChargeLimit_glbSta = ps.getParameter<double>("resChargeLimit_glbSta");
00047   resChargeLimit_tkSta = ps.getParameter<double>("resChargeLimit_tkSta");
00048   numMatchedExpected = ps.getParameter<double>("numMatchedExpected");
00049   expMolteplicityGlb = ps.getParameter<double>("expMolteplicityGlb");
00050   expMolteplicityTk = ps.getParameter<double>("expMolteplicityTk");
00051   expMolteplicitySta = ps.getParameter<double>("expMolteplicitySta");
00052 }

MuonTestSummary::~MuonTestSummary (  )  [virtual]

Destructor.

Definition at line 54 of file MuonTestSummary.cc.

00054 {}


Member Function Documentation

void MuonTestSummary::analyze ( const edm::Event e,
const edm::EventSetup c 
) [inline, protected, virtual]

Analyze.

Implements edm::EDAnalyzer.

Definition at line 48 of file MuonTestSummary.h.

00048 {}

void MuonTestSummary::beginJob ( const edm::EventSetup c  )  [protected, virtual]

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 56 of file MuonTestSummary.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookFloat(), dbe, energySummaryMap, kinematicsSummaryMap, LogTrace, metname, molteplicitySummaryMap, muonIdSummaryMap, residualsSummaryMap, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), summaryReport, summaryReportMap, and theSummaryContents.

00056                                                           {
00057 
00058   metname = "muonTestSummary";
00059   LogTrace(metname)<<"[MuonTestSummary] Histo booking";
00060 
00061   // book the summary histos
00062   dbe->setCurrentFolder("Muons/TestSummary"); 
00063 
00064   // kinematics test report
00065   kinematicsSummaryMap = dbe->book2D("kinematicsSummaryMap","Kinematics test summary",5,1,6,3,1,4);
00066   kinematicsSummaryMap->setAxisTitle("track monitored",1);
00067   kinematicsSummaryMap->setBinLabel(1,"GLB",1);
00068   kinematicsSummaryMap->setBinLabel(2,"TKfromGLB",1);
00069   kinematicsSummaryMap->setBinLabel(3,"STAfromGLB",1);
00070   kinematicsSummaryMap->setBinLabel(4,"TK",1);
00071   kinematicsSummaryMap->setBinLabel(5,"STA",1);
00072   kinematicsSummaryMap->setAxisTitle("parameter tested",2);
00073   kinematicsSummaryMap->setBinLabel(1,"#chi^{2}",2);
00074   kinematicsSummaryMap->setBinLabel(2,"#eta",2);
00075   kinematicsSummaryMap->setBinLabel(3,"#phi",2);
00076    
00077   // residuals test report
00078   residualsSummaryMap = dbe->book2D("residualsSummaryMap","Residuals test summary",3,1,4,4,1,5);
00079   residualsSummaryMap->setAxisTitle("residuals",1);
00080   residualsSummaryMap->setBinLabel(1,"TK-GLB",1);
00081   residualsSummaryMap->setBinLabel(2,"GLB-STA",1);
00082   residualsSummaryMap->setBinLabel(3,"TK-STA",1);
00083   residualsSummaryMap->setAxisTitle("parameter tested",2);
00084   residualsSummaryMap->setBinLabel(1,"#eta",2);
00085   residualsSummaryMap->setBinLabel(2,"#phi",2);
00086   residualsSummaryMap->setBinLabel(3,"1/p",2);
00087   residualsSummaryMap->setBinLabel(4,"q",2);
00088 
00089   // muonId test report
00090   muonIdSummaryMap = dbe->book1D("muonIdSummaryMap","muonId test summary",3,1,4);
00091   muonIdSummaryMap->setAxisTitle("test");
00092   muonIdSummaryMap->setBinLabel(1,"#matchCh");
00093   muonIdSummaryMap->setBinLabel(2,"#assSegm");
00094   muonIdSummaryMap->setBinLabel(3,"resTrackSegm");
00095 
00096   // energy test report
00097   energySummaryMap = dbe->book2D("energySummaryMap","Energy deposits test summary",3,1,4,3,1,4);
00098   energySummaryMap->setAxisTitle("muons",1);
00099   energySummaryMap->setBinLabel(1,"GLB",1);
00100   energySummaryMap->setBinLabel(2,"TK",1);
00101   energySummaryMap->setBinLabel(3,"STA",1);
00102   energySummaryMap->setAxisTitle("calorimeter tested",2);
00103   energySummaryMap->setBinLabel(1,"ECAL",2);
00104   energySummaryMap->setBinLabel(2,"HAD",2);
00105   energySummaryMap->setBinLabel(3,"H0",2);
00106 
00107   // molteplicity tests report
00108   molteplicitySummaryMap = dbe->book1D("molteplicitySummaryMap","muon molteplicity test summary",3,1,4);
00109   molteplicitySummaryMap->setAxisTitle("muon");
00110   molteplicitySummaryMap->setBinLabel(1,"GLB");
00111   molteplicitySummaryMap->setBinLabel(2,"TK");
00112   molteplicitySummaryMap->setBinLabel(3,"STA");
00113 
00114   
00115   // summary test report
00116   dbe->setCurrentFolder("Muons/EventInfo"); 
00117   summaryReport = dbe->bookFloat("reportSummary");
00118 
00119   summaryReportMap = dbe->book2D("reportSummaryMap","Muon Report Summary Map",3,1,4,7,1,8);
00120   summaryReportMap->setAxisTitle("muons",1);
00121   summaryReportMap->setBinLabel(1,"GLB",1);
00122   summaryReportMap->setBinLabel(2,"TK",1);
00123   summaryReportMap->setBinLabel(3,"STA",1);
00124   summaryReportMap->setAxisTitle("test",2);
00125   summaryReportMap->setBinLabel(1,"#chi^{2}/Df",2);
00126   summaryReportMap->setBinLabel(2,"#eta",2);
00127   summaryReportMap->setBinLabel(3,"#phi",2);
00128   summaryReportMap->setBinLabel(4,"residuals",2);
00129   summaryReportMap->setBinLabel(5,"muonId",2);
00130   summaryReportMap->setBinLabel(6,"energyDeposits",2);
00131   summaryReportMap->setBinLabel(7,"molteplicity",2);
00132 
00133   dbe->setCurrentFolder("Muons/EventInfo/reportSummaryContents");
00134   theSummaryContents.push_back(dbe->bookFloat("kinematics_GLB"));
00135   theSummaryContents.push_back(dbe->bookFloat("residuals_GLB"));
00136   theSummaryContents.push_back(dbe->bookFloat("kinematics_TK"));
00137   theSummaryContents.push_back(dbe->bookFloat("muonId_TK"));
00138   theSummaryContents.push_back(dbe->bookFloat("GLB"));
00139   theSummaryContents.push_back(dbe->bookFloat("TK"));
00140   theSummaryContents.push_back(dbe->bookFloat("STA"));
00141   theSummaryContents.push_back(dbe->bookFloat("energyDeposits"));
00142   theSummaryContents.push_back(dbe->bookFloat("molteciplicity"));
00143 
00144 }

void MuonTestSummary::beginLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  c 
) [protected, virtual]

Histograms initialisation.

Reimplemented from edm::EDAnalyzer.

Definition at line 147 of file MuonTestSummary.cc.

References energySummaryMap, MonitorElement::Fill(), kinematicsSummaryMap, molteplicitySummaryMap, muonIdSummaryMap, residualsSummaryMap, and summaryReportMap.

00147                                                                                                     {
00148 
00149   // initialisation of histo bins
00150   for(int xBin=1; xBin<=5; xBin++){
00151     for(int yBin=1; yBin<=3; yBin++){
00152       kinematicsSummaryMap->Fill(xBin,yBin,0);
00153     }
00154   }
00155   for(int xBin=1; xBin<=3; xBin++){
00156     for(int yBin=1; yBin<=2; yBin++){
00157       residualsSummaryMap->Fill(xBin,yBin,0);
00158     }
00159   }
00160   for(int xBin=1; xBin<=3; xBin++){
00161     muonIdSummaryMap->Fill(xBin,0);
00162   }
00163   for(int xBin=1; xBin<=3; xBin++){
00164     for(int yBin=1; yBin<=3; yBin++){
00165       energySummaryMap->Fill(xBin,yBin,0);
00166     }
00167   }
00168   for(int xBin=1; xBin<=3; xBin++){
00169     molteplicitySummaryMap->Fill(xBin,0);
00170   }
00171   for(int xBin=1; xBin<=3; xBin++){
00172     for(int yBin=1; yBin<=7; yBin++){
00173       summaryReportMap->Fill(xBin,yBin,0);
00174     }
00175   }
00176 }

void MuonTestSummary::doEnergyTests ( std::string  nameHisto,
std::string  muonType,
int  bin 
) [protected]

Referenced by endLuminosityBlock().

void MuonTestSummary::doKinematicsTests ( std::string  muonType,
int  bin 
) [protected]

test operations

Referenced by endLuminosityBlock().

void MuonTestSummary::doMolteplicityTests (  )  [protected]

Definition at line 629 of file MuonTestSummary.cc.

References dbe, expMolteplicityGlb, expMolteplicitySta, expMolteplicityTk, DQMStore::get(), MonitorElement::getBinContent(), MonitorElement::getEntries(), LogTrace, metname, molteplicitySummaryMap, and MonitorElement::setBinContent().

Referenced by endLuminosityBlock().

00629                                          {
00630 
00631   MonitorElement* molteplicityHisto = dbe->get("Muons/MuonRecoAnalyzer/muReco");
00632   
00633   double molteplicity_GLB = double(molteplicityHisto->getBinContent(1)+molteplicityHisto->getBinContent(2))/double(molteplicityHisto->getEntries());
00634   LogTrace(metname)<<"molteplicity_GLB: "<<molteplicity_GLB<<endl;
00635   double molteplicity_TK = double(molteplicityHisto->getBinContent(3)+molteplicityHisto->getBinContent(4))/double(molteplicityHisto->getEntries());
00636   LogTrace(metname)<<"molteplicity_TK: "<<molteplicity_TK<<endl;
00637   double molteplicity_STA = double(molteplicityHisto->getBinContent(3)+molteplicityHisto->getBinContent(5))/double(molteplicityHisto->getEntries());
00638   LogTrace(metname)<<"molteplicity_STA: "<<molteplicity_STA<<endl;
00639 
00640   if(molteplicity_GLB<expMolteplicityGlb+0.06 && molteplicity_GLB>expMolteplicityGlb-0.06)
00641     molteplicitySummaryMap->setBinContent(1,1);
00642   else 
00643     molteplicitySummaryMap->setBinContent(1,0);
00644 
00645   if(molteplicity_TK<expMolteplicityTk+0.02 && molteplicity_TK>expMolteplicityTk-0.02)
00646     molteplicitySummaryMap->setBinContent(2,1);
00647   else 
00648     molteplicitySummaryMap->setBinContent(2,0);
00649 
00650   if(molteplicity_STA<expMolteplicitySta+0.1 && molteplicity_STA>expMolteplicitySta-0.1)
00651     molteplicitySummaryMap->setBinContent(3,1);
00652   else 
00653     molteplicitySummaryMap->setBinContent(3,0);
00654 
00655 }

void MuonTestSummary::doMuonIDTests (  )  [protected]

Definition at line 439 of file MuonTestSummary.cc.

References dbe, DQMStore::get(), MonitorElement::getBinContent(), MonitorElement::getEntries(), MonitorElement::getTH1F(), LogTrace, metname, muonIdSummaryMap, name, numMatchedExpected, and MonitorElement::setBinContent().

Referenced by endLuminosityBlock().

00439                                    {
00440 
00441   // num matches test
00442   string path = "Muons/MuonIdDQM/TrackerMuons/hNumMatches";
00443   MonitorElement * matchesHisto = dbe->get(path);
00444 
00445   if(matchesHisto){
00446     TH1F * matchesHisto_root = matchesHisto->getTH1F();
00447     if(matchesHisto_root->GetMaximumBin() == numMatchedExpected || matchesHisto_root->GetMaximumBin() == numMatchedExpected+1)
00448       muonIdSummaryMap->setBinContent(1,1);
00449     else
00450       muonIdSummaryMap->setBinContent(1,0);
00451   }
00452 
00453   
00454   // num of associated segments (limits computed from simulated data)
00455   double numOneSegm_dt = 0;
00456   MonitorElement * DT1Histo = dbe->get("Muons/MuonIdDQM/TrackerMuons/hDT1NumSegments");
00457   if(DT1Histo) numOneSegm_dt+=DT1Histo->getBinContent(2);
00458   MonitorElement * DT2Histo = dbe->get("Muons/MuonIdDQM/TrackerMuons/hDT2NumSegments");
00459   if(DT2Histo) numOneSegm_dt+=DT2Histo->getBinContent(2);
00460   MonitorElement * DT3Histo = dbe->get("Muons/MuonIdDQM/TrackerMuons/hDT3NumSegments");
00461   if(DT3Histo) numOneSegm_dt+=DT3Histo->getBinContent(2);
00462   MonitorElement * DT4Histo = dbe->get("Muons/MuonIdDQM/TrackerMuons/hDT4NumSegments"); 
00463   if(DT4Histo) numOneSegm_dt+=DT4Histo->getBinContent(2);
00464   LogTrace(metname)<<"numOneSegm_dt: "<<numOneSegm_dt<<endl;
00465   double fraction_dt=0;
00466   if(numOneSegm_dt!=0){
00467     fraction_dt = double(DT1Histo->getEntries())/numOneSegm_dt;
00468     LogTrace(metname)<<"fraction_dt: "<<fraction_dt<<endl;
00469   }
00470 
00471   double numOneSegm_csc = 0;
00472   MonitorElement * CSC1Histo = dbe->get("Muons/MuonIdDQM/TrackerMuons/hCSC1NumSegments");
00473   if(CSC1Histo) numOneSegm_csc+=CSC1Histo->getBinContent(2);
00474   MonitorElement * CSC2Histo = dbe->get("Muons/MuonIdDQM/TrackerMuons/hCSC2NumSegments");
00475   if(CSC2Histo) numOneSegm_csc+=CSC2Histo->getBinContent(2);
00476   MonitorElement * CSC3Histo = dbe->get("Muons/MuonIdDQM/TrackerMuons/hCSC3NumSegments");
00477   if(CSC3Histo) numOneSegm_csc+=CSC3Histo->getBinContent(2);
00478   MonitorElement * CSC4Histo = dbe->get("Muons/MuonIdDQM/TrackerMuons/hCSC4NumSegments");
00479   if(CSC4Histo) numOneSegm_csc+=CSC4Histo->getBinContent(2);
00480   LogTrace(metname)<<"numOneSegm_csc: "<<numOneSegm_csc<<endl;
00481   double fraction_csc=0;
00482   if(numOneSegm_csc!=0){
00483     fraction_csc = double(CSC1Histo->getEntries())/numOneSegm_csc;
00484     LogTrace(metname)<<"fraction_csc: "<<fraction_csc<<endl;
00485   }
00486 
00487   if((fraction_dt>0.7 && fraction_dt<0.8) && (fraction_csc>0.57 && fraction_csc<0.67))
00488     muonIdSummaryMap->setBinContent(2,1);
00489   else{
00490     if((fraction_dt>0.7 && fraction_dt<0.8) || (fraction_csc>0.57 && fraction_csc<0.67))
00491       muonIdSummaryMap->setBinContent(2,1.0/2.0);
00492     else
00493       muonIdSummaryMap->setBinContent(2,0);
00494   }
00495 
00496   // residuals test
00497   vector<string> resHistos;
00498   resHistos.push_back("hDT1Pullx");
00499   resHistos.push_back("hDT2Pullx");
00500   resHistos.push_back("hDT3Pullx");
00501   resHistos.push_back("hDT4Pullx");
00502   resHistos.push_back("hDT1Pully");
00503   resHistos.push_back("hDT2Pully");
00504   resHistos.push_back("hDT3Pully");
00505   resHistos.push_back("hCSC1Pullx");
00506   resHistos.push_back("hCSC2Pullx");
00507   resHistos.push_back("hCSC3Pullx");
00508   resHistos.push_back("hCSC4Pullx");
00509   resHistos.push_back("hCSC1Pully");
00510   resHistos.push_back("hCSC2Pully");
00511   resHistos.push_back("hCSC3Pully");
00512   resHistos.push_back("hCSC4Pully");
00513 
00514   double dtSigma=0; 
00515   double cscSigma=0;
00516   int numPlot_dt=0;
00517   int numPlot_csc=0;
00518   for(int name=0; name<=14; name++){   
00519     MonitorElement * resHisto = dbe->get("Muons/MuonIdDQM/TrackerMuons/"+resHistos[name]);
00520     if(resHisto){
00521  
00522       TH1F * resHisto_root = resHisto->getTH1F();
00523       if(resHisto_root->GetEntries()>20){
00524         TF1 *gfit = new TF1("Gaussian","gaus",-2,2);
00525         try {
00526           resHisto_root->Fit(gfit, "Q0");
00527         } catch (...) {
00528           edm::LogError (metname)<< "[MuonTestSummary]: Exception when fitting "<<resHistos[name];
00529         }
00530         if(gfit){
00531           double mean = gfit->GetParameter(1); 
00532           double sigma = gfit->GetParameter(2);
00533           LogTrace(metname)<<"meanRes: "<<mean<<" for "<<resHistos[name]<<endl;
00534           LogTrace(metname)<<"sigmaRes: "<<sigma<<" for "<<resHistos[name]<<endl;
00535           if(name<=6) {
00536             dtSigma+=sigma;
00537             numPlot_dt++;
00538           }
00539           else {
00540             cscSigma+=sigma;
00541             numPlot_csc++;
00542           }
00543         }
00544       }
00545       else{
00546       LogTrace(metname) << "[MuonTestSummary]: Test of "<<resHistos[name]<< " not performed because # entries < 20 ";
00547     }
00548 
00549     }
00550   } // loop over residuals histos
00551   
00552   LogTrace(metname)<<"meanDtSigma: "<<dtSigma/double(numPlot_dt)<<endl;
00553   LogTrace(metname)<<"meanCscSigma: "<<cscSigma/double(numPlot_csc)<<endl;
00554   if(numPlot_dt!=0 && numPlot_csc!=0){
00555     if(((dtSigma/double(numPlot_dt))>0.95 && (dtSigma/double(numPlot_dt))<1.05) 
00556        && ((cscSigma/double(numPlot_csc))>0.95 && (cscSigma/double(numPlot_csc))<1.05))
00557       muonIdSummaryMap->setBinContent(3,1);
00558     else{
00559       if(((dtSigma/double(numPlot_dt))>0.95 && (dtSigma/double(numPlot_dt))<1.05) 
00560          || ((cscSigma/double(numPlot_csc))>0.95 && (cscSigma/double(numPlot_csc))<1.05))
00561         muonIdSummaryMap->setBinContent(3,1.0/2.0);
00562       else
00563         muonIdSummaryMap->setBinContent(3,0);
00564     }
00565   }
00566   if(numPlot_dt!=0 && numPlot_csc!=0){
00567     if((dtSigma/double(numPlot_dt))>0.95 && (dtSigma/double(numPlot_dt))<1.05) 
00568       muonIdSummaryMap->setBinContent(3,1.0/2.0);
00569     else
00570       muonIdSummaryMap->setBinContent(3,0);
00571   }
00572   if(numPlot_dt==0 && numPlot_csc!=0){
00573     if((cscSigma/double(numPlot_csc))>0.95 && (cscSigma/double(numPlot_csc))<1.05)
00574       muonIdSummaryMap->setBinContent(3,1.0/2.0);
00575     else
00576       muonIdSummaryMap->setBinContent(3,0);
00577   }
00578   
00579 }

void MuonTestSummary::doResidualsTests ( std::string  type,
std::string  parameter,
int  bin 
) [protected]

Referenced by endLuminosityBlock().

void MuonTestSummary::endLuminosityBlock ( edm::LuminosityBlock const &  lumiSeg,
edm::EventSetup const &  c 
) [protected, virtual]

Diagnostic.

Reimplemented from edm::EDAnalyzer.

Definition at line 180 of file MuonTestSummary.cc.

References doEnergyTests(), doKinematicsTests(), doMolteplicityTests(), doMuonIDTests(), doResidualsTests(), energySummaryMap, MonitorElement::Fill(), MonitorElement::getBinContent(), kinematicsSummaryMap, molteplicitySummaryMap, muonIdSummaryMap, residualsSummaryMap, MonitorElement::setBinContent(), summaryReport, summaryReportMap, and theSummaryContents.

00180                                                                                                   {
00181 
00182   // fill the kinematics report summary
00183   doKinematicsTests("GlbMuon_Glb_", 1);
00184   doKinematicsTests("GlbMuon_Tk_", 2);
00185   doKinematicsTests("GlbMuon_Sta_",3);
00186   doKinematicsTests("TkMuon_", 4);
00187   doKinematicsTests("StaMuon_", 5);
00188 
00189   // fill the residuals report summary
00190   doResidualsTests("TkGlb", "eta", 1);
00191   doResidualsTests("GlbSta", "eta", 2);
00192   doResidualsTests("TkSta", "eta", 3);
00193   doResidualsTests("TkGlb", "phi", 1);
00194   doResidualsTests("GlbSta", "phi", 2);
00195   doResidualsTests("TkSta", "phi", 3);
00196   doResidualsTests("TkGlb", "oneOverp", 1);
00197   doResidualsTests("GlbSta", "oneOverp", 2);
00198   doResidualsTests("TkSta", "oneOverp", 3);
00199   doResidualsTests("GlbMuon", "qComparison", -1);
00200 
00201   // fill the muonID report summary
00202   doMuonIDTests();
00203 
00204   // fill the energy report summary
00205   doEnergyTests("ecalS9PointingMuDepositedEnergy_","Glb_muons", 1);
00206   doEnergyTests("hadS9PointingMuDepositedEnergy_", "Glb_muons", 1);
00207   doEnergyTests("hoS9PointingMuDepositedEnergy_", "Glb_muons", 1);
00208   doEnergyTests("ecalS9PointingMuDepositedEnergy_", "Tk_muons", 2);
00209   doEnergyTests("hadS9PointingMuDepositedEnergy_", "Tk_muons", 2);
00210   doEnergyTests("hoS9PointingMuDepositedEnergy_", "Tk_muons", 2);
00211   doEnergyTests("ecalS9PointingMuDepositedEnergy_", "Sta_muons", 3);
00212   doEnergyTests("hadS9PointingMuDepositedEnergy_", "Sta_muons", 3);
00213   doEnergyTests("hoS9PointingMuDepositedEnergy_", "Sta_muons", 3);
00214 
00215   // fill the molteplicity test summary
00216   doMolteplicityTests();
00217   
00218   // fill the final report summary
00219   summaryReportMap->setBinContent(1,1,double(kinematicsSummaryMap->getBinContent(1,1)+kinematicsSummaryMap->getBinContent(2,1)+kinematicsSummaryMap->getBinContent(3,1))/3.0);
00220   summaryReportMap->setBinContent(2,1,kinematicsSummaryMap->getBinContent(4,1));
00221   summaryReportMap->setBinContent(3,1,kinematicsSummaryMap->getBinContent(5,1));
00222   summaryReportMap->setBinContent(1,2,double(kinematicsSummaryMap->getBinContent(1,2)+kinematicsSummaryMap->getBinContent(2,2)+kinematicsSummaryMap->getBinContent(3,2))/3.0);
00223   summaryReportMap->setBinContent(2,2,kinematicsSummaryMap->getBinContent(4,2));
00224   summaryReportMap->setBinContent(3,2,kinematicsSummaryMap->getBinContent(5,2));
00225   summaryReportMap->setBinContent(1,3,double(kinematicsSummaryMap->getBinContent(1,3)+kinematicsSummaryMap->getBinContent(2,3)+kinematicsSummaryMap->getBinContent(3,3))/3.0);
00226   summaryReportMap->setBinContent(2,3,kinematicsSummaryMap->getBinContent(4,3));
00227   summaryReportMap->setBinContent(3,3,kinematicsSummaryMap->getBinContent(5,3));
00228   summaryReportMap->setBinContent(1,4,double(residualsSummaryMap->getBinContent(1,1)+residualsSummaryMap->getBinContent(1,2)+residualsSummaryMap->getBinContent(1,3)+residualsSummaryMap->getBinContent(1,4)+residualsSummaryMap->getBinContent(2,1)+residualsSummaryMap->getBinContent(2,2)+residualsSummaryMap->getBinContent(2,3)+residualsSummaryMap->getBinContent(2,4)+residualsSummaryMap->getBinContent(3,1)+residualsSummaryMap->getBinContent(3,2)+residualsSummaryMap->getBinContent(3,3)+residualsSummaryMap->getBinContent(3,4))/12);
00229   summaryReportMap->setBinContent(2,4,-1.0/6.0);
00230   summaryReportMap->setBinContent(3,4,-1.0/6.0);
00231   summaryReportMap->setBinContent(1,5,-1.0/6.0);
00232   summaryReportMap->setBinContent(2,5,double(muonIdSummaryMap->getBinContent(1)+muonIdSummaryMap->getBinContent(2)+muonIdSummaryMap->getBinContent(3))/3.0);
00233   summaryReportMap->setBinContent(3,5,-1.0/6.0);
00234   summaryReportMap->setBinContent(1,6,double(energySummaryMap->getBinContent(1,1)+energySummaryMap->getBinContent(1,2)+energySummaryMap->getBinContent(1,3))/3.0);
00235   summaryReportMap->setBinContent(2,6,double(energySummaryMap->getBinContent(2,1)+energySummaryMap->getBinContent(2,2)+energySummaryMap->getBinContent(2,3))/3.0);
00236   summaryReportMap->setBinContent(3,6,double(energySummaryMap->getBinContent(3,1)+energySummaryMap->getBinContent(3,2)+energySummaryMap->getBinContent(3,3))/3.0);
00237   summaryReportMap->setBinContent(1,7,molteplicitySummaryMap->getBinContent(1));
00238   summaryReportMap->setBinContent(2,7,molteplicitySummaryMap->getBinContent(2));
00239   summaryReportMap->setBinContent(3,7,molteplicitySummaryMap->getBinContent(3));
00240 
00241   double kinematics_GLB = double(summaryReportMap->getBinContent(1,1)+summaryReportMap->getBinContent(1,2)+summaryReportMap->getBinContent(1,3))/3.0;
00242   theSummaryContents[0]->Fill(kinematics_GLB);
00243   double residuals_GLB = summaryReportMap->getBinContent(1,4);
00244   theSummaryContents[1]->Fill(residuals_GLB);
00245   double kinematics_TK = double(summaryReportMap->getBinContent(2,1)+summaryReportMap->getBinContent(2,2)+summaryReportMap->getBinContent(2,3))/3.0;
00246   theSummaryContents[2]->Fill(kinematics_TK);
00247   double muonId_TK = summaryReportMap->getBinContent(2,5);
00248   theSummaryContents[3]->Fill(muonId_TK);
00249   double GLB = (kinematics_GLB+residuals_GLB)/2.0;
00250   theSummaryContents[4]->Fill(GLB);
00251   double TK = double(kinematics_TK+muonId_TK)/2.0;
00252   theSummaryContents[5]->Fill(TK);
00253   double STA = double(summaryReportMap->getBinContent(3,1)+summaryReportMap->getBinContent(3,2)+summaryReportMap->getBinContent(3,3))/3.0;
00254   theSummaryContents[6]->Fill(STA);
00255   double energyDeposits = double(summaryReportMap->getBinContent(1,6)+summaryReportMap->getBinContent(2,6)+summaryReportMap->getBinContent(3,6))/3.0;
00256   theSummaryContents[7]->Fill(energyDeposits);
00257   double molteplicity = double(summaryReportMap->getBinContent(1,7)+summaryReportMap->getBinContent(2,7)+summaryReportMap->getBinContent(3,7))/3.0;
00258   theSummaryContents[8]->Fill(molteplicity);
00259 
00260   summaryReport->Fill((GLB+TK*STA+energyDeposits+molteplicity)/5.0);
00261 
00262  }


Member Data Documentation

double MuonTestSummary::chi2Fraction [private]

Definition at line 72 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::chi2Spread [private]

Definition at line 73 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

DQMStore* MuonTestSummary::dbe [private]

Definition at line 65 of file MuonTestSummary.h.

Referenced by beginJob(), doMolteplicityTests(), doMuonIDTests(), and MuonTestSummary().

MonitorElement* MuonTestSummary::energySummaryMap [private]

Definition at line 93 of file MuonTestSummary.h.

Referenced by beginJob(), beginLuminosityBlock(), and endLuminosityBlock().

double MuonTestSummary::etaExpected [private]

Definition at line 70 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::expMolteplicityGlb [private]

Definition at line 85 of file MuonTestSummary.h.

Referenced by doMolteplicityTests(), and MuonTestSummary().

double MuonTestSummary::expMolteplicitySta [private]

Definition at line 87 of file MuonTestSummary.h.

Referenced by doMolteplicityTests(), and MuonTestSummary().

double MuonTestSummary::expMolteplicityTk [private]

Definition at line 86 of file MuonTestSummary.h.

Referenced by doMolteplicityTests(), and MuonTestSummary().

MonitorElement* MuonTestSummary::kinematicsSummaryMap [private]

Definition at line 90 of file MuonTestSummary.h.

Referenced by beginJob(), beginLuminosityBlock(), and endLuminosityBlock().

std::string MuonTestSummary::metname [private]

Definition at line 67 of file MuonTestSummary.h.

Referenced by beginJob(), doMolteplicityTests(), and doMuonIDTests().

MonitorElement* MuonTestSummary::molteplicitySummaryMap [private]

Definition at line 94 of file MuonTestSummary.h.

Referenced by beginJob(), beginLuminosityBlock(), doMolteplicityTests(), and endLuminosityBlock().

MonitorElement* MuonTestSummary::muonIdSummaryMap [private]

Definition at line 92 of file MuonTestSummary.h.

Referenced by beginJob(), beginLuminosityBlock(), doMuonIDTests(), and endLuminosityBlock().

double MuonTestSummary::numMatchedExpected [private]

Definition at line 83 of file MuonTestSummary.h.

Referenced by doMuonIDTests(), and MuonTestSummary().

double MuonTestSummary::phiExpected [private]

Definition at line 71 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::resChargeLimit_glbSta [private]

Definition at line 81 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::resChargeLimit_tkGlb [private]

Definition at line 80 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::resChargeLimit_tkSta [private]

Definition at line 82 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::resEtaSpread_glbSta [private]

Definition at line 75 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::resEtaSpread_tkGlb [private]

Definition at line 74 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

MonitorElement* MuonTestSummary::residualsSummaryMap [private]

Definition at line 91 of file MuonTestSummary.h.

Referenced by beginJob(), beginLuminosityBlock(), and endLuminosityBlock().

double MuonTestSummary::resOneOvPSpread_glbSta [private]

Definition at line 79 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::resOneOvPSpread_tkGlb [private]

Definition at line 78 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::resPhiSpread_glbSta [private]

Definition at line 77 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::resPhiSpread_tkGlb [private]

Definition at line 76 of file MuonTestSummary.h.

Referenced by MuonTestSummary().

double MuonTestSummary::sigmaResSegmTrackExp [private]

Definition at line 84 of file MuonTestSummary.h.

MonitorElement* MuonTestSummary::summaryReport [private]

Definition at line 95 of file MuonTestSummary.h.

Referenced by beginJob(), and endLuminosityBlock().

MonitorElement* MuonTestSummary::summaryReportMap [private]

Definition at line 96 of file MuonTestSummary.h.

Referenced by beginJob(), beginLuminosityBlock(), and endLuminosityBlock().

std::vector<MonitorElement*> MuonTestSummary::theSummaryContents [private]

Definition at line 97 of file MuonTestSummary.h.

Referenced by beginJob(), and endLuminosityBlock().


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