![]() |
![]() |
#include <Validation/GlobalDigis/interface/GlobalDigisHistogrammer.h>
Definition at line 54 of file GlobalDigisHistogrammer.h.
typedef std::map<uint32_t,float,std::less<uint32_t> > GlobalDigisHistogrammer::MapType |
Definition at line 62 of file GlobalDigisHistogrammer.h.
GlobalDigisHistogrammer::GlobalDigisHistogrammer | ( | const edm::ParameterSet & | iPSet | ) | [explicit] |
Definition at line 13 of file GlobalDigisHistogrammer.cc.
References DQMStore::book1D(), DQMStore::bookProfile(), dbe, doOutput, fName, frequency, getAllProvenances, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GlobalDigisSrc_, i, j, mehCSCStripADC, mehCSCStripn, mehCSCWiren, mehCSCWireTime, mehDtMuonLayer, mehDtMuonn, mehDtMuonTime, mehDtMuonTimevLayer, mehEcalAEE, mehEcalMaxPos, mehEcalMultvAEE, mehEcaln, mehEcalSHE, mehEcalSHEvAEESHE, mehEScalADC, mehHcalAEE, mehHcalAEESHE, mehHcaln, mehHcalSHE, mehHcalSHEvAEE, mehSiPixelADC, mehSiPixelCol, mehSiPixeln, mehSiPixelRow, mehSiStripADC, mehSiStripn, mehSiStripStrip, outputfile, printProvenanceInfo, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), DQMStore::setVerbose(), DQMStore::showDirStructure(), and verbosity.
00013 : 00014 fName(""), verbosity(0), frequency(0), label(""), getAllProvenances(false), 00015 printProvenanceInfo(false), theCSCStripPedestalSum(0), 00016 theCSCStripPedestalCount(0), count(0) 00017 { 00018 std::string MsgLoggerCat = "GlobalDigisHistogrammer_GlobalDigisHistogrammer"; 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 outputfile = iPSet.getParameter<std::string>("outputFile"); 00025 doOutput = iPSet.getParameter<bool>("DoOutput"); 00026 edm::ParameterSet m_Prov = 00027 iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup"); 00028 getAllProvenances = 00029 m_Prov.getUntrackedParameter<bool>("GetAllProvenances"); 00030 printProvenanceInfo = 00031 m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo"); 00032 00033 //get Labels to use to extract information 00034 GlobalDigisSrc_ = iPSet.getParameter<edm::InputTag>("GlobalDigisSrc"); 00035 //ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc"); 00036 //ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc"); 00037 //ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc"); 00038 //HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc"); 00039 //SiStripSrc_ = iPSet.getParameter<edm::InputTag>("SiStripSrc"); 00040 //SiPxlSrc_ = iPSet.getParameter<edm::InputTag>("SiPxlSrc"); 00041 //MuDTSrc_ = iPSet.getParameter<edm::InputTag>("MuDTSrc"); 00042 //MuCSCStripSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCStripSrc"); 00043 //MuCSCWireSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCWireSrc"); 00044 00045 // use value of first digit to determine default output level (inclusive) 00046 // 0 is none, 1 is basic, 2 is fill output, 3 is gather output 00047 verbosity %= 10; 00048 00049 // create persistent object 00050 //produces<PGlobalDigi>(label); 00051 00052 // print out Parameter Set information being used 00053 if (verbosity >= 0) { 00054 edm::LogInfo(MsgLoggerCat) 00055 << "\n===============================\n" 00056 << "Initialized as EDHistogrammer with parameter values:\n" 00057 << " Name = " << fName << "\n" 00058 << " Verbosity = " << verbosity << "\n" 00059 << " Frequency = " << frequency << "\n" 00060 << " OutputFile = " << outputfile << "\n" 00061 << " DoOutput = " << doOutput << "\n" 00062 << " GetProv = " << getAllProvenances << "\n" 00063 << " PrintProv = " << printProvenanceInfo << "\n" 00064 << " Global Src = " << GlobalDigisSrc_ << "\n" 00065 00066 << "===============================\n"; 00067 } 00068 00069 //Put in analyzer stuff here.... Pasted from Rec Hits... 00070 00071 dbe = 0; 00072 dbe = edm::Service<DQMStore>().operator->(); 00073 if (dbe) { 00074 if (verbosity > 0 ) { 00075 dbe->setVerbose(1); 00076 } else { 00077 dbe->setVerbose(0); 00078 } 00079 } 00080 if (dbe) { 00081 if (verbosity > 0 ) dbe->showDirStructure(); 00082 } 00083 00084 Char_t hname[100]; 00085 Char_t htitle[100]; 00086 00087 //monitor elements 00088 00089 //Si Strip ***Done*** 00090 if(dbe) 00091 { 00092 std::string SiStripString[19] = {"TECW1", "TECW2", "TECW3", "TECW4", "TECW5", "TECW6", "TECW7", "TECW8", "TIBL1", "TIBL2", "TIBL3", "TIBL4", "TIDW1", "TIDW2", "TIDW3", "TOBL1", "TOBL2", "TOBL3", "TOBL4"}; 00093 for(int i = 0; i<19; ++i) 00094 { 00095 mehSiStripn[i]=0; 00096 mehSiStripADC[i]=0; 00097 mehSiStripStrip[i]=0; 00098 } 00099 std::string hcharname, hchartitle; 00100 dbe->setCurrentFolder("GlobalDigisV/SiStrips"); 00101 for(int amend = 0; amend < 19; ++amend) 00102 { 00103 hcharname = "hSiStripn_"+SiStripString[amend]; 00104 hchartitle= SiStripString[amend]+" Digis"; 00105 sprintf(hname, hcharname.c_str()); 00106 sprintf(htitle, hchartitle.c_str()); 00107 mehSiStripn[amend] = dbe->book1D(hname,htitle,500,0.,1000.); 00108 mehSiStripn[amend]->setAxisTitle("Number of Digis",1); 00109 mehSiStripn[amend]->setAxisTitle("Count",2); 00110 hcharname = "hSiStripADC_"+SiStripString[amend]; 00111 hchartitle= SiStripString[amend]+" ADC"; 00112 sprintf(hname, hcharname.c_str()); 00113 sprintf(htitle, hchartitle.c_str()); 00114 mehSiStripADC[amend] = dbe->book1D(hname,htitle,150,0.0,300.); 00115 mehSiStripADC[amend]->setAxisTitle("ADC",1); 00116 mehSiStripADC[amend]->setAxisTitle("Count",2); 00117 hcharname = "hSiStripStripADC_"+SiStripString[amend]; 00118 hchartitle= SiStripString[amend]+" Strip"; 00119 sprintf(hname, hcharname.c_str()); 00120 sprintf(htitle, hchartitle.c_str()); 00121 mehSiStripStrip[amend] = dbe->book1D(hname,htitle,200,0.0,800.); 00122 mehSiStripStrip[amend]->setAxisTitle("Strip Number",1); 00123 mehSiStripStrip[amend]->setAxisTitle("Count",2); 00124 } 00125 00126 00127 //HCal **DONE** 00128 std::string HCalString[4] = {"HB", "HE", "HO","HF"}; 00129 float calnUpper[4] = {3000.,3000.,3000.,2000.}; float calnLower[4]={2000.,2000.,2000.,1000.}; 00130 float SHEUpper[4]={0.05,.05,0.05,20}; 00131 float SHEvAEEUpper[4] = {5000, 5000, 5000, 20}; float SHEvAEELower[4] = {-5000, -5000, -5000, -20}; 00132 int SHEvAEEnBins[4] = {200,200,200,40}; 00133 double ProfileUpper[4] = {1.,1.,1.,20.}; 00134 00135 for(int i =0; i<4; ++i) 00136 { 00137 mehHcaln[i]=0; 00138 mehHcalAEE[i]=0; 00139 mehHcalSHE[i]=0; 00140 mehHcalAEESHE[i]=0; 00141 mehHcalSHEvAEE[i]=0; 00142 } 00143 dbe->setCurrentFolder("GlobalDigisV/HCals"); 00144 00145 for(int amend = 0; amend < 4; ++amend) 00146 { 00147 hcharname = "hHcaln_"+HCalString[amend]; 00148 hchartitle= HCalString[amend]+" digis"; 00149 sprintf(hname, hcharname.c_str()); 00150 sprintf(htitle, hchartitle.c_str()); 00151 mehHcaln[amend] = dbe->book1D(hname,htitle, 1000, calnLower[amend], calnUpper[amend]); 00152 mehHcaln[amend]->setAxisTitle("Number of Digis",1); 00153 mehHcaln[amend]->setAxisTitle("Count",2); 00154 hcharname = "hHcalAEE_"+HCalString[amend]; 00155 hchartitle= HCalString[amend]+"Cal AEE"; 00156 sprintf(hname, hcharname.c_str()); 00157 sprintf(htitle, hchartitle.c_str()); 00158 mehHcalAEE[amend] = dbe->book1D(hname,htitle, 60, -10., 50.); 00159 mehHcalAEE[amend]->setAxisTitle("Analog Equivalent Energy",1); 00160 mehHcalAEE[amend]->setAxisTitle("Count",2); 00161 hcharname = "hHcalSHE_"+HCalString[amend]; 00162 hchartitle= HCalString[amend]+"Cal SHE"; 00163 sprintf(hname, hcharname.c_str()); 00164 sprintf(htitle, hchartitle.c_str()); 00165 mehHcalSHE[amend] = dbe->book1D(hname,htitle, 100, 0.0, SHEUpper[amend]); 00166 mehHcalSHE[amend]->setAxisTitle("Simulated Hit Energy",1); 00167 mehHcalSHE[amend]->setAxisTitle("Count",2); 00168 hcharname = "hHcalAEESHE_"+HCalString[amend]; 00169 hchartitle= HCalString[amend]+"Cal AEE/SHE"; 00170 sprintf(hname, hcharname.c_str()); 00171 sprintf(htitle, hchartitle.c_str()); 00172 mehHcalAEESHE[amend] = dbe->book1D(hname, htitle, SHEvAEEnBins[amend], SHEvAEELower[amend], SHEvAEEUpper[amend]); 00173 mehHcalAEESHE[amend]->setAxisTitle("ADC / SHE",1); 00174 mehHcalAEESHE[amend]->setAxisTitle("Count",2); 00175 00176 //************ Not sure how to do Profile ME ************** 00177 00178 hcharname = "hHcalSHEvAEE_"+HCalString[amend]; 00179 hchartitle= HCalString[amend]+"Cal SHE vs. AEE"; 00180 sprintf(hname, hcharname.c_str()); 00181 sprintf(htitle, hchartitle.c_str()); 00182 mehHcalSHEvAEE[amend] = dbe->bookProfile(hname,htitle, 60, (float)-10., (float)50., 100, (float)0., (float)ProfileUpper[amend],""); 00183 mehHcalSHEvAEE[amend]->setAxisTitle("AEE / SHE",1); 00184 mehHcalSHEvAEE[amend]->setAxisTitle("SHE",2); 00185 00186 } 00187 00188 00189 00190 00191 //Ecal **Done ** 00192 std::string ECalString[2] = {"EB","EE"}; 00193 00194 for(int i =0; i<2; ++i) 00195 { 00196 mehEcaln[i]=0; 00197 mehEcalAEE[i]=0; 00198 mehEcalSHE[i]=0; 00199 mehEcalMaxPos[i]=0; 00200 mehEcalMultvAEE[i]=0; 00201 mehEcalSHEvAEESHE[i]=0; 00202 } 00203 dbe->setCurrentFolder("GlobalDigisV/ECals"); 00204 00205 for(int amend = 0; amend < 2; ++amend) 00206 { 00207 hcharname = "hEcaln_"+ECalString[amend]; 00208 hchartitle= ECalString[amend]+" digis"; 00209 sprintf(hname, hcharname.c_str()); 00210 sprintf(htitle, hchartitle.c_str()); 00211 mehEcaln[amend] = dbe->book1D(hname,htitle, 300, 1000., 4000.); 00212 mehEcaln[amend]->setAxisTitle("Number of Digis",1); 00213 mehEcaln[amend]->setAxisTitle("Count",2); 00214 hcharname = "hEcalAEE_"+ECalString[amend]; 00215 hchartitle= ECalString[amend]+"Cal AEE"; 00216 sprintf(hname, hcharname.c_str()); 00217 sprintf(htitle, hchartitle.c_str()); 00218 mehEcalAEE[amend] = dbe->book1D(hname,htitle, 100, 0., 1.); 00219 mehEcalAEE[amend]->setAxisTitle("Analog Equivalent Energy",1); 00220 mehEcalAEE[amend]->setAxisTitle("Count",2); 00221 hcharname = "hEcalSHE_"+ECalString[amend]; 00222 hchartitle= ECalString[amend]+"Cal SHE"; 00223 sprintf(hname, hcharname.c_str()); 00224 sprintf(htitle, hchartitle.c_str()); 00225 mehEcalSHE[amend] = dbe->book1D(hname,htitle, 50, 0., 5.); 00226 mehEcalSHE[amend]->setAxisTitle("Simulated Hit Energy",1); 00227 mehEcalSHE[amend]->setAxisTitle("Count",2); 00228 hcharname = "hEcalMaxPos_"+ECalString[amend]; 00229 hchartitle= ECalString[amend]+"Cal MaxPos"; 00230 sprintf(hname, hcharname.c_str()); 00231 sprintf(htitle, hchartitle.c_str()); 00232 mehEcalMaxPos[amend] = dbe->book1D(hname,htitle,10, 0., 10.); 00233 mehEcalMaxPos[amend]->setAxisTitle("Maximum Position",1); 00234 mehEcalMaxPos[amend]->setAxisTitle("Count",2); 00235 00236 //************ Not sure how to do Profile ME ************** 00237 hcharname = "hEcalSHEvAEESHE_"+ECalString[amend]; 00238 hchartitle= ECalString[amend]+"Cal SHE vs. AEE/SHE"; 00239 sprintf(hname, hcharname.c_str()); 00240 sprintf(htitle, hchartitle.c_str()); 00241 mehEcalSHEvAEESHE[amend] = dbe->bookProfile(hname,htitle,100, (float)0., (float)10., 50, (float)0., (float)5.,""); 00242 mehEcalSHEvAEESHE[amend]->setAxisTitle("AEE / SHE",1); 00243 mehEcalSHEvAEESHE[amend]->setAxisTitle("SHE",2); 00244 hcharname = "hEcalMultvAEE_"+ECalString[amend]; 00245 hchartitle= ECalString[amend]+"Cal Multi vs. AEE"; 00246 sprintf(hname, hcharname.c_str()); 00247 sprintf(htitle, hchartitle.c_str()); 00248 mehEcalMultvAEE[amend] = dbe->bookProfile(hname,htitle, 100, (float)0., (float)10., 400, (float)0., (float)4000.,""); 00249 mehEcalMultvAEE[amend]->setAxisTitle("Analog Equivalent Energy",1); 00250 mehEcalMultvAEE[amend]->setAxisTitle("Number of Digis",2); 00251 00252 00253 00254 } 00255 mehEcaln[2] = 0; 00256 hcharname = "hEcaln_ES"; 00257 hchartitle= "ESCAL digis"; 00258 sprintf(hname, hcharname.c_str()); 00259 sprintf(htitle, hchartitle.c_str()); 00260 mehEcaln[2] = dbe->book1D(hname,htitle, 100, 0., 500.); 00261 mehEcaln[2]->setAxisTitle("Number of Digis",1); 00262 mehEcaln[2]->setAxisTitle("Count",2); 00263 std::string ADCNumber[3] = {"0", "1", "2"}; 00264 for(int i =0; i<3; ++i) 00265 { 00266 mehEScalADC[i] = 0; 00267 hcharname = "hEcalADC"+ADCNumber[i]+"_ES"; 00268 hchartitle= "ESCAL ADC"+ADCNumber[i]; 00269 sprintf(hname, hcharname.c_str()); 00270 sprintf(htitle, hchartitle.c_str()); 00271 mehEScalADC[i] = dbe->book1D(hname,htitle, 150, 950., 1500.); 00272 mehEScalADC[i]->setAxisTitle("ADC"+ADCNumber[i],1); 00273 mehEScalADC[i]->setAxisTitle("Count",2); 00274 00275 } 00276 00277 //Si Pixels ***DONE*** 00278 std::string SiPixelString[7] = {"BRL1", "BRL2", "BRL3", "FWD1n", "FWD1p", "FWD2n", "FWD2p"}; 00279 for(int j =0; j<7; ++j) 00280 { 00281 mehSiPixeln[j]=0; 00282 mehSiPixelADC[j]=0; 00283 mehSiPixelRow[j]=0; 00284 mehSiPixelCol[j]=0; 00285 } 00286 00287 dbe->setCurrentFolder("GlobalDigisV/SiPixels"); 00288 for(int amend = 0; amend < 7; ++amend) 00289 { 00290 hcharname = "hSiPixeln_"+SiPixelString[amend]; 00291 hchartitle= SiPixelString[amend]+" Digis"; 00292 sprintf(hname, hcharname.c_str()); 00293 sprintf(htitle, hchartitle.c_str()); 00294 if(amend<3) mehSiPixeln[amend] = dbe->book1D(hname,htitle,50,0.,100.); 00295 else mehSiPixeln[amend] = dbe->book1D(hname,htitle,25,0.,50.); 00296 mehSiPixeln[amend]->setAxisTitle("Number of Digis",1); 00297 mehSiPixeln[amend]->setAxisTitle("Count",2); 00298 hcharname = "hSiPixelADC_"+SiPixelString[amend]; 00299 hchartitle= SiPixelString[amend]+" ADC"; 00300 sprintf(hname, hcharname.c_str()); 00301 sprintf(htitle, hchartitle.c_str()); 00302 mehSiPixelADC[amend] = dbe->book1D(hname,htitle,150,0.0,300.); 00303 mehSiPixelADC[amend]->setAxisTitle("ADC",1); 00304 mehSiPixelADC[amend]->setAxisTitle("Count",2); 00305 hcharname = "hSiPixelRow_"+SiPixelString[amend]; 00306 hchartitle= SiPixelString[amend]+" Row"; 00307 sprintf(hname, hcharname.c_str()); 00308 sprintf(htitle, hchartitle.c_str()); 00309 mehSiPixelRow[amend] = dbe->book1D(hname,htitle,100,0.0,100.); 00310 mehSiPixelRow[amend]->setAxisTitle("Row Number",1); 00311 mehSiPixelRow[amend]->setAxisTitle("Count",2); 00312 hcharname = "hSiPixelColumn_"+SiPixelString[amend]; 00313 hchartitle= SiPixelString[amend]+" Column"; 00314 sprintf(hname, hcharname.c_str()); 00315 sprintf(htitle, hchartitle.c_str()); 00316 mehSiPixelCol[amend] = dbe->book1D(hname,htitle,200,0.0,500.); 00317 mehSiPixelCol[amend]->setAxisTitle("Column Number",1); 00318 mehSiPixelCol[amend]->setAxisTitle("Count",2); 00319 } 00320 //Muons ***DONE**** 00321 dbe->setCurrentFolder("GlobalDigisV/Muons"); 00322 std::string MuonString[4] = {"MB1", "MB2", "MB3", "MB4"}; 00323 00324 for(int i =0; i < 4; ++i) 00325 { 00326 mehDtMuonn[i] = 0; 00327 mehDtMuonLayer[i] = 0; 00328 mehDtMuonTime[i] = 0; 00329 mehDtMuonTimevLayer[i] = 0; 00330 } 00331 00332 for(int j = 0; j < 4; ++j) 00333 { 00334 hcharname = "hDtMuonn_"+MuonString[j]; 00335 hchartitle= MuonString[j]+" digis"; 00336 sprintf(hname,hcharname.c_str()); 00337 sprintf(htitle,hchartitle.c_str()); 00338 mehDtMuonn[j] = dbe->book1D(hname,htitle,25, 0., 50.); 00339 mehDtMuonn[j]->setAxisTitle("Number of Digis",1); 00340 mehDtMuonn[j]->setAxisTitle("Count",2); 00341 hcharname = "hDtLayer_"+MuonString[j]; 00342 hchartitle= MuonString[j]+" Layer"; 00343 sprintf(hname,hcharname.c_str()); 00344 sprintf(htitle,hchartitle.c_str()); 00345 mehDtMuonLayer[j] = dbe->book1D(hname,htitle,12, 1., 13.); 00346 mehDtMuonLayer[j]->setAxisTitle("4 * (SuperLayer - 1) + Layer",1); 00347 mehDtMuonLayer[j]->setAxisTitle("Count",2); 00348 hcharname = "hDtMuonTime_"+MuonString[j]; 00349 hchartitle= MuonString[j]+" Time"; 00350 sprintf(hname,hcharname.c_str()); 00351 sprintf(htitle,hchartitle.c_str()); 00352 mehDtMuonTime[j] = dbe->book1D(hname,htitle,300, 400., 1000.); 00353 mehDtMuonTime[j]->setAxisTitle("Time",1); 00354 mehDtMuonTime[j]->setAxisTitle("Count",2); 00355 hcharname = "hDtMuonTimevLayer_"+MuonString[j]; 00356 hchartitle= MuonString[j]+" Time vs. Layer"; 00357 sprintf(hname,hcharname.c_str()); 00358 sprintf(htitle,hchartitle.c_str()); 00359 mehDtMuonTimevLayer[j] = dbe->bookProfile(hname,htitle,12, 1., 13., 300, 400., 1000.,""); 00360 mehDtMuonTimevLayer[j]->setAxisTitle("4 * (SuperLayer - 1) + Layer",1); 00361 mehDtMuonTimevLayer[j]->setAxisTitle("Time",2); 00362 } 00363 00364 // **** Have to do CSC and RPC now ***** 00365 //CSC 00366 mehCSCStripn = 0; 00367 hcharname = "hCSCStripn"; 00368 hchartitle = "CSC Strip digis"; 00369 sprintf(hname,hcharname.c_str()); 00370 sprintf(htitle,hchartitle.c_str()); 00371 mehCSCStripn = dbe->book1D(hname,htitle,25, 0., 50.); 00372 mehCSCStripn->setAxisTitle("Number of Digis",1); 00373 mehCSCStripn->setAxisTitle("Count",2); 00374 00375 mehCSCStripADC = 0; 00376 hcharname = "hCSCStripADC"; 00377 hchartitle = "CSC Strip ADC"; 00378 sprintf(hname,hcharname.c_str()); 00379 sprintf(htitle,hchartitle.c_str()); 00380 mehCSCStripADC = dbe->book1D(hname,htitle, 110, 0., 1100.); 00381 mehCSCStripADC->setAxisTitle("ADC",1); 00382 mehCSCStripADC->setAxisTitle("Count",2); 00383 00384 mehCSCWiren = 0; 00385 hcharname = "hCSCWiren"; 00386 hchartitle = "CSC Wire digis"; 00387 sprintf(hname,hcharname.c_str()); 00388 sprintf(htitle,hchartitle.c_str()); 00389 mehCSCWiren = dbe->book1D(hname,htitle,25, 0., 50.); 00390 mehCSCWiren->setAxisTitle("Number of Digis",1); 00391 mehCSCWiren->setAxisTitle("Count",2); 00392 00393 00394 00395 mehCSCWireTime = 0; 00396 hcharname = "hCSCWireTime"; 00397 hchartitle = "CSC Wire Time"; 00398 sprintf(hname,hcharname.c_str()); 00399 sprintf(htitle,hchartitle.c_str()); 00400 mehCSCWiren = dbe->book1D(hname,htitle,10, 0., 10.); 00401 mehCSCWiren->setAxisTitle("Time",1); 00402 mehCSCWiren->setAxisTitle("Count",2); 00403 00404 00405 } 00406 00407 }
GlobalDigisHistogrammer::~GlobalDigisHistogrammer | ( | ) | [virtual] |
Definition at line 421 of file GlobalDigisHistogrammer.cc.
References dbe, doOutput, outputfile, and DQMStore::save().
00422 { 00423 if (doOutput) 00424 if (outputfile.size() != 0 && dbe) dbe->save(outputfile); 00425 }
void GlobalDigisHistogrammer::analyze | ( | const edm::Event & | iEvent, | |
const edm::EventSetup & | iSetup | |||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 472 of file GlobalDigisHistogrammer.cc.
References count, MonitorElement::Fill(), frequency, edm::Event::getAllProvenance(), getAllProvenances, edm::Event::getByLabel(), GlobalDigisSrc_, i, edm::Event::id(), edm::Handle< T >::isValid(), mehCSCStripADC, mehCSCStripn, mehCSCWiren, mehCSCWireTime, mehDtMuonLayer, mehDtMuonn, mehDtMuonTime, mehDtMuonTimevLayer, mehEcalAEE, mehEcalMaxPos, mehEcalMultvAEE, mehEcaln, mehEcalSHE, mehEcalSHEvAEESHE, mehEScalADC, mehHcalAEE, mehHcalAEESHE, mehHcaln, mehHcalSHE, mehHcalSHEvAEE, mehSiPixelADC, mehSiPixelCol, mehSiPixeln, mehSiPixelRow, mehSiStripADC, mehSiStripn, mehSiStripStrip, printProvenanceInfo, and verbosity.
00474 { 00475 std::string MsgLoggerCat = "GlobalDigisHistogrammer_analyze"; 00476 00477 // keep track of number of events processed 00478 ++count; 00479 00480 // get event id information 00481 int nrun = iEvent.id().run(); 00482 int nevt = iEvent.id().event(); 00483 00484 if (verbosity > 0) { 00485 edm::LogInfo(MsgLoggerCat) 00486 << "Processing run " << nrun << ", event " << nevt 00487 << " (" << count << " events total)"; 00488 } else if (verbosity == 0) { 00489 if (nevt%frequency == 0 || nevt == 1) { 00490 edm::LogInfo(MsgLoggerCat) 00491 << "Processing run " << nrun << ", event " << nevt 00492 << " (" << count << " events total)"; 00493 } 00494 } 00495 00496 // clear event holders 00497 //clear(); 00498 00499 // look at information available in the event 00500 if (getAllProvenances) { 00501 00502 std::vector<const edm::Provenance*> AllProv; 00503 iEvent.getAllProvenance(AllProv); 00504 00505 if (verbosity >= 0) 00506 edm::LogInfo(MsgLoggerCat) 00507 << "Number of Provenances = " << AllProv.size(); 00508 00509 if (printProvenanceInfo && (verbosity >= 0)) { 00510 TString eventout("\nProvenance info:\n"); 00511 00512 for (unsigned int i = 0; i < AllProv.size(); ++i) { 00513 eventout += "\n ******************************"; 00514 eventout += "\n Module : "; 00515 //eventout += (AllProv[i]->product).moduleLabel(); 00516 eventout += AllProv[i]->moduleLabel(); 00517 eventout += "\n ProductID : "; 00518 //eventout += (AllProv[i]->product).productID_.id_; 00519 eventout += AllProv[i]->productID().id(); 00520 eventout += "\n ClassName : "; 00521 //eventout += (AllProv[i]->product).fullClassName_; 00522 eventout += AllProv[i]->className(); 00523 eventout += "\n InstanceName : "; 00524 //eventout += (AllProv[i]->product).productInstanceName_; 00525 eventout += AllProv[i]->productInstanceName(); 00526 eventout += "\n BranchName : "; 00527 //eventout += (AllProv[i]->product).branchName_; 00528 eventout += AllProv[i]->branchName(); 00529 } 00530 eventout += "\n ******************************\n"; 00531 edm::LogInfo(MsgLoggerCat) << eventout << "\n"; 00532 printProvenanceInfo = false; 00533 getAllProvenances = false; 00534 } 00535 edm::Handle<PGlobalDigi> srcGlobalDigis; 00536 iEvent.getByLabel(GlobalDigisSrc_,srcGlobalDigis); 00537 if (!srcGlobalDigis.isValid()) { 00538 edm::LogWarning(MsgLoggerCat) 00539 << "Unable to find PGlobalDigis in event!"; 00540 return; 00541 00542 } 00543 00544 00545 00546 int nEBCalDigis = srcGlobalDigis->getnEBCalDigis(); 00547 int nEECalDigis = srcGlobalDigis->getnEECalDigis(); 00548 int nESCalDigis = srcGlobalDigis->getnESCalDigis(); 00549 00550 int nHBCalDigis = srcGlobalDigis->getnHBCalDigis(); 00551 int nHECalDigis = srcGlobalDigis->getnHECalDigis(); 00552 int nHOCalDigis = srcGlobalDigis->getnHOCalDigis(); 00553 int nHFCalDigis = srcGlobalDigis->getnHFCalDigis(); 00554 00555 int nTIBL1Digis = srcGlobalDigis->getnTIBL1Digis(); 00556 int nTIBL2Digis = srcGlobalDigis->getnTIBL2Digis(); 00557 int nTIBL3Digis = srcGlobalDigis->getnTIBL3Digis(); 00558 int nTIBL4Digis = srcGlobalDigis->getnTIBL4Digis(); 00559 int nTOBL1Digis = srcGlobalDigis->getnTOBL1Digis(); 00560 int nTOBL2Digis = srcGlobalDigis->getnTOBL2Digis(); 00561 int nTOBL3Digis = srcGlobalDigis->getnTOBL3Digis(); 00562 int nTOBL4Digis = srcGlobalDigis->getnTOBL4Digis(); 00563 int nTIDW1Digis = srcGlobalDigis->getnTIDW1Digis(); 00564 int nTIDW2Digis = srcGlobalDigis->getnTIDW2Digis(); 00565 int nTIDW3Digis = srcGlobalDigis->getnTIDW3Digis(); 00566 int nTECW1Digis = srcGlobalDigis->getnTECW1Digis(); 00567 int nTECW2Digis = srcGlobalDigis->getnTECW2Digis(); 00568 int nTECW3Digis = srcGlobalDigis->getnTECW3Digis(); 00569 int nTECW4Digis = srcGlobalDigis->getnTECW4Digis(); 00570 int nTECW5Digis = srcGlobalDigis->getnTECW5Digis(); 00571 int nTECW6Digis = srcGlobalDigis->getnTECW6Digis(); 00572 int nTECW7Digis = srcGlobalDigis->getnTECW7Digis(); 00573 int nTECW8Digis = srcGlobalDigis->getnTECW8Digis(); 00574 00575 int nBRL1Digis = srcGlobalDigis->getnBRL1Digis(); 00576 int nBRL2Digis = srcGlobalDigis->getnBRL2Digis(); 00577 int nBRL3Digis = srcGlobalDigis->getnBRL3Digis(); 00578 int nFWD1nDigis = srcGlobalDigis->getnFWD1nDigis(); 00579 int nFWD1pDigis = srcGlobalDigis->getnFWD1pDigis(); 00580 int nFWD2nDigis = srcGlobalDigis->getnFWD2nDigis(); 00581 int nFWD2pDigis = srcGlobalDigis->getnFWD2pDigis(); 00582 00583 int nMB1Digis = srcGlobalDigis->getnMB1Digis(); 00584 int nMB2Digis = srcGlobalDigis->getnMB2Digis(); 00585 int nMB3Digis = srcGlobalDigis->getnMB3Digis(); 00586 int nMB4Digis = srcGlobalDigis->getnMB4Digis(); 00587 00588 int nCSCstripDigis = srcGlobalDigis->getnCSCstripDigis(); 00589 00590 int nCSCwireDigis = srcGlobalDigis->getnCSCwireDigis(); 00591 00592 // get Ecal info 00593 std::vector<PGlobalDigi::ECalDigi> EECalDigis = 00594 srcGlobalDigis->getEECalDigis(); 00595 mehEcaln[0]->Fill((float)nEECalDigis); 00596 for (unsigned int i = 0; i < EECalDigis.size(); ++i) { 00597 mehEcalAEE[0]->Fill(EECalDigis[i].AEE); 00598 mehEcalMaxPos[0]->Fill(EECalDigis[i].maxPos); 00599 mehEcalMultvAEE[0]->Fill(EECalDigis[i].AEE,(float)nEECalDigis,1); 00600 if (EECalDigis[i].SHE != 0.) { 00601 mehEcalSHE[0]->Fill(EECalDigis[i].SHE); 00602 mehEcalSHEvAEESHE[0]-> 00603 Fill(EECalDigis[i].AEE/EECalDigis[i].SHE,EECalDigis[i].SHE,1); 00604 } 00605 } 00606 00607 std::vector<PGlobalDigi::ECalDigi> EBCalDigis = 00608 srcGlobalDigis->getEBCalDigis(); 00609 mehEcaln[1]->Fill((float)nEBCalDigis); 00610 for (unsigned int i = 0; i < EBCalDigis.size(); ++i) { 00611 mehEcalAEE[1]->Fill(EBCalDigis[i].AEE); 00612 mehEcalMaxPos[1]->Fill(EBCalDigis[i].maxPos); 00613 mehEcalMultvAEE[1]->Fill(EBCalDigis[i].AEE,(float)nEBCalDigis,1); 00614 if (EBCalDigis[i].SHE != 0.) { 00615 mehEcalSHE[1]->Fill(EBCalDigis[i].SHE); 00616 mehEcalSHEvAEESHE[1]-> 00617 Fill(EBCalDigis[i].AEE/EBCalDigis[i].SHE,EBCalDigis[i].SHE,1); 00618 } 00619 } 00620 00621 std::vector<PGlobalDigi::ESCalDigi> ESCalDigis = 00622 srcGlobalDigis->getESCalDigis(); 00623 mehEcaln[2]->Fill((float)nESCalDigis); 00624 for (unsigned int i = 0; i < ESCalDigis.size(); ++i) { 00625 mehEScalADC[0]->Fill(ESCalDigis[i].ADC0); 00626 mehEScalADC[1]->Fill(ESCalDigis[i].ADC1); 00627 mehEScalADC[2]->Fill(ESCalDigis[i].ADC2); 00628 } 00629 00630 // Get HCal info 00631 std::vector<PGlobalDigi::HCalDigi> HBCalDigis = 00632 srcGlobalDigis->getHBCalDigis(); 00633 mehHcaln[0]->Fill((float)nHBCalDigis); 00634 for (unsigned int i = 0; i < HBCalDigis.size(); ++i) { 00635 mehHcalAEE[0]->Fill(HBCalDigis[i].AEE); 00636 if (HBCalDigis[i].SHE != 0.) { 00637 mehHcalSHE[0]->Fill(HBCalDigis[i].SHE); 00638 mehHcalAEESHE[0]->Fill(HBCalDigis[i].AEE/HBCalDigis[i].SHE); 00639 mehHcalSHEvAEE[0]-> 00640 Fill(HBCalDigis[i].AEE,HBCalDigis[i].SHE,1); 00641 } 00642 } 00643 std::vector<PGlobalDigi::HCalDigi> HECalDigis = 00644 srcGlobalDigis->getHECalDigis(); 00645 mehHcaln[1]->Fill((float)nHECalDigis); 00646 for (unsigned int i = 0; i < HECalDigis.size(); ++i) { 00647 mehHcalAEE[1]->Fill(HECalDigis[i].AEE); 00648 if (HECalDigis[i].SHE != 0.) { 00649 mehHcalSHE[1]->Fill(HECalDigis[i].SHE); 00650 mehHcalAEESHE[1]->Fill(HECalDigis[i].AEE/HECalDigis[i].SHE); 00651 mehHcalSHEvAEE[1]-> 00652 Fill(HECalDigis[i].AEE,HECalDigis[i].SHE,1); 00653 } 00654 } 00655 00656 std::vector<PGlobalDigi::HCalDigi> HOCalDigis = 00657 srcGlobalDigis->getHOCalDigis(); 00658 mehHcaln[2]->Fill((float)nHOCalDigis); 00659 for (unsigned int i = 0; i < HOCalDigis.size(); ++i) { 00660 mehHcalAEE[2]->Fill(HOCalDigis[i].AEE); 00661 if (HOCalDigis[i].SHE != 0.) { 00662 mehHcalSHE[2]->Fill(HOCalDigis[i].SHE); 00663 mehHcalAEESHE[2]->Fill(HOCalDigis[i].AEE/HOCalDigis[i].SHE); 00664 mehHcalSHEvAEE[2]-> 00665 Fill(HOCalDigis[i].AEE,HOCalDigis[i].SHE,1); 00666 } 00667 } 00668 00669 std::vector<PGlobalDigi::HCalDigi> HFCalDigis = 00670 srcGlobalDigis->getHFCalDigis(); 00671 mehHcaln[3]->Fill((float)nHFCalDigis); 00672 for (unsigned int i = 0; i < HFCalDigis.size(); ++i) { 00673 mehHcalAEE[3]->Fill(HFCalDigis[i].AEE); 00674 if (HFCalDigis[i].SHE != 0.) { 00675 mehHcalSHE[3]->Fill(HFCalDigis[i].SHE); 00676 mehHcalAEESHE[3]->Fill(HFCalDigis[i].AEE/HFCalDigis[i].SHE); 00677 mehHcalSHEvAEE[3]-> 00678 Fill(HFCalDigis[i].AEE,HFCalDigis[i].SHE,1); 00679 } 00680 } 00681 00682 // get SiStrip info 00683 std::vector<PGlobalDigi::SiStripDigi> TIBL1Digis = 00684 srcGlobalDigis->getTIBL1Digis(); 00685 mehSiStripn[0]->Fill((float)nTIBL1Digis); 00686 for (unsigned int i = 0; i < TIBL1Digis.size(); ++i) { 00687 mehSiStripADC[0]->Fill(TIBL1Digis[i].ADC); 00688 mehSiStripStrip[0]->Fill(TIBL1Digis[i].STRIP); 00689 } 00690 00691 std::vector<PGlobalDigi::SiStripDigi> TIBL2Digis = 00692 srcGlobalDigis->getTIBL2Digis(); 00693 mehSiStripn[1]->Fill((float)nTIBL2Digis); 00694 for (unsigned int i = 0; i < TIBL2Digis.size(); ++i) { 00695 mehSiStripADC[1]->Fill(TIBL2Digis[i].ADC); 00696 mehSiStripStrip[1]->Fill(TIBL2Digis[i].STRIP); 00697 } 00698 00699 std::vector<PGlobalDigi::SiStripDigi> TIBL3Digis = 00700 srcGlobalDigis->getTIBL3Digis(); 00701 mehSiStripn[2]->Fill((float)nTIBL3Digis); 00702 for (unsigned int i = 0; i < TIBL3Digis.size(); ++i) { 00703 mehSiStripADC[2]->Fill(TIBL3Digis[i].ADC); 00704 mehSiStripStrip[2]->Fill(TIBL3Digis[i].STRIP); 00705 } 00706 00707 std::vector<PGlobalDigi::SiStripDigi> TIBL4Digis = 00708 srcGlobalDigis->getTIBL4Digis(); 00709 mehSiStripn[3]->Fill((float)nTIBL4Digis); 00710 for (unsigned int i = 0; i < TIBL4Digis.size(); ++i) { 00711 mehSiStripADC[3]->Fill(TIBL4Digis[i].ADC); 00712 mehSiStripStrip[3]->Fill(TIBL4Digis[i].STRIP); 00713 } 00714 00715 std::vector<PGlobalDigi::SiStripDigi> TOBL1Digis = 00716 srcGlobalDigis->getTOBL1Digis(); 00717 mehSiStripn[4]->Fill((float)nTOBL1Digis); 00718 for (unsigned int i = 0; i < TOBL1Digis.size(); ++i) { 00719 mehSiStripADC[4]->Fill(TOBL1Digis[i].ADC); 00720 mehSiStripStrip[4]->Fill(TOBL1Digis[i].STRIP); 00721 } 00722 00723 std::vector<PGlobalDigi::SiStripDigi> TOBL2Digis = 00724 srcGlobalDigis->getTOBL2Digis(); 00725 mehSiStripn[5]->Fill((float)nTOBL2Digis); 00726 for (unsigned int i = 0; i < TOBL2Digis.size(); ++i) { 00727 mehSiStripADC[5]->Fill(TOBL2Digis[i].ADC); 00728 mehSiStripStrip[5]->Fill(TOBL2Digis[i].STRIP); 00729 } 00730 00731 std::vector<PGlobalDigi::SiStripDigi> TOBL3Digis = 00732 srcGlobalDigis->getTOBL3Digis(); 00733 mehSiStripn[6]->Fill((float)nTOBL3Digis); 00734 for (unsigned int i = 0; i < TOBL3Digis.size(); ++i) { 00735 mehSiStripADC[6]->Fill(TOBL3Digis[i].ADC); 00736 mehSiStripStrip[6]->Fill(TOBL3Digis[i].STRIP); 00737 } 00738 00739 std::vector<PGlobalDigi::SiStripDigi> TOBL4Digis = 00740 srcGlobalDigis->getTOBL4Digis(); 00741 mehSiStripn[7]->Fill((float)nTOBL4Digis); 00742 for (unsigned int i = 0; i < TOBL4Digis.size(); ++i) { 00743 mehSiStripADC[7]->Fill(TOBL4Digis[i].ADC); 00744 mehSiStripStrip[7]->Fill(TOBL4Digis[i].STRIP); 00745 } 00746 00747 std::vector<PGlobalDigi::SiStripDigi> TIDW1Digis = 00748 srcGlobalDigis->getTIDW1Digis(); 00749 mehSiStripn[8]->Fill((float)nTIDW1Digis); 00750 for (unsigned int i = 0; i < TIDW1Digis.size(); ++i) { 00751 mehSiStripADC[8]->Fill(TIDW1Digis[i].ADC); 00752 mehSiStripStrip[8]->Fill(TIDW1Digis[i].STRIP); 00753 } 00754 00755 std::vector<PGlobalDigi::SiStripDigi> TIDW2Digis = 00756 srcGlobalDigis->getTIDW2Digis(); 00757 mehSiStripn[9]->Fill((float)nTIDW2Digis); 00758 for (unsigned int i = 0; i < TIDW2Digis.size(); ++i) { 00759 mehSiStripADC[9]->Fill(TIDW2Digis[i].ADC); 00760 mehSiStripStrip[9]->Fill(TIDW2Digis[i].STRIP); 00761 } 00762 00763 std::vector<PGlobalDigi::SiStripDigi> TIDW3Digis = 00764 srcGlobalDigis->getTIDW3Digis(); 00765 mehSiStripn[10]->Fill((float)nTIDW3Digis); 00766 for (unsigned int i = 0; i < TIDW3Digis.size(); ++i) { 00767 mehSiStripADC[10]->Fill(TIDW3Digis[i].ADC); 00768 mehSiStripStrip[10]->Fill(TIDW3Digis[i].STRIP); 00769 } 00770 00771 std::vector<PGlobalDigi::SiStripDigi> TECW1Digis = 00772 srcGlobalDigis->getTECW1Digis(); 00773 mehSiStripn[11]->Fill((float)nTECW1Digis); 00774 for (unsigned int i = 0; i < TECW1Digis.size(); ++i) { 00775 mehSiStripADC[11]->Fill(TECW1Digis[i].ADC); 00776 mehSiStripStrip[11]->Fill(TECW1Digis[i].STRIP); 00777 } 00778 00779 std::vector<PGlobalDigi::SiStripDigi> TECW2Digis = 00780 srcGlobalDigis->getTECW2Digis(); 00781 mehSiStripn[12]->Fill((float)nTECW2Digis); 00782 for (unsigned int i = 0; i < TECW2Digis.size(); ++i) { 00783 mehSiStripADC[12]->Fill(TECW2Digis[i].ADC); 00784 mehSiStripStrip[12]->Fill(TECW2Digis[i].STRIP); 00785 } 00786 00787 std::vector<PGlobalDigi::SiStripDigi> TECW3Digis = 00788 srcGlobalDigis->getTECW3Digis(); 00789 mehSiStripn[13]->Fill((float)nTECW3Digis); 00790 for (unsigned int i = 0; i < TECW3Digis.size(); ++i) { 00791 mehSiStripADC[13]->Fill(TECW3Digis[i].ADC); 00792 mehSiStripStrip[13]->Fill(TECW3Digis[i].STRIP); 00793 } 00794 00795 std::vector<PGlobalDigi::SiStripDigi> TECW4Digis = 00796 srcGlobalDigis->getTECW4Digis(); 00797 mehSiStripn[14]->Fill((float)nTECW4Digis); 00798 for (unsigned int i = 0; i < TECW4Digis.size(); ++i) { 00799 mehSiStripADC[14]->Fill(TECW4Digis[i].ADC); 00800 mehSiStripStrip[14]->Fill(TECW4Digis[i].STRIP); 00801 } 00802 00803 std::vector<PGlobalDigi::SiStripDigi> TECW5Digis = 00804 srcGlobalDigis->getTECW5Digis(); 00805 mehSiStripn[15]->Fill((float)nTECW5Digis); 00806 for (unsigned int i = 0; i < TECW5Digis.size(); ++i) { 00807 mehSiStripADC[15]->Fill(TECW5Digis[i].ADC); 00808 mehSiStripStrip[15]->Fill(TECW5Digis[i].STRIP); 00809 } 00810 00811 std::vector<PGlobalDigi::SiStripDigi> TECW6Digis = 00812 srcGlobalDigis->getTECW6Digis(); 00813 mehSiStripn[16]->Fill((float)nTECW6Digis); 00814 for (unsigned int i = 0; i < TECW6Digis.size(); ++i) { 00815 mehSiStripADC[16]->Fill(TECW6Digis[i].ADC); 00816 mehSiStripStrip[16]->Fill(TECW6Digis[i].STRIP); 00817 } 00818 00819 std::vector<PGlobalDigi::SiStripDigi> TECW7Digis = 00820 srcGlobalDigis->getTECW7Digis(); 00821 mehSiStripn[17]->Fill((float)nTECW7Digis); 00822 for (unsigned int i = 0; i < TECW7Digis.size(); ++i) { 00823 mehSiStripADC[17]->Fill(TECW7Digis[i].ADC); 00824 mehSiStripStrip[17]->Fill(TECW7Digis[i].STRIP); 00825 } 00826 00827 std::vector<PGlobalDigi::SiStripDigi> TECW8Digis = 00828 srcGlobalDigis->getTECW8Digis(); 00829 mehSiStripn[18]->Fill((float)nTECW8Digis); 00830 for (unsigned int i = 0; i < TECW8Digis.size(); ++i) { 00831 mehSiStripADC[18]->Fill(TECW8Digis[i].ADC); 00832 mehSiStripStrip[18]->Fill(TECW8Digis[i].STRIP); 00833 } 00834 00835 // get SiPixel info 00836 std::vector<PGlobalDigi::SiPixelDigi> BRL1Digis = 00837 srcGlobalDigis->getBRL1Digis(); 00838 mehSiPixeln[0]->Fill((float)nBRL1Digis); 00839 for (unsigned int i = 0; i < BRL1Digis.size(); ++i) { 00840 mehSiPixelADC[0]->Fill(BRL1Digis[i].ADC); 00841 mehSiPixelRow[0]->Fill(BRL1Digis[i].ROW); 00842 mehSiPixelCol[0]->Fill(BRL1Digis[i].COLUMN); 00843 } 00844 00845 std::vector<PGlobalDigi::SiPixelDigi> BRL2Digis = 00846 srcGlobalDigis->getBRL2Digis(); 00847 mehSiPixeln[1]->Fill((float)nBRL2Digis); 00848 for (unsigned int i = 0; i < BRL2Digis.size(); ++i) { 00849 mehSiPixelADC[1]->Fill(BRL2Digis[i].ADC); 00850 mehSiPixelRow[1]->Fill(BRL2Digis[i].ROW); 00851 mehSiPixelCol[1]->Fill(BRL2Digis[i].COLUMN); 00852 } 00853 00854 std::vector<PGlobalDigi::SiPixelDigi> BRL3Digis = 00855 srcGlobalDigis->getBRL3Digis(); 00856 mehSiPixeln[2]->Fill((float)nBRL3Digis); 00857 for (unsigned int i = 0; i < BRL3Digis.size(); ++i) { 00858 mehSiPixelADC[2]->Fill(BRL3Digis[i].ADC); 00859 mehSiPixelRow[2]->Fill(BRL3Digis[i].ROW); 00860 mehSiPixelCol[2]->Fill(BRL3Digis[i].COLUMN); 00861 } 00862 00863 std::vector<PGlobalDigi::SiPixelDigi> FWD1pDigis = 00864 srcGlobalDigis->getFWD1pDigis(); 00865 mehSiPixeln[3]->Fill((float)nFWD1pDigis); 00866 for (unsigned int i = 0; i < FWD1pDigis.size(); ++i) { 00867 mehSiPixelADC[3]->Fill(FWD1pDigis[i].ADC); 00868 mehSiPixelRow[3]->Fill(FWD1pDigis[i].ROW); 00869 mehSiPixelCol[3]->Fill(FWD1pDigis[i].COLUMN); 00870 } 00871 00872 std::vector<PGlobalDigi::SiPixelDigi> FWD1nDigis = 00873 srcGlobalDigis->getFWD1nDigis(); 00874 mehSiPixeln[4]->Fill((float)nFWD1nDigis); 00875 for (unsigned int i = 0; i < FWD1nDigis.size(); ++i) { 00876 mehSiPixelADC[4]->Fill(FWD1nDigis[i].ADC); 00877 mehSiPixelRow[4]->Fill(FWD1nDigis[i].ROW); 00878 mehSiPixelCol[4]->Fill(FWD1nDigis[i].COLUMN); 00879 } 00880 00881 std::vector<PGlobalDigi::SiPixelDigi> FWD2pDigis = 00882 srcGlobalDigis->getFWD2pDigis(); 00883 mehSiPixeln[5]->Fill((float)nFWD2pDigis); 00884 for (unsigned int i = 0; i < FWD2pDigis.size(); ++i) { 00885 mehSiPixelADC[5]->Fill(FWD2pDigis[i].ADC); 00886 mehSiPixelRow[5]->Fill(FWD2pDigis[i].ROW); 00887 mehSiPixelCol[5]->Fill(FWD2pDigis[i].COLUMN); 00888 } 00889 00890 std::vector<PGlobalDigi::SiPixelDigi> FWD2nDigis = 00891 srcGlobalDigis->getFWD2nDigis(); 00892 mehSiPixeln[6]->Fill((float)nFWD2nDigis); 00893 for (unsigned int i = 0; i < FWD2nDigis.size(); ++i) { 00894 mehSiPixelADC[6]->Fill(FWD2nDigis[i].ADC); 00895 mehSiPixelRow[6]->Fill(FWD2nDigis[i].ROW); 00896 mehSiPixelCol[6]->Fill(FWD2nDigis[i].COLUMN); 00897 } 00898 00899 // get DtMuon info 00900 std::vector<PGlobalDigi::DTDigi> MB1Digis = 00901 srcGlobalDigis->getMB1Digis(); 00902 mehDtMuonn[0]->Fill((float)nMB1Digis); 00903 for (unsigned int i = 0; i < MB1Digis.size(); ++i) { 00904 float layer = 4.0 * (MB1Digis[i].SLAYER - 1.0) + MB1Digis[i].LAYER; 00905 mehDtMuonLayer[0]->Fill(layer); 00906 mehDtMuonTime[0]->Fill(MB1Digis[i].TIME); 00907 mehDtMuonTimevLayer[0]->Fill(layer,MB1Digis[i].TIME,1); 00908 } 00909 00910 std::vector<PGlobalDigi::DTDigi> MB2Digis = 00911 srcGlobalDigis->getMB2Digis(); 00912 mehDtMuonn[1]->Fill((float)nMB2Digis); 00913 for (unsigned int i = 0; i < MB2Digis.size(); ++i) { 00914 float layer = 4.0 * (MB2Digis[i].SLAYER - 1.0) + MB2Digis[i].LAYER; 00915 mehDtMuonLayer[1]->Fill(layer); 00916 mehDtMuonTime[1]->Fill(MB2Digis[i].TIME); 00917 mehDtMuonTimevLayer[1]->Fill(layer,MB2Digis[i].TIME,1); 00918 } 00919 00920 std::vector<PGlobalDigi::DTDigi> MB3Digis = 00921 srcGlobalDigis->getMB3Digis(); 00922 mehDtMuonn[2]->Fill((float)nMB3Digis); 00923 for (unsigned int i = 0; i < MB3Digis.size(); ++i) { 00924 float layer = 4.0 * (MB3Digis[i].SLAYER - 1.0) + MB3Digis[i].LAYER; 00925 mehDtMuonLayer[2]->Fill(layer); 00926 mehDtMuonTime[2]->Fill(MB3Digis[i].TIME); 00927 mehDtMuonTimevLayer[2]->Fill(layer,MB3Digis[i].TIME,1); 00928 } 00929 00930 std::vector<PGlobalDigi::DTDigi> MB4Digis = 00931 srcGlobalDigis->getMB4Digis(); 00932 mehDtMuonn[3]->Fill((float)nMB4Digis); 00933 for (unsigned int i = 0; i < MB4Digis.size(); ++i) { 00934 float layer = 4.0 * (MB4Digis[i].SLAYER - 1.0) + MB4Digis[i].LAYER; 00935 mehDtMuonLayer[3]->Fill(layer); 00936 mehDtMuonTime[3]->Fill(MB4Digis[i].TIME); 00937 mehDtMuonTimevLayer[3]->Fill(layer,MB4Digis[i].TIME,1); 00938 } 00939 00940 // get CSC Strip info 00941 std::vector<PGlobalDigi::CSCstripDigi> CSCstripDigis = 00942 srcGlobalDigis->getCSCstripDigis(); 00943 mehCSCStripn->Fill((float)nCSCstripDigis); 00944 for (unsigned int i = 0; i < CSCstripDigis.size(); ++i) { 00945 mehCSCStripADC->Fill(CSCstripDigis[i].ADC); 00946 } 00947 00948 // get CSC Wire info 00949 std::vector<PGlobalDigi::CSCwireDigi> CSCwireDigis = 00950 srcGlobalDigis->getCSCwireDigis(); 00951 mehCSCWiren->Fill((float)nCSCwireDigis); 00952 for (unsigned int i = 0; i < CSCwireDigis.size(); ++i) { 00953 mehCSCWireTime->Fill(CSCwireDigis[i].TIME); 00954 } 00955 if (verbosity > 0) 00956 edm::LogInfo (MsgLoggerCat) 00957 << "Done gathering data from event."; 00958 00959 } // end loop through events 00960 }
void GlobalDigisHistogrammer::beginJob | ( | const edm::EventSetup & | iSetup | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 427 of file GlobalDigisHistogrammer.cc.
00428 { 00429 std::string MsgLoggerCat = "GlobalDigisHistogrammer_beginJob"; 00430 00431 // setup calorimeter constants from service 00432 //edm::ESHandle<EcalADCToGeVConstant> pAgc; 00433 //iSetup.get<EcalADCToGeVConstantRcd>().get(pAgc); 00434 //const EcalADCToGeVConstant* agc = pAgc.product(); 00435 00436 //EcalMGPAGainRatio * defaultRatios = new EcalMGPAGainRatio(); 00437 00438 // ECalgainConv_[0] = 0.; 00439 // ECalgainConv_[1] = 1.; 00440 // // ECalgainConv_[2] = defaultRatios->gain12Over6() ; 00441 //ECalgainConv_[3] = ECalgainConv_[2]*(defaultRatios->gain6Over1()) ; 00442 00443 //delete defaultRatios; 00444 00445 //ECalbarrelADCtoGeV_ = agc->getEBValue(); 00446 //ECalendcapADCtoGeV_ = agc->getEEValue(); 00447 00448 //if (verbosity >= 0) { 00449 // edm::LogInfo(MsgLoggerCat) 00450 // << "Modified Calorimeter gain constants: g0 = " << ECalgainConv_[0] 00451 //<< ", g1 = " << ECalgainConv_[1] << ", g2 = " << ECalgainConv_[2] 00452 // << ", g3 = " << ECalgainConv_[3]; 00453 // edm::LogInfo(MsgLoggerCat) 00454 // << "Modified Calorimeter ADCtoGeV constants: barrel = " 00455 // << ECalbarrelADCtoGeV_ << ", endcap = " << ECalendcapADCtoGeV_; 00456 //} 00457 00458 // clear storage vectors 00459 //clear(); 00460 return; 00461 }
Reimplemented from edm::EDAnalyzer.
Definition at line 463 of file GlobalDigisHistogrammer.cc.
References count, and verbosity.
00464 { 00465 std::string MsgLoggerCat = "GlobalDigisHistogrammer_endJob"; 00466 if (verbosity >= 0) 00467 edm::LogInfo(MsgLoggerCat) 00468 << "Terminating having processed " << count << " events."; 00469 return; 00470 }
unsigned int GlobalDigisHistogrammer::count [private] |
DQMStore* GlobalDigisHistogrammer::dbe [private] |
Definition at line 81 of file GlobalDigisHistogrammer.h.
Referenced by GlobalDigisHistogrammer(), and ~GlobalDigisHistogrammer().
bool GlobalDigisHistogrammer::doOutput [private] |
Definition at line 83 of file GlobalDigisHistogrammer.h.
Referenced by GlobalDigisHistogrammer(), and ~GlobalDigisHistogrammer().
std::string GlobalDigisHistogrammer::fName [private] |
int GlobalDigisHistogrammer::frequency [private] |
Definition at line 76 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
Definition at line 78 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
Definition at line 85 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
std::string GlobalDigisHistogrammer::label [private] |
Definition at line 77 of file GlobalDigisHistogrammer.h.
Definition at line 131 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
Definition at line 130 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
Definition at line 132 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
Definition at line 133 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehDtMuonLayer[4] [private] |
Definition at line 124 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehDtMuonn[4] [private] |
Definition at line 123 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehDtMuonTime[4] [private] |
Definition at line 125 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehDtMuonTimevLayer[4] [private] |
Definition at line 126 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehEcalAEE[2] [private] |
Definition at line 91 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehEcalMaxPos[2] [private] |
Definition at line 93 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehEcalMultvAEE[2] [private] |
Definition at line 94 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehEcaln[3] [private] |
Definition at line 90 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehEcalSHE[2] [private] |
Definition at line 92 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehEcalSHEvAEESHE[2] [private] |
Definition at line 95 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehEScalADC[3] [private] |
Definition at line 96 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehHcalAEE[4] [private] |
Definition at line 100 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehHcalAEESHE[4] [private] |
Definition at line 102 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehHcaln[4] [private] |
Definition at line 99 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehHcalSHE[4] [private] |
Definition at line 101 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehHcalSHEvAEE[4] [private] |
Definition at line 103 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehSiPixelADC[7] [private] |
Definition at line 117 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehSiPixelCol[7] [private] |
Definition at line 119 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehSiPixeln[7] [private] |
Definition at line 116 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehSiPixelRow[7] [private] |
Definition at line 118 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehSiStripADC[19] [private] |
Definition at line 110 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehSiStripn[19] [private] |
Definition at line 109 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
MonitorElement* GlobalDigisHistogrammer::mehSiStripStrip[19] [private] |
Definition at line 111 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
std::string GlobalDigisHistogrammer::outputfile [private] |
Definition at line 82 of file GlobalDigisHistogrammer.h.
Referenced by GlobalDigisHistogrammer(), and ~GlobalDigisHistogrammer().
Definition at line 79 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), and GlobalDigisHistogrammer().
Definition at line 136 of file GlobalDigisHistogrammer.h.
float GlobalDigisHistogrammer::theCSCStripPedestalSum [private] |
Definition at line 135 of file GlobalDigisHistogrammer.h.
int GlobalDigisHistogrammer::verbosity [private] |
Definition at line 75 of file GlobalDigisHistogrammer.h.
Referenced by analyze(), endJob(), and GlobalDigisHistogrammer().