CMS 3D CMS Logo

GlobalHitsAnalyzer Class Reference

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

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

Inheritance diagram for GlobalHitsAnalyzer:

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 endJob ()
 GlobalHitsAnalyzer (const edm::ParameterSet &)
virtual ~GlobalHitsAnalyzer ()

Private Member Functions

void fillECal (const edm::Event &, const edm::EventSetup &)
void fillG4MC (const edm::Event &)
void fillHCal (const edm::Event &, const edm::EventSetup &)
void fillMuon (const edm::Event &, const edm::EventSetup &)
void fillTrk (const edm::Event &, const edm::EventSetup &)

Private Attributes

unsigned int count
DQMStoredbe
edm::InputTag ECalEBSrc_
edm::InputTag ECalEESrc_
edm::InputTag ECalESSrc_
std::string fName
int frequency
bool getAllProvenances
edm::InputTag HCalSrc_
std::string label
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
edm::InputTag MuonCscSrc_
edm::InputTag MuonDtSrc_
edm::InputTag MuonRpcSrc_
int nMuonHits
int nPxlHits
int nRawGenPart
int nSiHits
bool printProvenanceInfo
edm::InputTag PxlBrlHighSrc_
edm::InputTag PxlBrlLowSrc_
edm::InputTag PxlFwdHighSrc_
edm::InputTag PxlFwdLowSrc_
edm::InputTag SiTECHighSrc_
edm::InputTag SiTECLowSrc_
edm::InputTag SiTIBHighSrc_
edm::InputTag SiTIBLowSrc_
edm::InputTag SiTIDHighSrc_
edm::InputTag SiTIDLowSrc_
edm::InputTag SiTOBHighSrc_
edm::InputTag SiTOBLowSrc_
bool validEB
bool validEE
bool validG4trkContainer
bool validG4VtxContainer
bool validHcal
bool validHepMCevt
bool validMuonCSC
bool validMuonDt
bool validMuonRPC
bool validPresh
bool validPxlBrlHigh
bool validPxlBrlLow
bool validPxlFwdHigh
bool validPxlFwdLow
bool validSiTECHigh
bool validSiTECLow
bool validSiTIBHigh
bool validSiTIBLow
bool validSiTIDHigh
bool validSiTIDLow
bool validSiTOBHigh
bool validSiTOBLow
int verbosity
int vtxunit


Detailed Description

Class to fill dqm monitor elements from existing EDM file.

Date
2008/07/23 19:47:46
Revision
1.8
Author:
M. Strang SUNY-Buffalo
Date
2008/03/13 21:17:07
Revision
1.5
Author:
M. Strang SUNY-Buffalo

Definition at line 74 of file GlobalHitsAnalyzer.h.


Constructor & Destructor Documentation

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

Definition at line 14 of file GlobalHitsAnalyzer.cc.

References DQMStore::book1D(), dbe, ECalEBSrc_, ECalEESrc_, ECalESSrc_, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HCalSrc_, i, edm::InputTag::instance(), edm::InputTag::label(), meCaloEcal, meCaloEcalE, meCaloEcalEta, meCaloEcalPhi, meCaloEcalToF, meCaloHcal, meCaloHcalE, meCaloHcalEta, meCaloHcalPhi, meCaloHcalToF, meCaloPreSh, meCaloPreShE, meCaloPreShEta, meCaloPreShPhi, meCaloPreShToF, meGeantTrkE, meGeantTrkPt, meGeantVtxX, meGeantVtxY, meGeantVtxZ, meMCG4Trk, meMCG4Vtx, meMCRGP, meMuon, meMuonCscToF, meMuonCscZ, meMuonDtR, meMuonDtToF, meMuonEta, meMuonPhi, meMuonRpcBR, meMuonRpcBToF, meMuonRpcFToF, meMuonRpcFZ, meTrackerPx, meTrackerPxBR, meTrackerPxBToF, meTrackerPxEta, meTrackerPxFToF, meTrackerPxFZ, meTrackerPxPhi, meTrackerSi, meTrackerSiBR, meTrackerSiBToF, meTrackerSiEta, meTrackerSiFToF, meTrackerSiFZ, meTrackerSiPhi, MuonCscSrc_, MuonDtSrc_, MuonRpcSrc_, printProvenanceInfo, PxlBrlHighSrc_, PxlBrlLowSrc_, PxlFwdHighSrc_, PxlFwdLowSrc_, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), DQMStore::setVerbose(), DQMStore::showDirStructure(), SiTECHighSrc_, SiTECLowSrc_, SiTIBHighSrc_, SiTIBLowSrc_, SiTIDHighSrc_, SiTIDLowSrc_, SiTOBHighSrc_, SiTOBLowSrc_, validEB, validEE, validG4trkContainer, validG4VtxContainer, validHcal, validHepMCevt, validMuonCSC, validMuonDt, validMuonRPC, validPresh, validPxlBrlHigh, validPxlBrlLow, validPxlFwdHigh, validPxlFwdLow, validSiTECHigh, validSiTECLow, validSiTIBHigh, validSiTIBLow, validSiTIDHigh, validSiTIDLow, validSiTOBHigh, validSiTOBLow, verbosity, and vtxunit.

00014                                                                    :
00015   fName(""), verbosity(0), frequency(0), vtxunit(0), label(""), 
00016   getAllProvenances(false), printProvenanceInfo(false), count(0)
00017 {
00018   std::string MsgLoggerCat = "GlobalHitsAnalyzer_GlobalHitsAnalyzer";
00019 
00020   // get information from parameter set
00021   fName = iPSet.getUntrackedParameter<std::string>("Name");
00022   verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
00023   frequency = iPSet.getUntrackedParameter<int>("Frequency");
00024   vtxunit = iPSet.getUntrackedParameter<int>("VtxUnit");
00025   edm::ParameterSet m_Prov =
00026     iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
00027   getAllProvenances = 
00028     m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
00029   printProvenanceInfo = 
00030     m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
00031 
00032   //get Labels to use to extract information
00033   PxlBrlLowSrc_ = iPSet.getParameter<edm::InputTag>("PxlBrlLowSrc");
00034   PxlBrlHighSrc_ = iPSet.getParameter<edm::InputTag>("PxlBrlHighSrc");
00035   PxlFwdLowSrc_ = iPSet.getParameter<edm::InputTag>("PxlFwdLowSrc");
00036   PxlFwdHighSrc_ = iPSet.getParameter<edm::InputTag>("PxlFwdHighSrc");
00037 
00038   SiTIBLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTIBLowSrc");
00039   SiTIBHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTIBHighSrc");
00040   SiTOBLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTOBLowSrc");
00041   SiTOBHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTOBHighSrc");
00042   SiTIDLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTIDLowSrc");
00043   SiTIDHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTIDHighSrc");
00044   SiTECLowSrc_ = iPSet.getParameter<edm::InputTag>("SiTECLowSrc");
00045   SiTECHighSrc_ = iPSet.getParameter<edm::InputTag>("SiTECHighSrc");
00046 
00047   MuonCscSrc_ = iPSet.getParameter<edm::InputTag>("MuonCscSrc");
00048   MuonDtSrc_ = iPSet.getParameter<edm::InputTag>("MuonDtSrc");
00049   MuonRpcSrc_ = iPSet.getParameter<edm::InputTag>("MuonRpcSrc");
00050 
00051   ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc");
00052   ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc");
00053   ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc");
00054 
00055   HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc");
00056 
00057   // determine whether to process subdetector or not
00058   validHepMCevt = iPSet.getUntrackedParameter<bool>("validHepMCevt");
00059   validG4VtxContainer = 
00060     iPSet.getUntrackedParameter<bool>("validG4VtxContainer");
00061   validG4trkContainer = 
00062     iPSet.getUntrackedParameter<bool>("validG4trkContainer");
00063   validPxlBrlLow = iPSet.getUntrackedParameter<bool>("validPxlBrlLow",true);
00064   validPxlBrlHigh = iPSet.getUntrackedParameter<bool>("validPxlBrlHigh",true);
00065   validPxlFwdLow = iPSet.getUntrackedParameter<bool>("validPxlFwdLow",true);
00066   validPxlFwdHigh = iPSet.getUntrackedParameter<bool>("validPxlFwdHigh",true);
00067   validSiTIBLow = iPSet.getUntrackedParameter<bool>("validSiTIBLow",true);
00068   validSiTIBHigh = iPSet.getUntrackedParameter<bool>("validSiTIBHigh",true);
00069   validSiTOBLow = iPSet.getUntrackedParameter<bool>("validSiTOBLow",true);
00070   validSiTOBHigh = iPSet.getUntrackedParameter<bool>("validSiTOBHigh",true);
00071   validSiTIDLow = iPSet.getUntrackedParameter<bool>("validSiTIDLow",true);
00072   validSiTIDHigh = iPSet.getUntrackedParameter<bool>("validSiTIDHigh",true);
00073   validSiTECLow = iPSet.getUntrackedParameter<bool>("validSiTECLow",true);
00074   validSiTECHigh = iPSet.getUntrackedParameter<bool>("validSiTECHigh",true);
00075   validMuonCSC = iPSet.getUntrackedParameter<bool>("validMuonCSC",true);
00076   validMuonDt = iPSet.getUntrackedParameter<bool>("validMuonDt",true);
00077   validMuonRPC = iPSet.getUntrackedParameter<bool>("validMuonRPC",true);
00078   validEB = iPSet.getUntrackedParameter<bool>("validEB",true);
00079   validEE = iPSet.getUntrackedParameter<bool>("validEE",true);
00080   validPresh = iPSet.getUntrackedParameter<bool>("validPresh",true);
00081   validHcal = iPSet.getUntrackedParameter<bool>("validHcal",true);  
00082 
00083   // use value of first digit to determine default output level (inclusive)
00084   // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
00085   verbosity %= 10;
00086 
00087   // print out Parameter Set information being used
00088   if (verbosity >= 0) {
00089     edm::LogInfo(MsgLoggerCat) 
00090       << "\n===============================\n"
00091       << "Initialized as EDAnalyzer with parameter values:\n"
00092       << "    Name                  = " << fName << "\n"
00093       << "    Verbosity             = " << verbosity << "\n"
00094       << "    Frequency             = " << frequency << "\n"
00095       << "    VtxUnit               = " << vtxunit << "\n"
00096       << "    GetProv               = " << getAllProvenances << "\n"
00097       << "    PrintProv             = " << printProvenanceInfo << "\n"
00098       << "    PxlBrlLowSrc          = " << PxlBrlLowSrc_.label() 
00099       << ":" << PxlBrlLowSrc_.instance() << "\n"
00100       << "    PxlBrlHighSrc         = " << PxlBrlHighSrc_.label() 
00101       << ":" << PxlBrlHighSrc_.instance() << "\n"
00102       << "    PxlFwdLowSrc          = " << PxlFwdLowSrc_.label() 
00103       << ":" << PxlBrlLowSrc_.instance() << "\n"
00104       << "    PxlFwdHighSrc         = " << PxlFwdHighSrc_.label() 
00105       << ":" << PxlBrlHighSrc_.instance() << "\n"
00106       << "    SiTIBLowSrc           = " << SiTIBLowSrc_.label() 
00107       << ":" << SiTIBLowSrc_.instance() << "\n"
00108       << "    SiTIBHighSrc          = " << SiTIBHighSrc_.label() 
00109       << ":" << SiTIBHighSrc_.instance() << "\n"
00110       << "    SiTOBLowSrc           = " << SiTOBLowSrc_.label() 
00111       << ":" << SiTOBLowSrc_.instance() << "\n"
00112       << "    SiTOBHighSrc          = " << SiTOBHighSrc_.label() 
00113       << ":" << SiTOBHighSrc_.instance() << "\n"
00114       << "    SiTIDLowSrc           = " << SiTIDLowSrc_.label() 
00115       << ":" << SiTIDLowSrc_.instance() << "\n"
00116       << "    SiTIDHighSrc          = " << SiTIDHighSrc_.label() 
00117       << ":" << SiTIDHighSrc_.instance() << "\n"
00118       << "    SiTECLowSrc           = " << SiTECLowSrc_.label() 
00119       << ":" << SiTECLowSrc_.instance() << "\n"
00120       << "    SiTECHighSrc          = " << SiTECHighSrc_.label() 
00121       << ":" << SiTECHighSrc_.instance() << "\n"
00122       << "    MuonCscSrc            = " << MuonCscSrc_.label() 
00123       << ":" << MuonCscSrc_.instance() << "\n"
00124       << "    MuonDtSrc             = " << MuonDtSrc_.label() 
00125       << ":" << MuonDtSrc_.instance() << "\n"
00126       << "    MuonRpcSrc            = " << MuonRpcSrc_.label() 
00127       << ":" << MuonRpcSrc_.instance() << "\n"
00128       << "    ECalEBSrc             = " << ECalEBSrc_.label() 
00129       << ":" << ECalEBSrc_.instance() << "\n"
00130       << "    ECalEESrc             = " << ECalEESrc_.label() 
00131       << ":" << ECalEESrc_.instance() << "\n"
00132       << "    ECalESSrc             = " << ECalESSrc_.label() 
00133       << ":" << ECalESSrc_.instance() << "\n"
00134       << "    HCalSrc               = " << HCalSrc_.label() 
00135       << ":" << HCalSrc_.instance() << "\n"
00136       << "\n"
00137       << "    validHepMCevt         = "
00138       << ":" <<  validHepMCevt << "\n"
00139       << "    validG4VtxContainer   = "
00140       << ":" <<  validG4VtxContainer << "\n"
00141       << "    validG4trkContainer   = "
00142       << ":" <<  validG4trkContainer << "\n"
00143       << "    validPxlBrlLow        = "
00144       << ":" <<  validPxlBrlLow << "\n"
00145       << "    validPxlBrlHigh       = "
00146       << ":" <<  validPxlBrlHigh << "\n"
00147       << "    validPxlFwdLow        = "
00148       << ":" <<  validPxlFwdLow << "\n"
00149       << "    validPxlFwdHigh       = "
00150       << ":" <<  validPxlFwdHigh << "\n"
00151       << "    validSiTIBLow         = "
00152       << ":" <<  validSiTIBLow << "\n"
00153       << "    validSiTIBHigh        = "
00154       << ":" <<  validSiTIBHigh << "\n"
00155       << "    validSiTOBLow         = "
00156       << ":" <<  validSiTOBLow << "\n"
00157       << "    validSiTOBHigh        = "
00158       << ":" <<  validSiTOBHigh << "\n"
00159       << "    validSiTIDLow         = "
00160       << ":" <<  validSiTIDLow << "\n"
00161       << "    validSiTIDHigh        = "
00162       << ":" <<  validSiTIDHigh << "\n"
00163       << "    validSiTECLow         = "
00164       << ":" <<  validSiTECLow << "\n"
00165       << "    validSiTECHigh        = "
00166       << ":" <<  validSiTECHigh << "\n"
00167       << "    validMuonCSC          = "
00168       << ":" <<  validMuonCSC << "\n"
00169       << "    validMuonDt           = "
00170       << ":" <<  validMuonDt << "\n"
00171       << "    validMuonRPC          = "
00172       << ":" <<  validMuonRPC << "\n"
00173       << "    validEB               = "
00174       << ":" <<  validEB << "\n"
00175       << "    validEE               = "
00176       << ":" <<  validEE << "\n"
00177       << "    validPresh            = "
00178       << ":" <<  validPresh << "\n"
00179       << "    validHcal             = "
00180       << ":" <<  validHcal << "\n"
00181       << "===============================\n";
00182   }
00183 
00184   // get dqm info
00185   dbe = 0;
00186   dbe = edm::Service<DQMStore>().operator->();
00187   if (dbe) {
00188     if (verbosity > 0 ) {
00189       dbe->setVerbose(1);
00190     } else {
00191       dbe->setVerbose(0);
00192     }
00193   }
00194 
00195   if (dbe) {
00196     if (verbosity > 0 ) dbe->showDirStructure();
00197   }
00198 
00199   // initialize monitor elements
00200   for (Int_t i = 0; i < 2; ++i) {
00201     meMCRGP[i] = 0;
00202     meMCG4Vtx[i] = 0;
00203     meGeantVtxX[i] = 0;
00204     meGeantVtxY[i] = 0;
00205     meGeantVtxZ[i] = 0; 
00206     meMCG4Trk[i] = 0;
00207     meCaloEcal[i] = 0;
00208     meCaloEcalE[i] = 0;
00209     meCaloEcalToF[i] = 0;
00210     meCaloPreSh[i] = 0;
00211     meCaloPreShE[i] = 0;
00212     meCaloPreShToF[i] = 0;
00213     meCaloHcal[i] = 0;
00214     meCaloHcalE[i] = 0;
00215     meCaloHcalToF[i] = 0;
00216     meTrackerPx[i] = 0;
00217     meTrackerSi[i] = 0;
00218     meMuon[i] = 0;
00219     meMuonDtToF[i] = 0;
00220     meMuonCscToF[i] = 0;
00221     meMuonRpcFToF[i] = 0;
00222     meMuonRpcBToF[i] = 0;
00223   }
00224   meGeantTrkPt = 0;
00225   meGeantTrkE = 0;
00226   meCaloEcalPhi = 0;
00227   meCaloEcalEta = 0;
00228   meCaloPreShPhi = 0;
00229   meCaloPreShEta = 0;
00230   meCaloHcalPhi = 0;
00231   meCaloHcalEta = 0;
00232   meTrackerPxPhi = 0;
00233   meTrackerPxEta = 0;
00234   meTrackerPxBToF = 0;
00235   meTrackerPxBR = 0;
00236   meTrackerPxFToF = 0;
00237   meTrackerPxFZ = 0;
00238   meTrackerSiPhi = 0;
00239   meTrackerSiEta = 0;
00240   meTrackerSiBToF = 0;
00241   meTrackerSiBR = 0;
00242   meTrackerSiFToF = 0;
00243   meTrackerSiFZ = 0;
00244   meMuonPhi = 0;
00245   meMuonEta = 0;
00246   meMuonDtR = 0;
00247   meMuonCscZ = 0;
00248   meMuonRpcBR = 0;
00249   meMuonRpcFZ = 0;
00250 
00251   //create histograms
00252   Char_t hname[200];
00253   Char_t htitle[200];
00254   if (dbe) {
00255 
00256     // MCGeant
00257     dbe->setCurrentFolder("GlobalHitsV/MCGeant");
00258     sprintf(hname,"hMCRGP1");
00259     sprintf(htitle,"RawGenParticles");
00260     meMCRGP[0] = dbe->book1D(hname,htitle,100,0.,5000.);
00261     sprintf(hname,"hMCRGP2");
00262     meMCRGP[1] = dbe->book1D(hname,htitle,100,0.,500.);  
00263     for (Int_t i = 0; i < 2; ++i) {
00264       meMCRGP[i]->setAxisTitle("Number of Raw Generated Particles",1);
00265       meMCRGP[i]->setAxisTitle("Count",2);
00266     }
00267 
00268     sprintf(hname,"hMCG4Vtx1");
00269     sprintf(htitle,"G4 Vertices");
00270     meMCG4Vtx[0] = dbe->book1D(hname,htitle,100,0.,50000.);
00271     sprintf(hname,"hMCG4Vtx2");
00272     meMCG4Vtx[1] = dbe->book1D(hname,htitle,100,-0.5,99.5); 
00273     for (Int_t i = 0; i < 2; ++i) {
00274       meMCG4Vtx[i]->setAxisTitle("Number of Vertices",1);
00275       meMCG4Vtx[i]->setAxisTitle("Count",2);
00276     }
00277 
00278     sprintf(hname,"hMCG4Trk1");
00279     sprintf(htitle,"G4 Tracks");
00280     meMCG4Trk[0] = dbe->book1D(hname,htitle,150,0.,15000.);
00281     sprintf(hname,"hMCG4Trk2");
00282     meMCG4Trk[1] = dbe->book1D(hname,htitle,150,-0.5,99.5);    
00283     for (Int_t i = 0; i < 2; ++i) {
00284       meMCG4Trk[i]->setAxisTitle("Number of Tracks",1);
00285       meMCG4Trk[i]->setAxisTitle("Count",2);
00286     }
00287 
00288     sprintf(hname,"hGeantVtxX1");
00289     sprintf(htitle,"Geant vertex x/micrometer");
00290     meGeantVtxX[0] = dbe->book1D(hname,htitle,100,-8000000.,8000000.);
00291     sprintf(hname,"hGeantVtxX2");
00292     meGeantVtxX[1] = dbe->book1D(hname,htitle,100,-50.,50.); 
00293     for (Int_t i = 0; i < 2; ++i) {
00294       meGeantVtxX[i]->setAxisTitle("x of Vertex (um)",1);
00295       meGeantVtxX[i]->setAxisTitle("Count",2);
00296     }
00297 
00298     sprintf(hname,"hGeantVtxY1");
00299     sprintf(htitle,"Geant vertex y/micrometer");
00300     meGeantVtxY[0] = dbe->book1D(hname,htitle,100,-8000000,8000000.);
00301     sprintf(hname,"hGeantVtxY2");
00302     meGeantVtxY[1] = dbe->book1D(hname,htitle,100,-50.,50.); 
00303     for (Int_t i = 0; i < 2; ++i) {
00304       meGeantVtxY[i]->setAxisTitle("y of Vertex (um)",1);
00305       meGeantVtxY[i]->setAxisTitle("Count",2);
00306     }
00307 
00308     sprintf(hname,"hGeantVtxZ1");
00309     sprintf(htitle,"Geant vertex z/millimeter");
00310     meGeantVtxZ[0] = dbe->book1D(hname,htitle,100,-11000.,11000.);
00311     sprintf(hname,"hGeantVtxZ2");
00312     meGeantVtxZ[1] = dbe->book1D(hname,htitle,200,-500.,500.);
00313     //meGeantVtxZ[1] = dbe->book1D(hname,htitle,100,-250.,250.);
00314     for (Int_t i = 0; i < 2; ++i) {
00315       meGeantVtxZ[i]->setAxisTitle("z of Vertex (mm)",1);
00316       meGeantVtxZ[i]->setAxisTitle("Count",2);
00317     }
00318 
00319     sprintf(hname,"hGeantTrkPt");
00320     sprintf(htitle,"Geant track pt/GeV");
00321     meGeantTrkPt = dbe->book1D(hname,htitle,100,0.,200.);
00322     meGeantTrkPt->setAxisTitle("pT of Track (GeV)",1);
00323     meGeantTrkPt->setAxisTitle("Count",2);
00324 
00325     sprintf(hname,"hGeantTrkE");
00326     sprintf(htitle,"Geant track E/GeV");
00327     meGeantTrkE = dbe->book1D(hname,htitle,100,0.,5000.);
00328     meGeantTrkE->setAxisTitle("E of Track (GeV)",1);
00329     meGeantTrkE->setAxisTitle("Count",2);
00330 
00331     // ECal
00332     dbe->setCurrentFolder("GlobalHitsV/ECals");
00333     sprintf(hname,"hCaloEcal1");
00334     sprintf(htitle,"Ecal hits");
00335     meCaloEcal[0] = dbe->book1D(hname,htitle,100,0.,10000.);
00336     sprintf(hname,"hCaloEcal2");
00337     meCaloEcal[1] = dbe->book1D(hname,htitle,100,-0.5,99.5);
00338 
00339     sprintf(hname,"hCaloEcalE1");
00340     sprintf(htitle,"Ecal hits, energy/GeV");
00341     meCaloEcalE[0] = dbe->book1D(hname,htitle,100,0.,10.);
00342     sprintf(hname,"hCaloEcalE2");
00343     meCaloEcalE[1] = dbe->book1D(hname,htitle,100,0.,0.1);
00344     sprintf(hname,"hCaloEcalToF1");
00345     sprintf(htitle,"Ecal hits, ToF/ns");
00346     meCaloEcalToF[0] = dbe->book1D(hname,htitle,100,0.,1000.);
00347     sprintf(hname,"hCaloEcalToF2");
00348     meCaloEcalToF[1] = dbe->book1D(hname,htitle,100,0.,100.);
00349  
00350     for (Int_t i = 0; i < 2; ++i) {
00351       meCaloEcal[i]->setAxisTitle("Number of Hits",1);
00352       meCaloEcal[i]->setAxisTitle("Count",2);
00353       meCaloEcalE[i]->setAxisTitle("Energy of Hits (GeV)",1);
00354       meCaloEcalE[i]->setAxisTitle("Count",2);
00355       meCaloEcalToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
00356       meCaloEcalToF[i]->setAxisTitle("Count",2);
00357     }
00358 
00359     sprintf(hname,"hCaloEcalPhi");
00360     sprintf(htitle,"Ecal hits, phi/rad");
00361     meCaloEcalPhi = dbe->book1D(hname,htitle,100,-3.2,3.2);
00362     meCaloEcalPhi->setAxisTitle("Phi of Hits (rad)",1);
00363     meCaloEcalPhi->setAxisTitle("Count",2);
00364 
00365     sprintf(hname,"hCaloEcalEta");
00366     sprintf(htitle,"Ecal hits, eta");
00367     meCaloEcalEta = dbe->book1D(hname,htitle,100,-5.5,5.5);
00368     meCaloEcalEta->setAxisTitle("Eta of Hits",1);
00369     meCaloEcalEta->setAxisTitle("Count",2);
00370 
00371     sprintf(hname,"hCaloPreSh1");
00372     sprintf(htitle,"PreSh hits");
00373     meCaloPreSh[0] = dbe->book1D(hname,htitle,100,0.,10000.);
00374     sprintf(hname,"hCaloPreSh2");
00375     meCaloPreSh[1] = dbe->book1D(hname,htitle,100,-0.5,99.5);
00376 
00377     sprintf(hname,"hCaloPreShE1");
00378     sprintf(htitle,"PreSh hits, energy/GeV");
00379     meCaloPreShE[0] = dbe->book1D(hname,htitle,100,0.,10.);
00380     sprintf(hname,"hCaloPreShE2");
00381     meCaloPreShE[1] = dbe->book1D(hname,htitle,100,0.,0.1);
00382 
00383     sprintf(hname,"hCaloPreShToF1");
00384     sprintf(htitle,"PreSh hits, ToF/ns");
00385     meCaloPreShToF[0] = dbe->book1D(hname,htitle,100,0.,1000.);
00386     sprintf(hname,"hCaloPreShToF2");
00387     meCaloPreShToF[1] = dbe->book1D(hname,htitle,100,0.,100.);
00388 
00389     for (Int_t i = 0; i < 2; ++i) {
00390       meCaloPreSh[i]->setAxisTitle("Number of Hits",1);
00391       meCaloPreSh[i]->setAxisTitle("Count",2);
00392       meCaloPreShE[i]->setAxisTitle("Energy of Hits (GeV)",1);
00393       meCaloPreShE[i]->setAxisTitle("Count",2);
00394       meCaloPreShToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
00395       meCaloPreShToF[i]->setAxisTitle("Count",2);
00396     }
00397 
00398     sprintf(hname,"hCaloPreShPhi");
00399     sprintf(htitle,"PreSh hits, phi/rad");
00400     meCaloPreShPhi = dbe->book1D(hname,htitle,100,-3.2,3.2);
00401     meCaloPreShPhi->setAxisTitle("Phi of Hits (rad)",1);
00402     meCaloPreShPhi->setAxisTitle("Count",2);
00403 
00404     sprintf(hname,"hCaloPreShEta");
00405     sprintf(htitle,"PreSh hits, eta");
00406     meCaloPreShEta = dbe->book1D(hname,htitle,100,-5.5,5.5);
00407     meCaloPreShEta->setAxisTitle("Eta of Hits",1);
00408     meCaloPreShEta->setAxisTitle("Count",2);
00409 
00410     // Hcal
00411     dbe->setCurrentFolder("GlobalHitsV/HCals");
00412     sprintf(hname,"hCaloHcal1");
00413     sprintf(htitle,"Hcal hits");
00414     meCaloHcal[0] = dbe->book1D(hname,htitle,100,0.,10000.);
00415     sprintf(hname,"hCaloHcal2");
00416     meCaloHcal[1] = dbe->book1D(hname,htitle,100,-0.5,99.5);
00417 
00418     sprintf(hname,"hCaloHcalE1");
00419     sprintf(htitle,"Hcal hits, energy/GeV");
00420     meCaloHcalE[0] = dbe->book1D(hname,htitle,100,0.,10.);
00421     sprintf(hname,"hCaloHcalE2");
00422     meCaloHcalE[1] = dbe->book1D(hname,htitle,100,0.,0.1);
00423 
00424     sprintf(hname,"hCaloHcalToF1");
00425     sprintf(htitle,"Hcal hits, ToF/ns");
00426     meCaloHcalToF[0] = dbe->book1D(hname,htitle,100,0.,1000.);
00427     sprintf(hname,"hCaloHcalToF2");
00428     meCaloHcalToF[1] = dbe->book1D(hname,htitle,100,0.,100.);
00429 
00430     for (Int_t i = 0; i < 2; ++i) {
00431       meCaloHcal[i]->setAxisTitle("Number of Hits",1);
00432       meCaloHcal[i]->setAxisTitle("Count",2);
00433       meCaloHcalE[i]->setAxisTitle("Energy of Hits (GeV)",1);
00434       meCaloHcalE[i]->setAxisTitle("Count",2);
00435       meCaloHcalToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
00436       meCaloHcalToF[i]->setAxisTitle("Count",2);
00437     }
00438 
00439     sprintf(hname,"hCaloHcalPhi");
00440     sprintf(htitle,"Hcal hits, phi/rad");
00441     meCaloHcalPhi = dbe->book1D(hname,htitle,100,-3.2,3.2);
00442     meCaloHcalPhi->setAxisTitle("Phi of Hits (rad)",1);
00443     meCaloHcalPhi->setAxisTitle("Count",2);
00444 
00445     sprintf(hname,"hCaloHcalEta");
00446     sprintf(htitle,"Hcal hits, eta");
00447     meCaloHcalEta = dbe->book1D(hname,htitle,100,-5.5,5.5);
00448     meCaloHcalEta->setAxisTitle("Eta of Hits",1);
00449     meCaloHcalEta->setAxisTitle("Count",2);
00450     
00451     // SiPixels
00452     dbe->setCurrentFolder("GlobalHitsV/SiPixels");
00453     sprintf(hname,"hTrackerPx1");
00454     sprintf(htitle,"Pixel hits");
00455     meTrackerPx[0] = dbe->book1D(hname,htitle,100,0.,10000.);
00456     sprintf(hname,"hTrackerPx2");
00457     meTrackerPx[1] = dbe->book1D(hname,htitle,100,-0.5,99.5);
00458     for (Int_t i = 0; i < 2; ++i) {
00459       meTrackerPx[i]->setAxisTitle("Number of Pixel Hits",1);
00460       meTrackerPx[i]->setAxisTitle("Count",2);
00461     }
00462 
00463     sprintf(hname,"hTrackerPxPhi");
00464     sprintf(htitle,"Pixel hits phi/rad");
00465     meTrackerPxPhi = dbe->book1D(hname,htitle,100,-3.2,3.2);
00466     meTrackerPxPhi->setAxisTitle("Phi of Hits (rad)",1);
00467     meTrackerPxPhi->setAxisTitle("Count",2);
00468 
00469     sprintf(hname,"hTrackerPxEta");
00470     sprintf(htitle,"Pixel hits eta");
00471     meTrackerPxEta = dbe->book1D(hname,htitle,100,-3.5,3.5);
00472     meTrackerPxEta->setAxisTitle("Eta of Hits",1);
00473     meTrackerPxEta->setAxisTitle("Count",2);
00474 
00475     sprintf(hname,"hTrackerPxBToF");
00476     sprintf(htitle,"Pixel barrel hits, ToF/ns");
00477     meTrackerPxBToF = dbe->book1D(hname,htitle,100,0.,40.);
00478     meTrackerPxBToF->setAxisTitle("Time of Flight of Hits (ns)",1);
00479     meTrackerPxBToF->setAxisTitle("Count",2);
00480 
00481     sprintf(hname,"hTrackerPxBR");
00482     sprintf(htitle,"Pixel barrel hits, R/cm");
00483     meTrackerPxBR = dbe->book1D(hname,htitle,100,0.,50.);
00484     meTrackerPxBR->setAxisTitle("R of Hits (cm)",1);
00485     meTrackerPxBR->setAxisTitle("Count",2);
00486 
00487     sprintf(hname,"hTrackerPxFToF");
00488     sprintf(htitle,"Pixel forward hits, ToF/ns");
00489     meTrackerPxFToF = dbe->book1D(hname,htitle,100,0.,50.);
00490     meTrackerPxFToF->setAxisTitle("Time of Flight of Hits (ns)",1);
00491     meTrackerPxFToF->setAxisTitle("Count",2);
00492 
00493     sprintf(hname,"hTrackerPxFZ");
00494     sprintf(htitle,"Pixel forward hits, Z/cm");
00495     meTrackerPxFZ = 
00496       dbe->book1D(hname,htitle,200,-100.,100.);
00497     meTrackerPxFZ->setAxisTitle("Z of Hits (cm)",1);
00498     meTrackerPxFZ->setAxisTitle("Count",2);
00499 
00500     // SiStrips
00501     dbe->setCurrentFolder("GlobalHitsV/SiStrips");
00502     sprintf(hname,"hTrackerSi1");
00503     sprintf(htitle,"Silicon hits");
00504     meTrackerSi[0] = dbe->book1D(hname,htitle,100,0.,10000.);
00505     sprintf(hname,"hTrackerSi2");
00506     meTrackerSi[1] = dbe->book1D(hname,htitle,100,-0.5,99.5);
00507     for (Int_t i = 0; i < 2; ++i) { 
00508       meTrackerSi[i]->setAxisTitle("Number of Silicon Hits",1);
00509       meTrackerSi[i]->setAxisTitle("Count",2);
00510     }
00511 
00512     sprintf(hname,"hTrackerSiPhi");
00513     sprintf(htitle,"Silicon hits phi/rad");
00514     meTrackerSiPhi = dbe->book1D(hname,htitle,100,-3.2,3.2);
00515     meTrackerSiPhi->setAxisTitle("Phi of Hits (rad)",1);
00516     meTrackerSiPhi->setAxisTitle("Count",2);
00517 
00518     sprintf(hname,"hTrackerSiEta");
00519     sprintf(htitle,"Silicon hits eta");
00520     meTrackerSiEta = dbe->book1D(hname,htitle,100,-3.5,3.5);
00521     meTrackerSiEta->setAxisTitle("Eta of Hits",1);
00522     meTrackerSiEta->setAxisTitle("Count",2);
00523 
00524     sprintf(hname,"hTrackerSiBToF");
00525     sprintf(htitle,"Silicon barrel hits, ToF/ns");
00526     meTrackerSiBToF = dbe->book1D(hname,htitle,100,0.,50.);
00527     meTrackerSiBToF->setAxisTitle("Time of Flight of Hits (ns)",1);
00528     meTrackerSiBToF->setAxisTitle("Count",2);
00529 
00530     sprintf(hname,"hTrackerSiBR");
00531     sprintf(htitle,"Silicon barrel hits, R/cm");
00532     meTrackerSiBR = dbe->book1D(hname,htitle,100,0.,200.);
00533     meTrackerSiBR->setAxisTitle("R of Hits (cm)",1);
00534     meTrackerSiBR->setAxisTitle("Count",2);
00535 
00536     sprintf(hname,"hTrackerSiFToF");
00537     sprintf(htitle,"Silicon forward hits, ToF/ns");
00538     meTrackerSiFToF = dbe->book1D(hname,htitle,100,0.,75.);
00539     meTrackerSiFToF->setAxisTitle("Time of Flight of Hits (ns)",1);
00540     meTrackerSiFToF->setAxisTitle("Count",2);
00541 
00542     sprintf(hname,"hTrackerSiFZ");
00543     sprintf(htitle,"Silicon forward hits, Z/cm");
00544     meTrackerSiFZ = dbe->book1D(hname,htitle,200,-300.,300.);
00545     meTrackerSiFZ->setAxisTitle("Z of Hits (cm)",1);
00546     meTrackerSiFZ->setAxisTitle("Count",2);
00547 
00548     // Muon
00549     dbe->setCurrentFolder("GlobalHitsV/Muons");
00550     sprintf(hname,"hMuon1");
00551     sprintf(htitle,"Muon hits");
00552     meMuon[0] = dbe->book1D(hname,htitle,100,0.,10000.);
00553     sprintf(hname,"hMuon2");
00554     meMuon[1] = dbe->book1D(hname,htitle,100,-0.5,99.5);
00555     for (Int_t i = 0; i < 2; ++i) { 
00556       meMuon[i]->setAxisTitle("Number of Muon Hits",1);
00557       meMuon[i]->setAxisTitle("Count",2);
00558     }  
00559 
00560     sprintf(hname,"hMuonPhi");
00561     sprintf(htitle,"Muon hits phi/rad");
00562     meMuonPhi = dbe->book1D(hname,htitle,100,-3.2,3.2);
00563     meMuonPhi->setAxisTitle("Phi of Hits (rad)",1);
00564     meMuonPhi->setAxisTitle("Count",2);
00565 
00566     sprintf(hname,"hMuonEta");
00567     sprintf(htitle,"Muon hits eta");
00568     meMuonEta = dbe->book1D(hname,htitle,100,-3.5,3.5);
00569     meMuonEta->setAxisTitle("Eta of Hits",1);
00570     meMuonEta->setAxisTitle("Count",2);
00571 
00572     sprintf(hname,"hMuonCscToF1");
00573     sprintf(htitle,"Muon CSC hits, ToF/ns");
00574     meMuonCscToF[0] = dbe->book1D(hname,htitle,100,0.,250.);
00575     sprintf(hname,"hMuonCscToF2");
00576     meMuonCscToF[1] = dbe->book1D(hname,htitle,100,0.,50.);
00577     for (Int_t i = 0; i < 2; ++i) {   
00578       meMuonCscToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
00579       meMuonCscToF[i]->setAxisTitle("Count",2);
00580     }  
00581 
00582     sprintf(hname,"hMuonCscZ");
00583     sprintf(htitle,"Muon CSC hits, Z/cm");
00584     meMuonCscZ = dbe->book1D(hname,htitle,200,-1500.,1500.);
00585     meMuonCscZ->setAxisTitle("Z of Hits (cm)",1);
00586     meMuonCscZ->setAxisTitle("Count",2);
00587 
00588     sprintf(hname,"hMuonDtToF1");
00589     sprintf(htitle,"Muon DT hits, ToF/ns");
00590     meMuonDtToF[0] = dbe->book1D(hname,htitle,100,0.,250.);
00591     sprintf(hname,"hMuonDtToF2");
00592     meMuonDtToF[1] = dbe->book1D(hname,htitle,100,0.,50.);
00593     for (Int_t i = 0; i < 2; ++i) {   
00594       meMuonDtToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
00595       meMuonDtToF[i]->setAxisTitle("Count",2);
00596     } 
00597 
00598     sprintf(hname,"hMuonDtR");
00599     sprintf(htitle,"Muon DT hits, R/cm");
00600     meMuonDtR = dbe->book1D(hname,htitle,100,0.,1500.); 
00601     meMuonDtR->setAxisTitle("R of Hits (cm)",1);
00602     meMuonDtR->setAxisTitle("Count",2);
00603 
00604     sprintf(hname,"hMuonRpcFToF1");
00605     sprintf(htitle,"Muon RPC forward hits, ToF/ns");
00606     meMuonRpcFToF[0] = dbe->book1D(hname,htitle,100,0.,250.);
00607     sprintf(hname,"hMuonRpcFToF2");
00608     meMuonRpcFToF[1] = dbe->book1D(hname,htitle,100,0.,50.);
00609     for (Int_t i = 0; i < 2; ++i) {   
00610       meMuonRpcFToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
00611       meMuonRpcFToF[i]->setAxisTitle("Count",2);
00612     }  
00613     sprintf(hname,"hMuonRpcFZ");
00614     sprintf(htitle,"Muon RPC forward hits, Z/cm");
00615     meMuonRpcFZ = dbe->book1D(hname,htitle,201,-1500.,1500.);
00616     meMuonRpcFZ->setAxisTitle("Z of Hits (cm)",1);
00617     meMuonRpcFZ->setAxisTitle("Count",2);
00618 
00619     sprintf(hname,"hMuonRpcBToF1");
00620     sprintf(htitle,"Muon RPC barrel hits, ToF/ns");
00621     meMuonRpcBToF[0] = dbe->book1D(hname,htitle,100,0.,250.);
00622     sprintf(hname,"hMuonRpcBToF2");
00623     meMuonRpcBToF[1] = dbe->book1D(hname,htitle,100,0.,50.);
00624     for (Int_t i = 0; i < 2; ++i) {   
00625       meMuonRpcBToF[i]->setAxisTitle("Time of Flight of Hits (ns)",1);
00626       meMuonRpcBToF[i]->setAxisTitle("Count",2);
00627     }
00628 
00629     sprintf(hname,"hMuonRpcBR");
00630     sprintf(htitle,"Muon RPC barrel hits, R/cm");
00631     meMuonRpcBR = dbe->book1D(hname,htitle,100,0.,1500.);
00632     meMuonRpcBR->setAxisTitle("R of Hits (cm)",1);
00633     meMuonRpcBR->setAxisTitle("Count",2); 
00634   }
00635 }

GlobalHitsAnalyzer::~GlobalHitsAnalyzer (  )  [virtual]

Definition at line 637 of file GlobalHitsAnalyzer.cc.

00637 {}


Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 653 of file GlobalHitsAnalyzer.cc.

References count, fillECal(), fillG4MC(), fillHCal(), fillMuon(), fillTrk(), frequency, edm::Event::getAllProvenance(), getAllProvenances, i, edm::Event::id(), printProvenanceInfo, and verbosity.

00655 {
00656   std::string MsgLoggerCat = "GlobalHitsAnalyzer_analyze";
00657 
00658   // keep track of number of events processed
00659   ++count;
00660 
00661   // get event id information
00662   int nrun = iEvent.id().run();
00663   int nevt = iEvent.id().event();
00664 
00665   if (verbosity > 0) {
00666     edm::LogInfo(MsgLoggerCat)
00667       << "Processing run " << nrun << ", event " << nevt
00668       << " (" << count << " events total)";
00669   } else if (verbosity == 0) {
00670     if (nevt%frequency == 0 || nevt == 1) {
00671       edm::LogInfo(MsgLoggerCat)
00672         << "Processing run " << nrun << ", event " << nevt
00673         << " (" << count << " events total)";
00674     }
00675   }
00676 
00677   // look at information available in the event
00678   if (getAllProvenances) {
00679 
00680     std::vector<const edm::Provenance*> AllProv;
00681     iEvent.getAllProvenance(AllProv);
00682 
00683     if (verbosity >= 0)
00684       edm::LogInfo(MsgLoggerCat)
00685         << "Number of Provenances = " << AllProv.size();
00686 
00687     if (printProvenanceInfo && (verbosity >= 0)) {
00688       TString eventout("\nProvenance info:\n");      
00689 
00690       for (unsigned int i = 0; i < AllProv.size(); ++i) {
00691         eventout += "\n       ******************************";
00692         eventout += "\n       Module       : ";
00693         eventout += AllProv[i]->moduleLabel();
00694         eventout += "\n       ProductID    : ";
00695         eventout += AllProv[i]->productID().id();
00696         eventout += "\n       ClassName    : ";
00697         eventout += AllProv[i]->className();
00698         eventout += "\n       InstanceName : ";
00699         eventout += AllProv[i]->productInstanceName();
00700         eventout += "\n       BranchName   : ";
00701         eventout += AllProv[i]->branchName();
00702       }
00703       eventout += "\n       ******************************\n";
00704       edm::LogInfo(MsgLoggerCat) << eventout << "\n";
00705       printProvenanceInfo = false;
00706     }
00707     getAllProvenances = false;
00708   }
00709 
00710   // call fill functions
00711   //gather G4MC information from event
00712   fillG4MC(iEvent);
00713   // gather Tracker information from event
00714   fillTrk(iEvent,iSetup);
00715   // gather muon information from event
00716   fillMuon(iEvent, iSetup);
00717   // gather Ecal information from event
00718   fillECal(iEvent, iSetup);
00719   // gather Hcal information from event
00720   fillHCal(iEvent, iSetup);
00721 
00722   if (verbosity > 0)
00723     edm::LogInfo (MsgLoggerCat)
00724       << "Done gathering data from event.";
00725 
00726   return;
00727 }

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

Reimplemented from edm::EDAnalyzer.

Definition at line 639 of file GlobalHitsAnalyzer.cc.

00640 {
00641   return;
00642 }

void GlobalHitsAnalyzer::endJob ( void   )  [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 644 of file GlobalHitsAnalyzer.cc.

References count, and verbosity.

00645 {
00646   std::string MsgLoggerCat = "GlobalHitsAnalyzer_endJob";
00647   if (verbosity >= 0)
00648     edm::LogInfo(MsgLoggerCat) 
00649       << "Terminating having processed " << count << " events.";
00650   return;
00651 }

void GlobalHitsAnalyzer::fillECal ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 1589 of file GlobalHitsAnalyzer.cc.

References dEcal, ECalEBSrc_, ECalEESrc_, ECalESSrc_, PV3DBase< T, PVType, FrameType >::eta(), MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByLabel(), CaloGeometry::getGeometry(), CaloCellGeometry::getPosition(), i, edm::Handle< T >::isValid(), edm::ESHandle< T >::isValid(), j, LogDebug, meCaloEcal, meCaloEcalE, meCaloEcalEta, meCaloEcalPhi, meCaloEcalToF, meCaloPreSh, meCaloPreShE, meCaloPreShEta, meCaloPreShPhi, meCaloPreShToF, PV3DBase< T, PVType, FrameType >::phi(), sdEcalBrl, sdEcalFwd, sdEcalPS, validEB, validEE, validPresh, and verbosity.

Referenced by analyze().

01591 {
01592   std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillECal";
01593 
01594   TString eventout;
01595   if (verbosity > 0)
01596     eventout = "\nGathering info:";  
01597   
01598   // access the calorimeter geometry
01599   edm::ESHandle<CaloGeometry> theCaloGeometry;
01600   iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
01601   if (!theCaloGeometry.isValid()) {
01602     edm::LogWarning(MsgLoggerCat)
01603       << "Unable to find CaloGeometryRecord in event!";
01604     return;
01605   }
01606   const CaloGeometry& theCalo(*theCaloGeometry);
01607     
01608   // iterator to access containers
01609   edm::PCaloHitContainer::const_iterator itHit;
01610 
01612   // get  ECal information
01614   edm::PCaloHitContainer theECalHits;
01615   // extract EB container
01616   edm::Handle<edm::PCaloHitContainer> EBContainer;
01617   iEvent.getByLabel(ECalEBSrc_,EBContainer);                         
01618   if (!EBContainer.isValid()) {
01619     LogDebug(MsgLoggerCat)
01620       << "Unable to find EcalHitsEB in event!";
01621     validEB = false;
01622   }
01623   // extract EE container
01624   edm::Handle<edm::PCaloHitContainer> EEContainer;
01625   iEvent.getByLabel(ECalEESrc_,EEContainer);
01626   if (!EEContainer.isValid()) {
01627     LogDebug(MsgLoggerCat)
01628       << "Unable to find EcalHitsEE in event!";
01629     validEE = false;
01630   }
01631   // place both containers into new container
01632   if (validEB)
01633     theECalHits.insert(theECalHits.end(),EBContainer->begin(),
01634                        EBContainer->end());
01635   if (validEE)
01636     theECalHits.insert(theECalHits.end(),EEContainer->begin(),
01637                        EEContainer->end());
01638 
01639   // cycle through new container
01640   int i = 0, j = 0;
01641   for (itHit = theECalHits.begin(); itHit != theECalHits.end(); ++itHit) {
01642 
01643     ++i;
01644 
01645     // create a DetId from the detUnitId
01646     DetId theDetUnitId(itHit->id());
01647     int detector = theDetUnitId.det();
01648     int subdetector = theDetUnitId.subdetId();
01649 
01650     // check that expected detector is returned
01651     if ((detector == dEcal) && 
01652         ((subdetector == sdEcalBrl) ||
01653          (subdetector == sdEcalFwd))) {
01654 
01655       // get the Cell geometry
01656       const CaloCellGeometry *theDet = theCalo.
01657         getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
01658 
01659       if (!theDet) {
01660         edm::LogWarning(MsgLoggerCat)
01661           << "Unable to get CaloCellGeometry from ECalHits for Hit " << i;
01662         continue;
01663       }
01664 
01665       ++j;
01666 
01667       // get the global position of the cell
01668       const GlobalPoint& globalposition = theDet->getPosition();
01669 
01670       if (meCaloEcalE[0]) meCaloEcalE[0]->Fill(itHit->energy());
01671       if (meCaloEcalE[1]) meCaloEcalE[1]->Fill(itHit->energy());
01672       if (meCaloEcalToF[0]) meCaloEcalToF[0]->Fill(itHit->time());
01673       if (meCaloEcalToF[1]) meCaloEcalToF[1]->Fill(itHit->time());
01674       if (meCaloEcalPhi) meCaloEcalPhi->Fill(globalposition.phi());
01675       if (meCaloEcalEta) meCaloEcalEta->Fill(globalposition.eta());
01676 
01677     } else {
01678       edm::LogWarning(MsgLoggerCat)
01679         << "ECal PCaloHit " << i 
01680         << " is expected to be (det,subdet) = (" 
01681         << dEcal << "," << sdEcalBrl
01682         << " || " << sdEcalFwd << "); value returned is: ("
01683         << detector << "," << subdetector << ")";
01684       continue;
01685     } // end detector type check
01686   } // end loop through ECal Hits
01687 
01688   if (verbosity > 1) {
01689     eventout += "\n          Number of ECal Hits collected:............. ";
01690     eventout += j;
01691   }  
01692 
01693   if (meCaloEcal[0]) meCaloEcal[0]->Fill((float)j);
01694   if (meCaloEcal[1]) meCaloEcal[1]->Fill((float)j); 
01695 
01697   // Get Preshower information
01699   // extract PreShower container
01700   edm::Handle<edm::PCaloHitContainer> PreShContainer;
01701   iEvent.getByLabel(ECalESSrc_,PreShContainer);
01702   if (!PreShContainer.isValid()) {
01703     LogDebug(MsgLoggerCat)
01704       << "Unable to find EcalHitsES in event!";
01705     validPresh = false;
01706   }
01707 
01708   if (validPresh) {
01709     // cycle through container
01710     int i = 0, j = 0;
01711     for (itHit = PreShContainer->begin(); 
01712          itHit != PreShContainer->end(); ++itHit) {
01713       
01714       ++i;
01715       
01716       // create a DetId from the detUnitId
01717       DetId theDetUnitId(itHit->id());
01718       int detector = theDetUnitId.det();
01719       int subdetector = theDetUnitId.subdetId();
01720       
01721       // check that expected detector is returned
01722       if ((detector == dEcal) && 
01723           (subdetector == sdEcalPS)) {
01724         
01725         // get the Cell geometry
01726         const CaloCellGeometry *theDet = theCalo.
01727           getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
01728         
01729         if (!theDet) {
01730           edm::LogWarning(MsgLoggerCat)
01731             << "Unable to get CaloCellGeometry from PreShContainer for Hit " 
01732             << i;
01733           continue;
01734         }
01735         
01736         ++j;
01737         
01738         // get the global position of the cell
01739         const GlobalPoint& globalposition = theDet->getPosition();
01740         
01741         if (meCaloPreShE[0]) meCaloPreShE[0]->Fill(itHit->energy());
01742         if (meCaloPreShE[1]) meCaloPreShE[1]->Fill(itHit->energy());
01743         if (meCaloPreShToF[0]) meCaloPreShToF[0]->Fill(itHit->time());
01744         if (meCaloPreShToF[1]) meCaloPreShToF[1]->Fill(itHit->time());
01745         if (meCaloPreShPhi) meCaloPreShPhi->Fill(globalposition.phi());
01746         if (meCaloPreShEta) meCaloPreShEta->Fill(globalposition.eta());
01747         
01748       } else {
01749         edm::LogWarning(MsgLoggerCat)
01750           << "PreSh PCaloHit " << i 
01751           << " is expected to be (det,subdet) = (" 
01752           << dEcal << "," << sdEcalPS
01753           << "); value returned is: ("
01754           << detector << "," << subdetector << ")";
01755         continue;
01756       } // end detector type check
01757     } // end loop through PreShower Hits
01758     
01759     if (verbosity > 1) {
01760       eventout += "\n          Number of PreSh Hits collected:............ ";
01761       eventout += j;
01762     }  
01763     
01764     if (meCaloPreSh[0]) meCaloPreSh[0]->Fill((float)j);
01765     if (meCaloPreSh[1]) meCaloPreSh[1]->Fill((float)j); 
01766   }
01767   
01768   if (verbosity > 0)
01769     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
01770   
01771   return;
01772 }

void GlobalHitsAnalyzer::fillG4MC ( const edm::Event iEvent  )  [private]

Definition at line 730 of file GlobalHitsAnalyzer.cc.

References MonitorElement::Fill(), edm::Event::getByType(), edm::Event::getManyByType(), i, edm::Handle< T >::isValid(), LogDebug, meGeantTrkE, meGeantTrkPt, meGeantVtxX, meGeantVtxY, meGeantVtxZ, meMCG4Trk, meMCG4Vtx, meMCRGP, moduleLabel(), nRawGenPart, edm::Handle< T >::provenance(), funct::sqrt(), validG4trkContainer, validG4VtxContainer, validHepMCevt, verbosity, and vtxunit.

Referenced by analyze().

00731 {
00732 
00733   std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillG4MC";
00734  
00735   TString eventout;
00736   if (verbosity > 0)
00737     eventout = "\nGathering info:";
00738 
00740   // get MC information
00742   edm::Handle<edm::HepMCProduct> HepMCEvt;
00743   std::vector<edm::Handle<edm::HepMCProduct> > AllHepMCEvt;
00744   iEvent.getManyByType(AllHepMCEvt);
00745 
00746   // loop through products and extract VtxSmearing if available. Any of them
00747   // should have the information needed
00748   for (unsigned int i = 0; i < AllHepMCEvt.size(); ++i) {
00749     HepMCEvt = AllHepMCEvt[i];
00750     if ((HepMCEvt.provenance()->product()).moduleLabel() == "VtxSmeared")
00751       break;
00752   }
00753 
00754   if (!HepMCEvt.isValid()) {
00755     LogDebug(MsgLoggerCat)
00756       << "Unable to find HepMCProduct in event!";
00757     validHepMCevt = false;
00758   } else {
00759     eventout += "\n          Using HepMCProduct: ";
00760     eventout += (HepMCEvt.provenance()->product()).moduleLabel();
00761   }
00762   if (validHepMCevt) {
00763     const HepMC::GenEvent* MCEvt = HepMCEvt->GetEvent();
00764     nRawGenPart = MCEvt->particles_size();
00765     
00766     
00767     if (verbosity > 1) {
00768       eventout += "\n          Number of Raw Particles collected:......... ";
00769       eventout += nRawGenPart;
00770     }      
00771     
00772     if (meMCRGP[0]) meMCRGP[0]->Fill((float)nRawGenPart);
00773     if (meMCRGP[1]) meMCRGP[1]->Fill((float)nRawGenPart);  
00774   }
00775   
00776   
00778   // get G4Vertex information
00780   // convert unit stored in SimVertex to mm
00781   float unit = 0.;
00782   if (vtxunit == 0) unit = 1.;  // already in mm
00783   if (vtxunit == 1) unit = 10.; // stored in cm, convert to mm
00784 
00785   edm::Handle<edm::SimVertexContainer> G4VtxContainer;
00786   iEvent.getByType(G4VtxContainer);
00787   if (!G4VtxContainer.isValid()) {
00788     LogDebug(MsgLoggerCat)
00789       << "Unable to find SimVertex in event!";
00790     validG4VtxContainer = false;
00791   }
00792   if (validG4VtxContainer) {
00793     int i = 0;
00794     edm::SimVertexContainer::const_iterator itVtx;
00795     for (itVtx = G4VtxContainer->begin(); itVtx != G4VtxContainer->end(); 
00796          ++itVtx) {
00797       
00798       ++i;
00799       
00800       const math::XYZTLorentzVector G4Vtx1(itVtx->position().x(),
00801                                            itVtx->position().y(),
00802                                            itVtx->position().z(),
00803                                            itVtx->position().e());
00804       
00805       double G4Vtx[4];
00806       G4Vtx1.GetCoordinates(G4Vtx);
00807       
00808       if (meGeantVtxX[0]) meGeantVtxX[0]->Fill((G4Vtx[0]*unit)/micrometer);
00809       if (meGeantVtxX[1]) meGeantVtxX[1]->Fill((G4Vtx[0]*unit)/micrometer);
00810       
00811       if (meGeantVtxY[0]) meGeantVtxY[0]->Fill((G4Vtx[1]*unit)/micrometer);
00812       if (meGeantVtxY[1]) meGeantVtxY[1]->Fill((G4Vtx[1]*unit)/micrometer);
00813       
00814       if (meGeantVtxZ[0]) meGeantVtxZ[0]->Fill((G4Vtx[2]*unit)/millimeter);
00815       if (meGeantVtxZ[1]) meGeantVtxZ[1]->Fill((G4Vtx[2]*unit)/millimeter); 
00816       
00817     }
00818     
00819     if (verbosity > 1) {
00820       eventout += "\n          Number of G4Vertices collected:............ ";
00821       eventout += i;
00822     }  
00823     
00824     if (meMCG4Vtx[0]) meMCG4Vtx[0]->Fill((float)i);
00825     if (meMCG4Vtx[1]) meMCG4Vtx[1]->Fill((float)i);  
00826   }
00827 
00829   // get G4Track information
00831   edm::Handle<edm::SimTrackContainer> G4TrkContainer;
00832   iEvent.getByType(G4TrkContainer);
00833   if (!G4TrkContainer.isValid()) {
00834     LogDebug(MsgLoggerCat)
00835       << "Unable to find SimTrack in event!";
00836     validG4trkContainer = false;
00837   }
00838   if (validG4trkContainer) {
00839     int i = 0;
00840     edm::SimTrackContainer::const_iterator itTrk;
00841     for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end(); 
00842          ++itTrk) {
00843       
00844       ++i;
00845       
00846       const math::XYZTLorentzVector G4Trk1(itTrk->momentum().x(),
00847                                            itTrk->momentum().y(),
00848                                            itTrk->momentum().z(),
00849                                            itTrk->momentum().e());
00850       double G4Trk[4];
00851       G4Trk1.GetCoordinates(G4Trk);
00852       
00853       if (meGeantTrkPt) meGeantTrkPt->
00854                           Fill(sqrt(G4Trk[0]*G4Trk[0]+G4Trk[1]*G4Trk[1]));
00855       if (meGeantTrkE) meGeantTrkE->Fill(G4Trk[3]);
00856     } 
00857     
00858     if (verbosity > 1) {
00859       eventout += "\n          Number of G4Tracks collected:.............. ";
00860       eventout += i;
00861     }  
00862     
00863     if (meMCG4Trk[0]) meMCG4Trk[0]->Fill((float)i);
00864     if (meMCG4Trk[1]) meMCG4Trk[1]->Fill((float)i); 
00865   }
00866 
00867   if (verbosity > 0)
00868     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
00869     
00870   return;
00871 }

void GlobalHitsAnalyzer::fillHCal ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 1774 of file GlobalHitsAnalyzer.cc.

References dHcal, PV3DBase< T, PVType, FrameType >::eta(), MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByLabel(), CaloGeometry::getGeometry(), CaloCellGeometry::getPosition(), HCalSrc_, i, edm::Handle< T >::isValid(), edm::ESHandle< T >::isValid(), j, LogDebug, meCaloHcal, meCaloHcalE, meCaloHcalEta, meCaloHcalPhi, meCaloHcalToF, PV3DBase< T, PVType, FrameType >::phi(), sdHcalBrl, sdHcalEC, sdHcalFwd, sdHcalOut, validHcal, and verbosity.

Referenced by analyze().

01776 {
01777   std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillHCal";
01778 
01779   TString eventout;
01780   if (verbosity > 0)
01781     eventout = "\nGathering info:";  
01782   
01783   // access the calorimeter geometry
01784   edm::ESHandle<CaloGeometry> theCaloGeometry;
01785   iSetup.get<CaloGeometryRecord>().get(theCaloGeometry);
01786   if (!theCaloGeometry.isValid()) {
01787     edm::LogWarning(MsgLoggerCat)
01788       << "Unable to find CaloGeometryRecord in event!";
01789     return;
01790   }
01791   const CaloGeometry& theCalo(*theCaloGeometry);
01792     
01793   // iterator to access containers
01794   edm::PCaloHitContainer::const_iterator itHit;
01795 
01797   // get  HCal information
01799   // extract HCal container
01800   edm::Handle<edm::PCaloHitContainer> HCalContainer;
01801   iEvent.getByLabel(HCalSrc_,HCalContainer);
01802   if (!HCalContainer.isValid()) {
01803     LogDebug(MsgLoggerCat)
01804       << "Unable to find HCalHits in event!";
01805     validHcal = false;
01806   }
01807 
01808   if (validHcal) {
01809     // cycle through container
01810     int i = 0, j = 0;
01811     for (itHit = HCalContainer->begin(); 
01812          itHit != HCalContainer->end(); ++itHit) {
01813       
01814       ++i;
01815       
01816       // create a DetId from the detUnitId
01817       DetId theDetUnitId(itHit->id());
01818       int detector = theDetUnitId.det();
01819       int subdetector = theDetUnitId.subdetId();
01820       
01821       // check that expected detector is returned
01822       if ((detector == dHcal) && 
01823           ((subdetector == sdHcalBrl) ||
01824            (subdetector == sdHcalEC) ||
01825            (subdetector == sdHcalOut) ||
01826            (subdetector == sdHcalFwd))) {
01827         
01828         // get the Cell geometry
01829         const CaloCellGeometry *theDet = theCalo.
01830           getSubdetectorGeometry(theDetUnitId)->getGeometry(theDetUnitId);
01831         
01832         if (!theDet) {
01833           edm::LogWarning(MsgLoggerCat)
01834             << "Unable to get CaloCellGeometry from HCalContainer for Hit " 
01835             << i;
01836           continue;
01837         }
01838         
01839         ++j;
01840         
01841         // get the global position of the cell
01842         const GlobalPoint& globalposition = theDet->getPosition();
01843         
01844         if (meCaloHcalE[0]) meCaloHcalE[0]->Fill(itHit->energy());
01845         if (meCaloHcalE[1]) meCaloHcalE[1]->Fill(itHit->energy());
01846         if (meCaloHcalToF[0]) meCaloHcalToF[0]->Fill(itHit->time());
01847         if (meCaloHcalToF[1]) meCaloHcalToF[1]->Fill(itHit->time());
01848         if (meCaloHcalPhi) meCaloHcalPhi->Fill(globalposition.phi());
01849         if (meCaloHcalEta) meCaloHcalEta->Fill(globalposition.eta());
01850         
01851       } else {
01852         edm::LogWarning(MsgLoggerCat)
01853           << "HCal PCaloHit " << i 
01854           << " is expected to be (det,subdet) = (" 
01855           << dHcal << "," << sdHcalBrl
01856           << " || " << sdHcalEC << " || " << sdHcalOut << " || " << sdHcalFwd
01857           << "); value returned is: ("
01858           << detector << "," << subdetector << ")";
01859         continue;
01860       } // end detector type check
01861     } // end loop through HCal Hits
01862     
01863     if (verbosity > 1) {
01864       eventout += "\n          Number of HCal Hits collected:............. ";
01865       eventout += j;
01866     }  
01867     
01868     if (meCaloHcal[0]) meCaloHcal[0]->Fill((float)j);
01869     if (meCaloHcal[1]) meCaloHcal[1]->Fill((float)j); 
01870   }
01871 
01872   if (verbosity > 0)
01873     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
01874   
01875   return;
01876 }

void GlobalHitsAnalyzer::fillMuon ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 1286 of file GlobalHitsAnalyzer.cc.

References dMuon, eta, MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByLabel(), i, CSCGeometry::idToDetUnit(), RPCGeometry::idToDetUnit(), edm::Handle< T >::isValid(), edm::ESHandle< T >::isValid(), j, DTGeometry::layer(), LogDebug, meMuon, meMuonCscToF, meMuonCscZ, meMuonDtR, meMuonDtToF, meMuonEta, meMuonPhi, meMuonRpcBR, meMuonRpcBToF, meMuonRpcFToF, meMuonRpcFZ, MuonCscSrc_, MuonDtSrc_, MuonRpcSrc_, nMuonHits, muonGeometry::perp(), PV3DBase< T, PVType, FrameType >::perp(), phi, sdMuonCSC, sdMuonDT, sdMuonRPC, sdMuonRPCRgnBrl, sdMuonRPCRgnFwdn, sdMuonRPCRgnFwdp, GeomDet::surface(), Surface::toGlobal(), validMuonCSC, validMuonDt, validMuonRPC, verbosity, and z.

Referenced by analyze().

01288 {
01289   nMuonHits = 0;
01290   std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillMuon";
01291 
01292   TString eventout;
01293   if (verbosity > 0)
01294     eventout = "\nGathering info:";  
01295 
01296   // iterator to access containers
01297   edm::PSimHitContainer::const_iterator itHit;
01298 
01300   // access the CSC Muon
01302   // access the CSC Muon geometry
01303   edm::ESHandle<CSCGeometry> theCSCGeometry;
01304   iSetup.get<MuonGeometryRecord>().get(theCSCGeometry);
01305   if (!theCSCGeometry.isValid()) {
01306     edm::LogWarning(MsgLoggerCat)
01307       << "Unable to find MuonGeometryRecord for the CSCGeometry in event!";
01308     return;
01309   }
01310   const CSCGeometry& theCSCMuon(*theCSCGeometry);
01311 
01312   // get Muon CSC information
01313   edm::Handle<edm::PSimHitContainer> MuonCSCContainer;
01314   iEvent.getByLabel(MuonCscSrc_,MuonCSCContainer);
01315   if (!MuonCSCContainer.isValid()) {
01316     LogDebug(MsgLoggerCat)
01317       << "Unable to find MuonCSCHits in event!";
01318     validMuonCSC = false;
01319   }
01320 
01321   if (validMuonCSC) {
01322     // cycle through container
01323     int i = 0, j = 0;
01324     for (itHit = MuonCSCContainer->begin(); itHit != MuonCSCContainer->end(); 
01325          ++itHit) {
01326       
01327       ++i;
01328       
01329       // create a DetId from the detUnitId
01330       DetId theDetUnitId(itHit->detUnitId());
01331       int detector = theDetUnitId.det();
01332       int subdetector = theDetUnitId.subdetId();
01333       
01334       // check that expected detector is returned
01335       if ((detector == dMuon) && 
01336           (subdetector == sdMuonCSC)) {
01337         
01338         // get the GeomDetUnit from the geometry using theDetUnitID
01339         const GeomDetUnit *theDet = theCSCMuon.idToDetUnit(theDetUnitId);
01340         
01341         if (!theDet) {
01342           edm::LogWarning(MsgLoggerCat)
01343             << "Unable to get GeomDetUnit from theCSCMuon for hit " << i;
01344           continue;
01345         }
01346         
01347         ++j;
01348         
01349         // get the Surface of the hit (knows how to go from local <-> global)
01350         const BoundPlane& bSurface = theDet->surface();
01351         
01352         if (meMuonCscToF[0]) meMuonCscToF[0]->Fill(itHit->tof());
01353         if (meMuonCscToF[1]) meMuonCscToF[1]->Fill(itHit->tof());
01354         if (meMuonCscZ) 
01355           meMuonCscZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
01356         if (meMuonPhi)
01357           meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
01358         if (meMuonEta)
01359           meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
01360         
01361       } else {
01362         edm::LogWarning(MsgLoggerCat)
01363           << "MuonCsc PSimHit " << i 
01364           << " is expected to be (det,subdet) = (" 
01365           << dMuon << "," << sdMuonCSC
01366           << "); value returned is: ("
01367           << detector << "," << subdetector << ")";
01368         continue;
01369       } // end detector type check
01370     } // end loop through CSC Hits
01371     
01372     if (verbosity > 1) {
01373       eventout += "\n          Number of CSC muon Hits collected:......... ";
01374       eventout += j;
01375     }  
01376 
01377     nMuonHits += j;
01378   }
01379 
01381   // access the DT Muon
01383   // access the DT Muon geometry
01384   edm::ESHandle<DTGeometry> theDTGeometry;
01385   iSetup.get<MuonGeometryRecord>().get(theDTGeometry);
01386   if (!theDTGeometry.isValid()) {
01387     edm::LogWarning(MsgLoggerCat)
01388       << "Unable to find MuonGeometryRecord for the DTGeometry in event!";
01389     return;
01390   }
01391   const DTGeometry& theDTMuon(*theDTGeometry);
01392 
01393   // get Muon DT information
01394   edm::Handle<edm::PSimHitContainer> MuonDtContainer;
01395   iEvent.getByLabel(MuonDtSrc_,MuonDtContainer);
01396   if (!MuonDtContainer.isValid()) {
01397     LogDebug(MsgLoggerCat)
01398       << "Unable to find MuonDTHits in event!";
01399     validMuonDt = false;
01400   }
01401 
01402   if (validMuonDt) {
01403     // cycle through container
01404     int i = 0, j = 0;
01405     for (itHit = MuonDtContainer->begin(); itHit != MuonDtContainer->end(); 
01406          ++itHit) {
01407       
01408       ++i;
01409       
01410       // create a DetId from the detUnitId
01411       DetId theDetUnitId(itHit->detUnitId());
01412       int detector = theDetUnitId.det();
01413       int subdetector = theDetUnitId.subdetId();
01414       
01415       // check that expected detector is returned
01416       if ((detector == dMuon) && 
01417           (subdetector == sdMuonDT)) {
01418         
01419         // CSC uses wires and layers rather than the full detID
01420         // get the wireId
01421         DTWireId wireId(itHit->detUnitId());
01422         
01423         // get the DTLayer from the geometry using the wireID
01424         const DTLayer *theDet = theDTMuon.layer(wireId.layerId());
01425         
01426         if (!theDet) {
01427           edm::LogWarning(MsgLoggerCat)
01428             << "Unable to get GeomDetUnit from theDtMuon for hit " << i;
01429           continue;
01430         }
01431         
01432         ++j;
01433         
01434         // get the Surface of the hit (knows how to go from local <-> global)
01435         const BoundPlane& bSurface = theDet->surface();
01436         
01437         if (meMuonDtToF[0]) meMuonDtToF[0]->Fill(itHit->tof());
01438         if (meMuonDtToF[1]) meMuonDtToF[1]->Fill(itHit->tof());
01439         if (meMuonDtR) 
01440           meMuonDtR->Fill(bSurface.toGlobal(itHit->localPosition()).perp());
01441         if (meMuonPhi)
01442           meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
01443         if (meMuonEta)
01444           meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
01445         
01446       } else {
01447         edm::LogWarning(MsgLoggerCat)
01448           << "MuonDt PSimHit " << i 
01449           << " is expected to be (det,subdet) = (" 
01450           << dMuon << "," << sdMuonDT
01451           << "); value returned is: ("
01452           << detector << "," << subdetector << ")";
01453         continue;
01454       } // end detector type check
01455     } // end loop through DT Hits
01456     
01457     if (verbosity > 1) {
01458       eventout += "\n          Number of DT muon Hits collected:.......... ";
01459       eventout += j;
01460     } 
01461     
01462     nMuonHits += j;
01463   }
01464 
01465   //int RPCBrl = 0, RPCFwd = 0;
01467   // access the RPC Muon
01469   // access the RPC Muon geometry
01470   edm::ESHandle<RPCGeometry> theRPCGeometry;
01471   iSetup.get<MuonGeometryRecord>().get(theRPCGeometry);
01472   if (!theRPCGeometry.isValid()) {
01473     edm::LogWarning(MsgLoggerCat)
01474       << "Unable to find MuonGeometryRecord for the RPCGeometry in event!";
01475     return;
01476   }
01477   const RPCGeometry& theRPCMuon(*theRPCGeometry);
01478 
01479   // get Muon RPC information
01480   edm::Handle<edm::PSimHitContainer> MuonRPCContainer;
01481   iEvent.getByLabel(MuonRpcSrc_,MuonRPCContainer);
01482   if (!MuonRPCContainer.isValid()) {
01483     LogDebug(MsgLoggerCat)
01484       << "Unable to find MuonRPCHits in event!";
01485     validMuonRPC = false;
01486   }
01487 
01488   if (validMuonRPC) {
01489     // cycle through container
01490     int i = 0, j = 0;
01491     int RPCBrl =0, RPCFwd = 0;
01492     for (itHit = MuonRPCContainer->begin(); itHit != MuonRPCContainer->end(); 
01493          ++itHit) {
01494       
01495       ++i;
01496       
01497       // create a DetID from the detUnitId
01498       DetId theDetUnitId(itHit->detUnitId());
01499       int detector = theDetUnitId.det();
01500       int subdetector = theDetUnitId.subdetId();
01501       
01502       // check that expected detector is returned
01503       if ((detector == dMuon) && 
01504           (subdetector == sdMuonRPC)) {
01505         
01506         // get an RPCDetID from the detUnitID
01507         RPCDetId RPCId(itHit->detUnitId());      
01508         
01509         // find the region of the RPC hit
01510         int region = RPCId.region();
01511         
01512         // get the GeomDetUnit from the geometry using the RPCDetId
01513         const GeomDetUnit *theDet = theRPCMuon.idToDetUnit(theDetUnitId);
01514         
01515         if (!theDet) {
01516           edm::LogWarning(MsgLoggerCat)
01517             << "Unable to get GeomDetUnit from theRPCMuon for hit " << i;
01518           continue;
01519         }
01520         
01521         ++j;
01522         
01523         // get the Surface of the hit (knows how to go from local <-> global)
01524         const BoundPlane& bSurface = theDet->surface();
01525         
01526         // gather necessary information
01527         if ((region == sdMuonRPCRgnFwdp) || (region == sdMuonRPCRgnFwdn)) {
01528           ++RPCFwd;
01529           
01530           if (meMuonRpcFToF[0]) meMuonRpcFToF[0]->Fill(itHit->tof());
01531           if (meMuonRpcFToF[1]) meMuonRpcFToF[1]->Fill(itHit->tof());
01532           if (meMuonRpcFZ) 
01533             meMuonRpcFZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
01534           if (meMuonPhi)
01535             meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
01536           if (meMuonEta)
01537             meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
01538           
01539         } else if (region == sdMuonRPCRgnBrl) {
01540           ++RPCBrl;
01541           
01542           if (meMuonRpcBToF[0]) meMuonRpcBToF[0]->Fill(itHit->tof());
01543           if (meMuonRpcBToF[1]) meMuonRpcBToF[1]->Fill(itHit->tof());
01544           if (meMuonRpcBR) 
01545             meMuonRpcBR->Fill(bSurface.toGlobal(itHit->
01546                                                 localPosition()).perp());
01547           if (meMuonPhi)
01548             meMuonPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
01549           if (meMuonEta)
01550             meMuonEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
01551           
01552         } else {
01553           edm::LogWarning(MsgLoggerCat)
01554             << "Invalid region for RPC Muon hit" << i;
01555           continue;
01556         } // end check of region
01557       } else {
01558         edm::LogWarning(MsgLoggerCat)
01559           << "MuonRpc PSimHit " << i 
01560           << " is expected to be (det,subdet) = (" 
01561         << dMuon << "," << sdMuonRPC
01562           << "); value returned is: ("
01563           << detector << "," << subdetector << ")";
01564         continue;
01565       } // end detector type check
01566     } // end loop through RPC Hits
01567     
01568     if (verbosity > 1) {
01569       eventout += "\n          Number of RPC muon Hits collected:......... ";
01570       eventout += j;
01571       eventout += "\n                    RPC Barrel muon Hits:............ ";
01572       eventout += RPCBrl;
01573       eventout += "\n                    RPC Forward muon Hits:........... ";
01574       eventout += RPCFwd;    
01575     }  
01576     
01577     nMuonHits += j;
01578   }
01579 
01580   if (meMuon[0]) meMuon[0]->Fill((float)nMuonHits);
01581   if (meMuon[1]) meMuon[1]->Fill((float)nMuonHits); 
01582   
01583   if (verbosity > 0)
01584     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
01585   
01586   return;
01587 }

void GlobalHitsAnalyzer::fillTrk ( const edm::Event iEvent,
const edm::EventSetup iSetup 
) [private]

Definition at line 873 of file GlobalHitsAnalyzer.cc.

References dTrk, eta, MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByLabel(), i, TrackerGeometry::idToDetUnit(), edm::Handle< T >::isValid(), edm::ESHandle< T >::isValid(), j, LogDebug, meTrackerPx, meTrackerPxBR, meTrackerPxBToF, meTrackerPxEta, meTrackerPxFToF, meTrackerPxFZ, meTrackerPxPhi, meTrackerSi, meTrackerSiBR, meTrackerSiBToF, meTrackerSiEta, meTrackerSiFToF, meTrackerSiFZ, meTrackerSiPhi, nPxlHits, nSiHits, muonGeometry::perp(), phi, PxlBrlHighSrc_, PxlBrlLowSrc_, PxlFwdHighSrc_, PxlFwdLowSrc_, sdPxlBrl, sdPxlFwd, sdSiTEC, sdSiTIB, sdSiTID, sdSiTOB, SiTECHighSrc_, SiTECLowSrc_, SiTIBHighSrc_, SiTIBLowSrc_, SiTIDHighSrc_, SiTIDLowSrc_, SiTOBHighSrc_, SiTOBLowSrc_, GeomDet::surface(), Surface::toGlobal(), validPxlBrlHigh, validPxlBrlLow, validPxlFwdHigh, validPxlFwdLow, validSiTECHigh, validSiTECLow, validSiTIBHigh, validSiTIBLow, validSiTIDHigh, validSiTIDLow, validSiTOBHigh, validSiTOBLow, verbosity, and z.

Referenced by analyze().

00875 {
00876 
00877   nPxlHits = 0;
00878   std::string MsgLoggerCat = "GlobalHitsAnalyzer_fillTrk";
00879 
00880   TString eventout;
00881   if (verbosity > 0)
00882     eventout = "\nGathering info:";  
00883   
00884   // access the tracker geometry
00885   edm::ESHandle<TrackerGeometry> theTrackerGeometry;
00886   iSetup.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
00887   if (!theTrackerGeometry.isValid()) {
00888     edm::LogWarning(MsgLoggerCat)
00889       << "Unable to find TrackerDigiGeometryRecord in event!";
00890     return;
00891   }
00892   const TrackerGeometry& theTracker(*theTrackerGeometry);
00893     
00894   // iterator to access containers
00895   edm::PSimHitContainer::const_iterator itHit;
00896 
00898   // get Pixel Barrel information
00900   edm::PSimHitContainer thePxlBrlHits;
00901   // extract low container
00902   edm::Handle<edm::PSimHitContainer> PxlBrlLowContainer;
00903   iEvent.getByLabel(PxlBrlLowSrc_,PxlBrlLowContainer);
00904   if (!PxlBrlLowContainer.isValid()) {
00905     LogDebug(MsgLoggerCat)
00906       << "Unable to find TrackerHitsPixelBarrelLowTof in event!";
00907     validPxlBrlLow = false;
00908   }
00909   // extract high container
00910   edm::Handle<edm::PSimHitContainer> PxlBrlHighContainer;
00911   iEvent.getByLabel(PxlBrlHighSrc_,PxlBrlHighContainer);
00912   if (!PxlBrlHighContainer.isValid()) {
00913     LogDebug(MsgLoggerCat)
00914       << "Unable to find TrackerHitsPixelBarrelHighTof in event!";
00915     validPxlBrlHigh = false;
00916   }
00917   // place both containers into new container
00918   if (validPxlBrlLow) 
00919     thePxlBrlHits.insert(thePxlBrlHits.end(),PxlBrlLowContainer->begin(),
00920                          PxlBrlLowContainer->end());
00921   if(validPxlBrlHigh)
00922     thePxlBrlHits.insert(thePxlBrlHits.end(),PxlBrlHighContainer->begin(),
00923                          PxlBrlHighContainer->end());
00924 
00925   // cycle through new container
00926   int i = 0, j = 0;
00927   for (itHit = thePxlBrlHits.begin(); itHit != thePxlBrlHits.end(); ++itHit) {
00928     
00929     ++i;
00930     
00931     // create a DetId from the detUnitId
00932     DetId theDetUnitId(itHit->detUnitId());
00933     int detector = theDetUnitId.det();
00934     int subdetector = theDetUnitId.subdetId();
00935     
00936     // check that expected detector is returned
00937     if ((detector == dTrk) && (subdetector == sdPxlBrl)) {
00938       
00939       // get the GeomDetUnit from the geometry using theDetUnitID
00940       const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
00941       
00942       if (!theDet) {
00943         edm::LogWarning(MsgLoggerCat)
00944           << "Unable to get GeomDetUnit from PxlBrlHits for Hit " << i;
00945         continue;
00946       }
00947       
00948       ++j;
00949       
00950       // get the Surface of the hit (knows how to go from local <-> global)
00951       const BoundPlane& bSurface = theDet->surface();
00952       
00953       if(meTrackerPxBToF) meTrackerPxBToF->Fill(itHit->tof());
00954       if(meTrackerPxBR) 
00955         meTrackerPxBR->Fill(bSurface.toGlobal(itHit->localPosition()).perp());
00956       if(meTrackerPxPhi) 
00957         meTrackerPxPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
00958       if(meTrackerPxEta) 
00959         meTrackerPxEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
00960       
00961     } else {
00962       edm::LogWarning(MsgLoggerCat)
00963         << "PxlBrl PSimHit " << i 
00964         << " is expected to be (det,subdet) = (" 
00965         << dTrk << "," << sdPxlBrl
00966         << "); value returned is: ("
00967         << detector << "," << subdetector << ")";
00968       continue;
00969     } // end detector type check
00970   } // end loop through PxlBrl Hits
00971   
00972   if (verbosity > 1) {
00973     eventout += "\n          Number of Pixel Barrel Hits collected:..... ";
00974     eventout += j;
00975   }  
00976   
00977   nPxlHits += j;
00978   
00980   // get Pixel Forward information
00982   edm::PSimHitContainer thePxlFwdHits;
00983   // extract low container
00984   edm::Handle<edm::PSimHitContainer> PxlFwdLowContainer;
00985   iEvent.getByLabel(PxlFwdLowSrc_,PxlFwdLowContainer);
00986   if (!PxlFwdLowContainer.isValid()) {
00987     LogDebug(MsgLoggerCat)
00988       << "Unable to find TrackerHitsPixelEndcapLowTof in event!";
00989     validPxlFwdLow = false;
00990   }
00991   // extract high container
00992   edm::Handle<edm::PSimHitContainer> PxlFwdHighContainer;
00993   iEvent.getByLabel(PxlFwdHighSrc_,PxlFwdHighContainer);
00994   if (!PxlFwdHighContainer.isValid()) {
00995     LogDebug("GlobalHitsAnalyzer_fillTrk")
00996       << "Unable to find TrackerHitsPixelEndcapHighTof in event!";
00997     validPxlFwdHigh = false;
00998   }
00999   // place both containers into new container
01000   if (validPxlFwdLow)
01001     thePxlFwdHits.insert(thePxlFwdHits.end(),PxlFwdLowContainer->begin(),
01002                          PxlFwdLowContainer->end());
01003   if (validPxlFwdHigh)
01004     thePxlFwdHits.insert(thePxlFwdHits.end(),PxlFwdHighContainer->begin(),
01005                          PxlFwdHighContainer->end());
01006 
01007   // cycle through new container
01008   i = 0; j = 0;
01009   for (itHit = thePxlFwdHits.begin(); itHit != thePxlFwdHits.end(); ++itHit) {
01010 
01011     ++i;
01012 
01013     // create a DetId from the detUnitId
01014     DetId theDetUnitId(itHit->detUnitId());
01015     int detector = theDetUnitId.det();
01016     int subdetector = theDetUnitId.subdetId();
01017 
01018     // check that expected detector is returned
01019     if ((detector == dTrk) && (subdetector == sdPxlFwd)) {
01020 
01021       // get the GeomDetUnit from the geometry using theDetUnitID
01022       const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
01023 
01024       if (!theDet) {
01025         edm::LogWarning(MsgLoggerCat)
01026           << "Unable to get GeomDetUnit from PxlFwdHits for Hit " << i;;
01027         continue;
01028       }
01029 
01030       ++j;
01031 
01032       // get the Surface of the hit (knows how to go from local <-> global)
01033       const BoundPlane& bSurface = theDet->surface();
01034 
01035       if(meTrackerPxFToF) meTrackerPxFToF->Fill(itHit->tof());
01036       if(meTrackerPxFZ) 
01037         meTrackerPxFZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
01038       if(meTrackerPxPhi) 
01039         meTrackerPxPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
01040       if(meTrackerPxEta) 
01041         meTrackerPxEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
01042 
01043     } else {
01044       edm::LogWarning(MsgLoggerCat)
01045         << "PxlFwd PSimHit " << i 
01046         << " is expected to be (det,subdet) = (" 
01047         << dTrk << "," << sdPxlFwd
01048         << "); value returned is: ("
01049         << detector << "," << subdetector << ")";
01050       continue;
01051     } // end detector type check
01052   } // end loop through PxlFwd Hits
01053 
01054   if (verbosity > 1) {
01055     eventout += "\n          Number of Pixel Forward Hits collected:.... ";
01056     eventout += j;
01057   }  
01058 
01059   nPxlHits += j;
01060 
01061   if (meTrackerPx[0]) meTrackerPx[0]->Fill((float)nPxlHits);
01062   if (meTrackerPx[1]) meTrackerPx[1]->Fill((float)nPxlHits); 
01063 
01065   // get Silicon Barrel information
01067   nSiHits = 0;
01068   edm::PSimHitContainer theSiBrlHits;
01069   // extract TIB low container
01070   edm::Handle<edm::PSimHitContainer> SiTIBLowContainer;
01071   iEvent.getByLabel(SiTIBLowSrc_,SiTIBLowContainer);
01072   if (!SiTIBLowContainer.isValid()) {
01073     LogDebug(MsgLoggerCat)
01074       << "Unable to find TrackerHitsTIBLowTof in event!";
01075     validSiTIBLow = false;
01076   }
01077   // extract TIB high container
01078   edm::Handle<edm::PSimHitContainer> SiTIBHighContainer;
01079   iEvent.getByLabel(SiTIBHighSrc_,SiTIBHighContainer);
01080   if (!SiTIBHighContainer.isValid()) {
01081     LogDebug(MsgLoggerCat)
01082       << "Unable to find TrackerHitsTIBHighTof in event!";
01083     validSiTIBHigh = false;
01084   }
01085   // extract TOB low container
01086   edm::Handle<edm::PSimHitContainer> SiTOBLowContainer;
01087   iEvent.getByLabel(SiTOBLowSrc_,SiTOBLowContainer);
01088   if (!SiTOBLowContainer.isValid()) {
01089     LogDebug(MsgLoggerCat)
01090       << "Unable to find TrackerHitsTOBLowTof in event!";
01091     validSiTOBLow = false;
01092   }
01093   // extract TOB high container
01094   edm::Handle<edm::PSimHitContainer> SiTOBHighContainer;
01095   iEvent.getByLabel(SiTOBHighSrc_,SiTOBHighContainer);
01096   if (!SiTOBHighContainer.isValid()) {
01097     LogDebug(MsgLoggerCat)
01098       << "Unable to find TrackerHitsTOBHighTof in event!";
01099     validSiTOBHigh = false;
01100   }
01101   // place all containers into new container
01102   if (validSiTIBLow)
01103     theSiBrlHits.insert(theSiBrlHits.end(),SiTIBLowContainer->begin(),
01104                         SiTIBLowContainer->end());
01105   if (validSiTIBHigh)
01106     theSiBrlHits.insert(theSiBrlHits.end(),SiTIBHighContainer->begin(),
01107                         SiTIBHighContainer->end());
01108   if (validSiTOBLow)
01109     theSiBrlHits.insert(theSiBrlHits.end(),SiTOBLowContainer->begin(),
01110                         SiTOBLowContainer->end());
01111   if (validSiTOBHigh)
01112     theSiBrlHits.insert(theSiBrlHits.end(),SiTOBHighContainer->begin(),
01113                         SiTOBHighContainer->end());
01114 
01115   // cycle through new container
01116   i = 0; j = 0;
01117   for (itHit = theSiBrlHits.begin(); itHit != theSiBrlHits.end(); ++itHit) {
01118 
01119     ++i;
01120 
01121     // create a DetId from the detUnitId
01122     DetId theDetUnitId(itHit->detUnitId());
01123     int detector = theDetUnitId.det();
01124     int subdetector = theDetUnitId.subdetId();
01125 
01126     // check that expected detector is returned
01127     if ((detector == dTrk) && 
01128         ((subdetector == sdSiTIB) ||
01129          (subdetector == sdSiTOB))) {
01130 
01131       // get the GeomDetUnit from the geometry using theDetUnitID
01132       const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
01133 
01134       if (!theDet) {
01135         edm::LogWarning(MsgLoggerCat)
01136           << "Unable to get GeomDetUnit from SiBrlHits for Hit " << i;
01137         continue;
01138       }
01139 
01140       ++j;
01141 
01142       // get the Surface of the hit (knows how to go from local <-> global)
01143       const BoundPlane& bSurface = theDet->surface();
01144 
01145       if(meTrackerSiBToF) meTrackerSiBToF->Fill(itHit->tof());
01146       if(meTrackerSiBR) 
01147         meTrackerSiBR->Fill(bSurface.toGlobal(itHit->localPosition()).perp());
01148       if(meTrackerSiPhi) 
01149         meTrackerSiPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
01150       if(meTrackerSiEta) 
01151         meTrackerSiEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
01152 
01153     } else {
01154       edm::LogWarning(MsgLoggerCat)
01155         << "SiBrl PSimHit " << i 
01156         << " is expected to be (det,subdet) = (" 
01157         << dTrk << "," << sdSiTIB
01158         << " || " << sdSiTOB << "); value returned is: ("
01159         << detector << "," << subdetector << ")";
01160       continue;
01161     } // end detector type check
01162   } // end loop through SiBrl Hits
01163 
01164   if (verbosity > 1) {
01165     eventout += "\n          Number of Silicon Barrel Hits collected:... ";
01166     eventout += j;
01167   }  
01168 
01169   nSiHits += j;
01170 
01172   // get Silicon Forward information
01174   edm::PSimHitContainer theSiFwdHits;
01175   // extract TID low container
01176   edm::Handle<edm::PSimHitContainer> SiTIDLowContainer;
01177   iEvent.getByLabel(SiTIDLowSrc_,SiTIDLowContainer);
01178   if (!SiTIDLowContainer.isValid()) {
01179     LogDebug(MsgLoggerCat)
01180       << "Unable to find TrackerHitsTIDLowTof in event!";
01181     validSiTIDLow = false;
01182   }
01183   // extract TID high container
01184   edm::Handle<edm::PSimHitContainer> SiTIDHighContainer;
01185   iEvent.getByLabel(SiTIDHighSrc_,SiTIDHighContainer);
01186   if (!SiTIDHighContainer.isValid()) {
01187     LogDebug("GlobalHitsAnalyzer_fillTrk")
01188       << "Unable to find TrackerHitsTIDHighTof in event!";
01189     validSiTIDHigh = false;
01190   }
01191   // extract TEC low container
01192   edm::Handle<edm::PSimHitContainer> SiTECLowContainer;
01193   iEvent.getByLabel(SiTECLowSrc_,SiTECLowContainer);
01194   if (!SiTECLowContainer.isValid()) {
01195     LogDebug(MsgLoggerCat)
01196       << "Unable to find TrackerHitsTECLowTof in event!";
01197     validSiTECLow = false;
01198   }
01199   // extract TEC high container
01200   edm::Handle<edm::PSimHitContainer> SiTECHighContainer;
01201   iEvent.getByLabel(SiTECHighSrc_,SiTECHighContainer);
01202   if (!SiTECHighContainer.isValid()) {
01203     LogDebug(MsgLoggerCat)
01204       << "Unable to find TrackerHitsTECHighTof in event!";
01205     validSiTECHigh = false;
01206   }
01207   // place all containers into new container
01208   if (validSiTIDLow)
01209     theSiFwdHits.insert(theSiFwdHits.end(),SiTIDLowContainer->begin(),
01210                         SiTIDLowContainer->end());
01211   if (validSiTIDHigh)
01212     theSiFwdHits.insert(theSiFwdHits.end(),SiTIDHighContainer->begin(),
01213                         SiTIDHighContainer->end());
01214   if (validSiTECLow)
01215     theSiFwdHits.insert(theSiFwdHits.end(),SiTECLowContainer->begin(),
01216                         SiTECLowContainer->end());
01217   if (validSiTECHigh)
01218     theSiFwdHits.insert(theSiFwdHits.end(),SiTECHighContainer->begin(),
01219                         SiTECHighContainer->end());
01220 
01221   // cycle through container
01222   i = 0; j = 0;
01223   for (itHit = theSiFwdHits.begin(); itHit != theSiFwdHits.end(); ++itHit) {
01224 
01225     ++i;
01226 
01227     // create a DetId from the detUnitId
01228     DetId theDetUnitId(itHit->detUnitId());
01229     int detector = theDetUnitId.det();
01230     int subdetector = theDetUnitId.subdetId();
01231 
01232     // check that expected detector is returned 
01233     if ((detector == dTrk) && 
01234         ((subdetector == sdSiTID) ||
01235          (subdetector == sdSiTEC))) {
01236       
01237       // get the GeomDetUnit from the geometry using theDetUnitID
01238       const GeomDetUnit *theDet = theTracker.idToDetUnit(theDetUnitId);
01239       
01240       if (!theDet) {
01241         edm::LogWarning(MsgLoggerCat)
01242           << "Unable to get GeomDetUnit from SiFwdHits Hit " << i;
01243         return;
01244       }
01245       
01246       ++j;
01247 
01248       // get the Surface of the hit (knows how to go from local <-> global)
01249       const BoundPlane& bSurface = theDet->surface();
01250       
01251       if(meTrackerSiFToF) meTrackerSiFToF->Fill(itHit->tof());
01252       if(meTrackerSiFZ) 
01253         meTrackerSiFZ->Fill(bSurface.toGlobal(itHit->localPosition()).z());
01254       if(meTrackerSiPhi) 
01255         meTrackerSiPhi->Fill(bSurface.toGlobal(itHit->localPosition()).phi());
01256       if(meTrackerSiEta) 
01257         meTrackerSiEta->Fill(bSurface.toGlobal(itHit->localPosition()).eta());
01258 
01259     } else {
01260       edm::LogWarning(MsgLoggerCat)
01261         << "SiFwd PSimHit " << i 
01262         << " is expected to be (det,subdet) = (" 
01263         << dTrk << "," << sdSiTOB
01264         << " || " << sdSiTEC << "); value returned is: ("
01265         << detector << "," << subdetector << ")";
01266       continue;
01267     } // end check detector type
01268   } // end loop through SiFwd Hits
01269 
01270   if (verbosity > 1) {
01271     eventout += "\n          Number of Silicon Forward Hits collected:.. ";
01272     eventout += j;
01273   }  
01274 
01275   nSiHits +=j;
01276 
01277   if (meTrackerSi[0]) meTrackerSi[0]->Fill((float)nSiHits);
01278   if (meTrackerSi[1]) meTrackerSi[1]->Fill((float)nSiHits); 
01279 
01280   if (verbosity > 0)
01281     edm::LogInfo(MsgLoggerCat) << eventout << "\n";
01282 
01283   return;
01284 }


Member Data Documentation

unsigned int GlobalHitsAnalyzer::count [private]

Definition at line 226 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and endJob().

DQMStore* GlobalHitsAnalyzer::dbe [private]

Definition at line 131 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalEBSrc_ [private]

Definition at line 151 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalEESrc_ [private]

Definition at line 152 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::ECalESSrc_ [private]

Definition at line 160 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

std::string GlobalHitsAnalyzer::fName [private]

Definition at line 100 of file GlobalHitsAnalyzer.h.

Referenced by GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::frequency [private]

Definition at line 102 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::getAllProvenances [private]

Definition at line 105 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::HCalSrc_ [private]

Definition at line 169 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

std::string GlobalHitsAnalyzer::label [private]

Definition at line 104 of file GlobalHitsAnalyzer.h.

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

Definition at line 146 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

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

Definition at line 147 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalEta [private]

Definition at line 150 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloEcalPhi [private]

Definition at line 149 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

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

Definition at line 148 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

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

Definition at line 164 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

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

Definition at line 165 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalEta [private]

Definition at line 168 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloHcalPhi [private]

Definition at line 167 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

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

Definition at line 166 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

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

Definition at line 155 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

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

Definition at line 156 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShEta [private]

Definition at line 159 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meCaloPreShPhi [private]

Definition at line 158 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

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

Definition at line 157 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantTrkE [private]

Definition at line 141 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meGeantTrkPt [private]

Definition at line 140 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

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

Definition at line 136 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

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

Definition at line 137 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

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

Definition at line 138 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

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

Definition at line 139 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

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

Definition at line 135 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

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

Definition at line 134 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

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

Definition at line 205 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

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

Definition at line 215 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonCscZ [private]

Definition at line 216 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonDtR [private]

Definition at line 212 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

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

Definition at line 211 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonEta [private]

Definition at line 207 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonPhi [private]

Definition at line 206 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcBR [private]

Definition at line 222 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

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

Definition at line 221 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

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

Definition at line 219 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meMuonRpcFZ [private]

Definition at line 220 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

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

Definition at line 174 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBR [private]

Definition at line 178 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxBToF [private]

Definition at line 177 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxEta [private]

Definition at line 176 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFToF [private]

Definition at line 179 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxFZ [private]

Definition at line 180 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerPxPhi [private]

Definition at line 175 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

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

Definition at line 188 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBR [private]

Definition at line 192 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiBToF [private]

Definition at line 191 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiEta [private]

Definition at line 190 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFToF [private]

Definition at line 193 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiFZ [private]

Definition at line 194 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

MonitorElement* GlobalHitsAnalyzer::meTrackerSiPhi [private]

Definition at line 189 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonCscSrc_ [private]

Definition at line 217 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonDtSrc_ [private]

Definition at line 213 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::MuonRpcSrc_ [private]

Definition at line 223 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::nMuonHits [private]

Definition at line 208 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon().

int GlobalHitsAnalyzer::nPxlHits [private]

Definition at line 173 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

int GlobalHitsAnalyzer::nRawGenPart [private]

Definition at line 142 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC().

int GlobalHitsAnalyzer::nSiHits [private]

Definition at line 187 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk().

bool GlobalHitsAnalyzer::printProvenanceInfo [private]

Definition at line 106 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlHighSrc_ [private]

Definition at line 182 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlBrlLowSrc_ [private]

Definition at line 181 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdHighSrc_ [private]

Definition at line 184 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::PxlFwdLowSrc_ [private]

Definition at line 183 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECHighSrc_ [private]

Definition at line 202 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTECLowSrc_ [private]

Definition at line 201 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBHighSrc_ [private]

Definition at line 196 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIBLowSrc_ [private]

Definition at line 195 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDHighSrc_ [private]

Definition at line 200 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTIDLowSrc_ [private]

Definition at line 199 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBHighSrc_ [private]

Definition at line 198 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

edm::InputTag GlobalHitsAnalyzer::SiTOBLowSrc_ [private]

Definition at line 197 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEB [private]

Definition at line 126 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validEE [private]

Definition at line 127 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4trkContainer [private]

Definition at line 110 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validG4VtxContainer [private]

Definition at line 109 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHcal [private]

Definition at line 129 of file GlobalHitsAnalyzer.h.

Referenced by fillHCal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validHepMCevt [private]

Definition at line 108 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonCSC [private]

Definition at line 123 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonDt [private]

Definition at line 124 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validMuonRPC [private]

Definition at line 125 of file GlobalHitsAnalyzer.h.

Referenced by fillMuon(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPresh [private]

Definition at line 128 of file GlobalHitsAnalyzer.h.

Referenced by fillECal(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlHigh [private]

Definition at line 112 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlBrlLow [private]

Definition at line 111 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdHigh [private]

Definition at line 114 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validPxlFwdLow [private]

Definition at line 113 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECHigh [private]

Definition at line 122 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTECLow [private]

Definition at line 121 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBHigh [private]

Definition at line 116 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIBLow [private]

Definition at line 115 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDHigh [private]

Definition at line 120 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTIDLow [private]

Definition at line 119 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBHigh [private]

Definition at line 118 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

bool GlobalHitsAnalyzer::validSiTOBLow [private]

Definition at line 117 of file GlobalHitsAnalyzer.h.

Referenced by fillTrk(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::verbosity [private]

Definition at line 101 of file GlobalHitsAnalyzer.h.

Referenced by analyze(), endJob(), fillECal(), fillG4MC(), fillHCal(), fillMuon(), fillTrk(), and GlobalHitsAnalyzer().

int GlobalHitsAnalyzer::vtxunit [private]

Definition at line 103 of file GlobalHitsAnalyzer.h.

Referenced by fillG4MC(), and GlobalHitsAnalyzer().


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