CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
GlobalDigisHistogrammer Class Reference

#include <GlobalDigisHistogrammer.h>

Inheritance diagram for GlobalDigisHistogrammer:
edm::EDAnalyzer

Public Types

typedef std::map< uint32_t,
float, std::less< uint32_t > > 
MapType
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob (void)
 
virtual void endJob ()
 
 GlobalDigisHistogrammer (const edm::ParameterSet &)
 
virtual ~GlobalDigisHistogrammer ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Attributes

unsigned int count
 
DQMStoredbe
 
bool doOutput
 
std::string fName
 
int frequency
 
bool getAllProvenances
 
edm::InputTag GlobalDigisSrc_
 
std::string label
 
MonitorElementmehCSCStripADC
 
MonitorElementmehCSCStripn
 
MonitorElementmehCSCWiren
 
MonitorElementmehCSCWireTime
 
MonitorElementmehDtMuonLayer [4]
 
MonitorElementmehDtMuonn [4]
 
MonitorElementmehDtMuonTime [4]
 
MonitorElementmehDtMuonTimevLayer [4]
 
MonitorElementmehEcalAEE [2]
 
MonitorElementmehEcalMaxPos [2]
 
MonitorElementmehEcalMultvAEE [2]
 
MonitorElementmehEcaln [3]
 
MonitorElementmehEcalSHE [2]
 
MonitorElementmehEcalSHEvAEESHE [2]
 
MonitorElementmehEScalADC [3]
 
MonitorElementmehHcalAEE [4]
 
MonitorElementmehHcalAEESHE [4]
 
MonitorElementmehHcaln [4]
 
MonitorElementmehHcalSHE [4]
 
MonitorElementmehHcalSHEvAEE [4]
 
MonitorElementmehSiPixelADC [7]
 
MonitorElementmehSiPixelCol [7]
 
MonitorElementmehSiPixeln [7]
 
MonitorElementmehSiPixelRow [7]
 
MonitorElementmehSiStripADC [19]
 
MonitorElementmehSiStripn [19]
 
MonitorElementmehSiStripStrip [19]
 
std::string outputfile
 
bool printProvenanceInfo
 
int theCSCStripPedestalCount
 
float theCSCStripPedestalSum
 
int verbosity
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 54 of file GlobalDigisHistogrammer.h.

Member Typedef Documentation

typedef std::map<uint32_t,float,std::less<uint32_t> > GlobalDigisHistogrammer::MapType

Definition at line 62 of file GlobalDigisHistogrammer.h.

Constructor & Destructor Documentation

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, cppFunctionSkipper::operator, outputfile, printProvenanceInfo, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), DQMStore::setVerbose(), DQMStore::showDirStructure(), and verbosity.

13  :
14  fName(""), verbosity(0), frequency(0), label(""), getAllProvenances(false),
17 {
18  std::string MsgLoggerCat = "GlobalDigisHistogrammer_GlobalDigisHistogrammer";
19 
20  // get information from parameter set
21  fName = iPSet.getUntrackedParameter<std::string>("Name");
22  verbosity = iPSet.getUntrackedParameter<int>("Verbosity");
23  frequency = iPSet.getUntrackedParameter<int>("Frequency");
24  outputfile = iPSet.getParameter<std::string>("outputFile");
25  doOutput = iPSet.getParameter<bool>("DoOutput");
26  edm::ParameterSet m_Prov =
27  iPSet.getParameter<edm::ParameterSet>("ProvenanceLookup");
29  m_Prov.getUntrackedParameter<bool>("GetAllProvenances");
31  m_Prov.getUntrackedParameter<bool>("PrintProvenanceInfo");
32 
33  //get Labels to use to extract information
34  GlobalDigisSrc_ = iPSet.getParameter<edm::InputTag>("GlobalDigisSrc");
35  //ECalEBSrc_ = iPSet.getParameter<edm::InputTag>("ECalEBSrc");
36  //ECalEESrc_ = iPSet.getParameter<edm::InputTag>("ECalEESrc");
37  //ECalESSrc_ = iPSet.getParameter<edm::InputTag>("ECalESSrc");
38  //HCalSrc_ = iPSet.getParameter<edm::InputTag>("HCalSrc");
39  //SiStripSrc_ = iPSet.getParameter<edm::InputTag>("SiStripSrc");
40  //SiPxlSrc_ = iPSet.getParameter<edm::InputTag>("SiPxlSrc");
41  //MuDTSrc_ = iPSet.getParameter<edm::InputTag>("MuDTSrc");
42  //MuCSCStripSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCStripSrc");
43  //MuCSCWireSrc_ = iPSet.getParameter<edm::InputTag>("MuCSCWireSrc");
44 
45  // use value of first digit to determine default output level (inclusive)
46  // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
47  verbosity %= 10;
48 
49  // create persistent object
50  //produces<PGlobalDigi>(label);
51 
52  // print out Parameter Set information being used
53  if (verbosity >= 0) {
54  edm::LogInfo(MsgLoggerCat)
55  << "\n===============================\n"
56  << "Initialized as EDHistogrammer with parameter values:\n"
57  << " Name = " << fName << "\n"
58  << " Verbosity = " << verbosity << "\n"
59  << " Frequency = " << frequency << "\n"
60  << " OutputFile = " << outputfile << "\n"
61  << " DoOutput = " << doOutput << "\n"
62  << " GetProv = " << getAllProvenances << "\n"
63  << " PrintProv = " << printProvenanceInfo << "\n"
64  << " Global Src = " << GlobalDigisSrc_ << "\n"
65 
66  << "===============================\n";
67  }
68 
69  //Put in analyzer stuff here.... Pasted from Rec Hits...
70 
71  dbe = 0;
73 if (dbe) {
74  if (verbosity > 0 ) {
75  dbe->setVerbose(1);
76  } else {
77  dbe->setVerbose(0);
78  }
79 }
80 if (dbe) {
81  if (verbosity > 0 ) dbe->showDirStructure();
82  }
83 
84 //monitor elements
85 
86 //Si Strip ***Done***
87  if(dbe)
88  {
89 std::string SiStripString[19] = {"TECW1", "TECW2", "TECW3", "TECW4", "TECW5", "TECW6", "TECW7", "TECW8", "TIBL1", "TIBL2", "TIBL3", "TIBL4", "TIDW1", "TIDW2", "TIDW3", "TOBL1", "TOBL2", "TOBL3", "TOBL4"};
90 for(int i = 0; i<19; ++i)
91 {
92  mehSiStripn[i]=0;
93  mehSiStripADC[i]=0;
94  mehSiStripStrip[i]=0;
95 }
96 dbe->setCurrentFolder("GlobalDigisV/SiStrips");
97 for(int amend = 0; amend < 19; ++amend)
98 {
99  mehSiStripn[amend] = dbe->book1D("hSiStripn_"+SiStripString[amend], SiStripString[amend]+" Digis",500,0.,1000.);
100  mehSiStripn[amend]->setAxisTitle("Number of Digis",1);
101  mehSiStripn[amend]->setAxisTitle("Count",2);
102  mehSiStripADC[amend] = dbe->book1D("hSiStripADC_"+SiStripString[amend],SiStripString[amend]+" ADC",150,0.0,300.);
103  mehSiStripADC[amend]->setAxisTitle("ADC",1);
104  mehSiStripADC[amend]->setAxisTitle("Count",2);
105  mehSiStripStrip[amend] = dbe->book1D("hSiStripStripADC_"+SiStripString[amend],SiStripString[amend]+" Strip",200,0.0,800.);
106  mehSiStripStrip[amend]->setAxisTitle("Strip Number",1);
107  mehSiStripStrip[amend]->setAxisTitle("Count",2);
108 }
109 
110 
111 //HCal **DONE**
112 std::string HCalString[4] = {"HB", "HE", "HO","HF"};
113 float calnUpper[4] = {3000.,3000.,3000.,2000.}; float calnLower[4]={2000.,2000.,2000.,1000.};
114 float SHEUpper[4]={0.05,.05,0.05,20};
115 float SHEvAEEUpper[4] = {5000, 5000, 5000, 20}; float SHEvAEELower[4] = {-5000, -5000, -5000, -20};
116 int SHEvAEEnBins[4] = {200,200,200,40};
117 double ProfileUpper[4] = {1.,1.,1.,20.};
118 
119 for(int i =0; i<4; ++i)
120 {
121  mehHcaln[i]=0;
122  mehHcalAEE[i]=0;
123  mehHcalSHE[i]=0;
124  mehHcalAEESHE[i]=0;
125  mehHcalSHEvAEE[i]=0;
126 }
127 dbe->setCurrentFolder("GlobalDigisV/HCals");
128 
129 for(int amend = 0; amend < 4; ++amend)
130 {
131  mehHcaln[amend] = dbe->book1D("hHcaln_"+HCalString[amend],HCalString[amend]+" digis", 1000, calnLower[amend], calnUpper[amend]);
132  mehHcaln[amend]->setAxisTitle("Number of Digis",1);
133  mehHcaln[amend]->setAxisTitle("Count",2);
134  mehHcalAEE[amend] = dbe->book1D("hHcalAEE_"+HCalString[amend],HCalString[amend]+"Cal AEE", 60, -10., 50.);
135  mehHcalAEE[amend]->setAxisTitle("Analog Equivalent Energy",1);
136  mehHcalAEE[amend]->setAxisTitle("Count",2);
137  mehHcalSHE[amend] = dbe->book1D("hHcalSHE_"+HCalString[amend],HCalString[amend]+"Cal SHE", 100, 0.0, SHEUpper[amend]);
138  mehHcalSHE[amend]->setAxisTitle("Simulated Hit Energy",1);
139  mehHcalSHE[amend]->setAxisTitle("Count",2);
140  mehHcalAEESHE[amend] = dbe->book1D("hHcalAEESHE_"+HCalString[amend], HCalString[amend]+"Cal AEE/SHE", SHEvAEEnBins[amend], SHEvAEELower[amend], SHEvAEEUpper[amend]);
141  mehHcalAEESHE[amend]->setAxisTitle("ADC / SHE",1);
142  mehHcalAEESHE[amend]->setAxisTitle("Count",2);
143 
144  //************ Not sure how to do Profile ME **************
145  mehHcalSHEvAEE[amend] = dbe->bookProfile("hHcalSHEvAEE_"+HCalString[amend],HCalString[amend]+"Cal SHE vs. AEE", 60, (float)-10., (float)50., 100, (float)0., (float)ProfileUpper[amend],"");
146  mehHcalSHEvAEE[amend]->setAxisTitle("AEE / SHE",1);
147  mehHcalSHEvAEE[amend]->setAxisTitle("SHE",2);
148 
149 }
150 
151 
152 
153 
154 //Ecal **Done **
155 std::string ECalString[2] = {"EB","EE"};
156 
157 for(int i =0; i<2; ++i)
158 {
159  mehEcaln[i]=0;
160  mehEcalAEE[i]=0;
161  mehEcalSHE[i]=0;
162  mehEcalMaxPos[i]=0;
163  mehEcalMultvAEE[i]=0;
164  mehEcalSHEvAEESHE[i]=0;
165 }
166 dbe->setCurrentFolder("GlobalDigisV/ECals");
167 
168 for(int amend = 0; amend < 2; ++amend)
169 {
170  mehEcaln[amend] = dbe->book1D("hEcaln_"+ECalString[amend],ECalString[amend]+" digis", 300, 1000., 4000.);
171  mehEcaln[amend]->setAxisTitle("Number of Digis",1);
172  mehEcaln[amend]->setAxisTitle("Count",2);
173  mehEcalAEE[amend] = dbe->book1D("hEcalAEE_"+ECalString[amend],ECalString[amend]+"Cal AEE", 100, 0., 1.);
174  mehEcalAEE[amend]->setAxisTitle("Analog Equivalent Energy",1);
175  mehEcalAEE[amend]->setAxisTitle("Count",2);
176  mehEcalSHE[amend] = dbe->book1D("hEcalSHE_"+ECalString[amend],ECalString[amend]+"Cal SHE", 50, 0., 5.);
177  mehEcalSHE[amend]->setAxisTitle("Simulated Hit Energy",1);
178  mehEcalSHE[amend]->setAxisTitle("Count",2);
179  mehEcalMaxPos[amend] = dbe->book1D("hEcalMaxPos_"+ECalString[amend],ECalString[amend]+"Cal MaxPos",10, 0., 10.);
180  mehEcalMaxPos[amend]->setAxisTitle("Maximum Position",1);
181  mehEcalMaxPos[amend]->setAxisTitle("Count",2);
182 
183  //************ Not sure how to do Profile ME **************
184  mehEcalSHEvAEESHE[amend] = dbe->bookProfile("hEcalSHEvAEESHE_"+ECalString[amend],ECalString[amend]+"Cal SHE vs. AEE/SHE",100, (float)0., (float)10., 50, (float)0., (float)5.,"");
185  mehEcalSHEvAEESHE[amend]->setAxisTitle("AEE / SHE",1);
186  mehEcalSHEvAEESHE[amend]->setAxisTitle("SHE",2);
187  mehEcalMultvAEE[amend] = dbe->bookProfile("hEcalMultvAEE_"+ECalString[amend],ECalString[amend]+"Cal Multi vs. AEE", 100, (float)0., (float)10., 400, (float)0., (float)4000.,"");
188  mehEcalMultvAEE[amend]->setAxisTitle("Analog Equivalent Energy",1);
189  mehEcalMultvAEE[amend]->setAxisTitle("Number of Digis",2);
190 
191 
192 
193 }
194  mehEcaln[2] = 0;
195  mehEcaln[2] = dbe->book1D("hEcaln_ES","ESCAL digis", 100, 0., 500.);
196  mehEcaln[2]->setAxisTitle("Number of Digis",1);
197  mehEcaln[2]->setAxisTitle("Count",2);
198  std::string ADCNumber[3] = {"0", "1", "2"};
199  for(int i =0; i<3; ++i)
200  {
201  mehEScalADC[i] = 0;
202  mehEScalADC[i] = dbe->book1D("hEcalADC"+ADCNumber[i]+"_ES","ESCAL ADC"+ADCNumber[i], 150, 950., 1500.);
203  mehEScalADC[i]->setAxisTitle("ADC"+ADCNumber[i],1);
204  mehEScalADC[i]->setAxisTitle("Count",2);
205 
206  }
207 
208 //Si Pixels ***DONE***
209 std::string SiPixelString[7] = {"BRL1", "BRL2", "BRL3", "FWD1n", "FWD1p", "FWD2n", "FWD2p"};
210 for(int j =0; j<7; ++j)
211 {
212  mehSiPixeln[j]=0;
213  mehSiPixelADC[j]=0;
214  mehSiPixelRow[j]=0;
215  mehSiPixelCol[j]=0;
216 }
217 
218 dbe->setCurrentFolder("GlobalDigisV/SiPixels");
219 for(int amend = 0; amend < 7; ++amend)
220 {
221  if(amend<3) mehSiPixeln[amend] = dbe->book1D("hSiPixeln_"+SiPixelString[amend],SiPixelString[amend]+" Digis",50,0.,100.);
222  else mehSiPixeln[amend] = dbe->book1D("hSiPixeln_"+SiPixelString[amend],SiPixelString[amend]+" Digis",25,0.,50.);
223  mehSiPixeln[amend]->setAxisTitle("Number of Digis",1);
224  mehSiPixeln[amend]->setAxisTitle("Count",2);
225  mehSiPixelADC[amend] = dbe->book1D("hSiPixelADC_"+SiPixelString[amend],SiPixelString[amend]+" ADC",150,0.0,300.);
226  mehSiPixelADC[amend]->setAxisTitle("ADC",1);
227  mehSiPixelADC[amend]->setAxisTitle("Count",2);
228  mehSiPixelRow[amend] = dbe->book1D("hSiPixelRow_"+SiPixelString[amend],SiPixelString[amend]+" Row",100,0.0,100.);
229  mehSiPixelRow[amend]->setAxisTitle("Row Number",1);
230  mehSiPixelRow[amend]->setAxisTitle("Count",2);
231  mehSiPixelCol[amend] = dbe->book1D("hSiPixelColumn_"+SiPixelString[amend],SiPixelString[amend]+" Column",200,0.0,500.);
232  mehSiPixelCol[amend]->setAxisTitle("Column Number",1);
233  mehSiPixelCol[amend]->setAxisTitle("Count",2);
234 }
235 //Muons ***DONE****
236 dbe->setCurrentFolder("GlobalDigisV/Muons");
237 std::string MuonString[4] = {"MB1", "MB2", "MB3", "MB4"};
238 
239 for(int i =0; i < 4; ++i)
240 {
241  mehDtMuonn[i] = 0;
242  mehDtMuonLayer[i] = 0;
243  mehDtMuonTime[i] = 0;
244  mehDtMuonTimevLayer[i] = 0;
245 }
246 
247 for(int j = 0; j < 4; ++j)
248 {
249  mehDtMuonn[j] = dbe->book1D("hDtMuonn_"+MuonString[j],MuonString[j]+" digis",25, 0., 50.);
250  mehDtMuonn[j]->setAxisTitle("Number of Digis",1);
251  mehDtMuonn[j]->setAxisTitle("Count",2);
252  mehDtMuonLayer[j] = dbe->book1D("hDtLayer_"+MuonString[j],MuonString[j]+" Layer",12, 1., 13.);
253  mehDtMuonLayer[j]->setAxisTitle("4 * (SuperLayer - 1) + Layer",1);
254  mehDtMuonLayer[j]->setAxisTitle("Count",2);
255  mehDtMuonTime[j] = dbe->book1D("hDtMuonTime_"+MuonString[j],MuonString[j]+" Time",300, 400., 1000.);
256  mehDtMuonTime[j]->setAxisTitle("Time",1);
257  mehDtMuonTime[j]->setAxisTitle("Count",2);
258  mehDtMuonTimevLayer[j] = dbe->bookProfile("hDtMuonTimevLayer_"+MuonString[j],MuonString[j]+" Time vs. Layer",12, 1., 13., 300, 400., 1000.,"");
259  mehDtMuonTimevLayer[j]->setAxisTitle("4 * (SuperLayer - 1) + Layer",1);
260  mehDtMuonTimevLayer[j]->setAxisTitle("Time",2);
261 }
262 
263 // **** Have to do CSC and RPC now *****
264 //CSC
265 mehCSCStripn = 0;
266 mehCSCStripn = dbe->book1D("hCSCStripn","CSC Strip digis",25, 0., 50.);
267 mehCSCStripn->setAxisTitle("Number of Digis",1);
268 mehCSCStripn->setAxisTitle("Count",2);
269 
270 mehCSCStripADC = 0;
271 mehCSCStripADC = dbe->book1D("hCSCStripADC","CSC Strip ADC", 110, 0., 1100.);
272 mehCSCStripADC->setAxisTitle("ADC",1);
273 mehCSCStripADC->setAxisTitle("Count",2);
274 
275 mehCSCWiren = 0;
276 mehCSCWiren = dbe->book1D("hCSCWiren","CSC Wire digis",25, 0., 50.);
277 mehCSCWiren->setAxisTitle("Number of Digis",1);
278 mehCSCWiren->setAxisTitle("Count",2);
279 
280 
281 
282 mehCSCWireTime = 0;
283 mehCSCWiren = dbe->book1D("hCSCWireTime","CSC Wire Time",10, 0., 10.);
284 mehCSCWiren->setAxisTitle("Time",1);
285 mehCSCWiren->setAxisTitle("Count",2);
286 
287 
288 }
289 
290 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * mehDtMuonLayer[4]
MonitorElement * mehEcalMultvAEE[2]
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
MonitorElement * mehHcalAEESHE[4]
MonitorElement * mehSiPixelCol[7]
MonitorElement * mehHcalSHEvAEE[4]
MonitorElement * mehDtMuonTimevLayer[4]
MonitorElement * mehSiStripADC[19]
MonitorElement * mehEcalSHEvAEESHE[2]
MonitorElement * mehEcalSHE[2]
MonitorElement * mehSiPixelRow[7]
int j
Definition: DBlmapReader.cc:9
MonitorElement * mehSiPixelADC[7]
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1031
void setVerbose(unsigned level)
Definition: DQMStore.cc:393
MonitorElement * mehDtMuonTime[4]
MonitorElement * mehSiStripStrip[19]
MonitorElement * mehEScalADC[3]
MonitorElement * mehEcalAEE[2]
MonitorElement * mehEcalMaxPos[2]
void showDirStructure(void) const
Definition: DQMStore.cc:2761
MonitorElement * mehSiStripn[19]
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
GlobalDigisHistogrammer::~GlobalDigisHistogrammer ( )
virtual

Definition at line 304 of file GlobalDigisHistogrammer.cc.

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

305 {
306  if (doOutput)
307  if (outputfile.size() != 0 && dbe) dbe->save(outputfile);
308 }
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2113

Member Function Documentation

void GlobalDigisHistogrammer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 355 of file GlobalDigisHistogrammer.cc.

References count, edm::EventID::event(), MonitorElement::Fill(), HcalObjRepresent::Fill(), frequency, edm::Event::getAllProvenance(), getAllProvenances, edm::Event::getByLabel(), GlobalDigisSrc_, i, edm::EventBase::id(), edm::HandleBase::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, nevt, printProvenanceInfo, edm::EventID::run(), and verbosity.

357 {
358  std::string MsgLoggerCat = "GlobalDigisHistogrammer_analyze";
359 
360  // keep track of number of events processed
361  ++count;
362 
363  // get event id information
364  int nrun = iEvent.id().run();
365  int nevt = iEvent.id().event();
366 
367  if (verbosity > 0) {
368  edm::LogInfo(MsgLoggerCat)
369  << "Processing run " << nrun << ", event " << nevt
370  << " (" << count << " events total)";
371  } else if (verbosity == 0) {
372  if (nevt%frequency == 0 || nevt == 1) {
373  edm::LogInfo(MsgLoggerCat)
374  << "Processing run " << nrun << ", event " << nevt
375  << " (" << count << " events total)";
376  }
377  }
378 
379  // clear event holders
380  //clear();
381 
382  // look at information available in the event
383  if (getAllProvenances) {
384 
385  std::vector<const edm::Provenance*> AllProv;
386  iEvent.getAllProvenance(AllProv);
387 
388  if (verbosity >= 0)
389  edm::LogInfo(MsgLoggerCat)
390  << "Number of Provenances = " << AllProv.size();
391 
392  if (printProvenanceInfo && (verbosity >= 0)) {
393  TString eventout("\nProvenance info:\n");
394 
395  for (unsigned int i = 0; i < AllProv.size(); ++i) {
396  eventout += "\n ******************************";
397  eventout += "\n Module : ";
398  //eventout += (AllProv[i]->product).moduleLabel();
399  eventout += AllProv[i]->moduleLabel();
400  eventout += "\n ProductID : ";
401  //eventout += (AllProv[i]->product).productID_.id_;
402  eventout += AllProv[i]->productID().id();
403  eventout += "\n ClassName : ";
404  //eventout += (AllProv[i]->product).fullClassName_;
405  eventout += AllProv[i]->className();
406  eventout += "\n InstanceName : ";
407  //eventout += (AllProv[i]->product).productInstanceName_;
408  eventout += AllProv[i]->productInstanceName();
409  eventout += "\n BranchName : ";
410  //eventout += (AllProv[i]->product).branchName_;
411  eventout += AllProv[i]->branchName();
412  }
413  eventout += "\n ******************************\n";
414  edm::LogInfo(MsgLoggerCat) << eventout << "\n";
415  printProvenanceInfo = false;
416  getAllProvenances = false;
417  }
418 edm::Handle<PGlobalDigi> srcGlobalDigis;
419  iEvent.getByLabel(GlobalDigisSrc_,srcGlobalDigis);
420  if (!srcGlobalDigis.isValid()) {
421  edm::LogWarning(MsgLoggerCat)
422  << "Unable to find PGlobalDigis in event!";
423  return;
424 
425  }
426 
427 
428 
429  int nEBCalDigis = srcGlobalDigis->getnEBCalDigis();
430  int nEECalDigis = srcGlobalDigis->getnEECalDigis();
431  int nESCalDigis = srcGlobalDigis->getnESCalDigis();
432 
433  int nHBCalDigis = srcGlobalDigis->getnHBCalDigis();
434  int nHECalDigis = srcGlobalDigis->getnHECalDigis();
435  int nHOCalDigis = srcGlobalDigis->getnHOCalDigis();
436  int nHFCalDigis = srcGlobalDigis->getnHFCalDigis();
437 
438  int nTIBL1Digis = srcGlobalDigis->getnTIBL1Digis();
439  int nTIBL2Digis = srcGlobalDigis->getnTIBL2Digis();
440  int nTIBL3Digis = srcGlobalDigis->getnTIBL3Digis();
441  int nTIBL4Digis = srcGlobalDigis->getnTIBL4Digis();
442  int nTOBL1Digis = srcGlobalDigis->getnTOBL1Digis();
443  int nTOBL2Digis = srcGlobalDigis->getnTOBL2Digis();
444  int nTOBL3Digis = srcGlobalDigis->getnTOBL3Digis();
445  int nTOBL4Digis = srcGlobalDigis->getnTOBL4Digis();
446  int nTIDW1Digis = srcGlobalDigis->getnTIDW1Digis();
447  int nTIDW2Digis = srcGlobalDigis->getnTIDW2Digis();
448  int nTIDW3Digis = srcGlobalDigis->getnTIDW3Digis();
449  int nTECW1Digis = srcGlobalDigis->getnTECW1Digis();
450  int nTECW2Digis = srcGlobalDigis->getnTECW2Digis();
451  int nTECW3Digis = srcGlobalDigis->getnTECW3Digis();
452  int nTECW4Digis = srcGlobalDigis->getnTECW4Digis();
453  int nTECW5Digis = srcGlobalDigis->getnTECW5Digis();
454  int nTECW6Digis = srcGlobalDigis->getnTECW6Digis();
455  int nTECW7Digis = srcGlobalDigis->getnTECW7Digis();
456  int nTECW8Digis = srcGlobalDigis->getnTECW8Digis();
457 
458  int nBRL1Digis = srcGlobalDigis->getnBRL1Digis();
459  int nBRL2Digis = srcGlobalDigis->getnBRL2Digis();
460  int nBRL3Digis = srcGlobalDigis->getnBRL3Digis();
461  int nFWD1nDigis = srcGlobalDigis->getnFWD1nDigis();
462  int nFWD1pDigis = srcGlobalDigis->getnFWD1pDigis();
463  int nFWD2nDigis = srcGlobalDigis->getnFWD2nDigis();
464  int nFWD2pDigis = srcGlobalDigis->getnFWD2pDigis();
465 
466  int nMB1Digis = srcGlobalDigis->getnMB1Digis();
467  int nMB2Digis = srcGlobalDigis->getnMB2Digis();
468  int nMB3Digis = srcGlobalDigis->getnMB3Digis();
469  int nMB4Digis = srcGlobalDigis->getnMB4Digis();
470 
471  int nCSCstripDigis = srcGlobalDigis->getnCSCstripDigis();
472 
473  int nCSCwireDigis = srcGlobalDigis->getnCSCwireDigis();
474 
475  // get Ecal info
476  std::vector<PGlobalDigi::ECalDigi> EECalDigis =
477  srcGlobalDigis->getEECalDigis();
478  mehEcaln[0]->Fill((float)nEECalDigis);
479  for (unsigned int i = 0; i < EECalDigis.size(); ++i) {
480  mehEcalAEE[0]->Fill(EECalDigis[i].AEE);
481  mehEcalMaxPos[0]->Fill(EECalDigis[i].maxPos);
482  mehEcalMultvAEE[0]->Fill(EECalDigis[i].AEE,(float)nEECalDigis,1);
483  if (EECalDigis[i].SHE != 0.) {
484  mehEcalSHE[0]->Fill(EECalDigis[i].SHE);
485  mehEcalSHEvAEESHE[0]->
486  Fill(EECalDigis[i].AEE/EECalDigis[i].SHE,EECalDigis[i].SHE,1);
487  }
488  }
489 
490  std::vector<PGlobalDigi::ECalDigi> EBCalDigis =
491  srcGlobalDigis->getEBCalDigis();
492  mehEcaln[1]->Fill((float)nEBCalDigis);
493  for (unsigned int i = 0; i < EBCalDigis.size(); ++i) {
494  mehEcalAEE[1]->Fill(EBCalDigis[i].AEE);
495  mehEcalMaxPos[1]->Fill(EBCalDigis[i].maxPos);
496  mehEcalMultvAEE[1]->Fill(EBCalDigis[i].AEE,(float)nEBCalDigis,1);
497  if (EBCalDigis[i].SHE != 0.) {
498  mehEcalSHE[1]->Fill(EBCalDigis[i].SHE);
499  mehEcalSHEvAEESHE[1]->
500  Fill(EBCalDigis[i].AEE/EBCalDigis[i].SHE,EBCalDigis[i].SHE,1);
501  }
502  }
503 
504  std::vector<PGlobalDigi::ESCalDigi> ESCalDigis =
505  srcGlobalDigis->getESCalDigis();
506  mehEcaln[2]->Fill((float)nESCalDigis);
507  for (unsigned int i = 0; i < ESCalDigis.size(); ++i) {
508  mehEScalADC[0]->Fill(ESCalDigis[i].ADC0);
509  mehEScalADC[1]->Fill(ESCalDigis[i].ADC1);
510  mehEScalADC[2]->Fill(ESCalDigis[i].ADC2);
511  }
512 
513  // Get HCal info
514  std::vector<PGlobalDigi::HCalDigi> HBCalDigis =
515  srcGlobalDigis->getHBCalDigis();
516  mehHcaln[0]->Fill((float)nHBCalDigis);
517  for (unsigned int i = 0; i < HBCalDigis.size(); ++i) {
518  mehHcalAEE[0]->Fill(HBCalDigis[i].AEE);
519  if (HBCalDigis[i].SHE != 0.) {
520  mehHcalSHE[0]->Fill(HBCalDigis[i].SHE);
521  mehHcalAEESHE[0]->Fill(HBCalDigis[i].AEE/HBCalDigis[i].SHE);
522  mehHcalSHEvAEE[0]->
523  Fill(HBCalDigis[i].AEE,HBCalDigis[i].SHE,1);
524  }
525  }
526  std::vector<PGlobalDigi::HCalDigi> HECalDigis =
527  srcGlobalDigis->getHECalDigis();
528  mehHcaln[1]->Fill((float)nHECalDigis);
529  for (unsigned int i = 0; i < HECalDigis.size(); ++i) {
530  mehHcalAEE[1]->Fill(HECalDigis[i].AEE);
531  if (HECalDigis[i].SHE != 0.) {
532  mehHcalSHE[1]->Fill(HECalDigis[i].SHE);
533  mehHcalAEESHE[1]->Fill(HECalDigis[i].AEE/HECalDigis[i].SHE);
534  mehHcalSHEvAEE[1]->
535  Fill(HECalDigis[i].AEE,HECalDigis[i].SHE,1);
536  }
537  }
538 
539  std::vector<PGlobalDigi::HCalDigi> HOCalDigis =
540  srcGlobalDigis->getHOCalDigis();
541  mehHcaln[2]->Fill((float)nHOCalDigis);
542  for (unsigned int i = 0; i < HOCalDigis.size(); ++i) {
543  mehHcalAEE[2]->Fill(HOCalDigis[i].AEE);
544  if (HOCalDigis[i].SHE != 0.) {
545  mehHcalSHE[2]->Fill(HOCalDigis[i].SHE);
546  mehHcalAEESHE[2]->Fill(HOCalDigis[i].AEE/HOCalDigis[i].SHE);
547  mehHcalSHEvAEE[2]->
548  Fill(HOCalDigis[i].AEE,HOCalDigis[i].SHE,1);
549  }
550  }
551 
552  std::vector<PGlobalDigi::HCalDigi> HFCalDigis =
553  srcGlobalDigis->getHFCalDigis();
554  mehHcaln[3]->Fill((float)nHFCalDigis);
555  for (unsigned int i = 0; i < HFCalDigis.size(); ++i) {
556  mehHcalAEE[3]->Fill(HFCalDigis[i].AEE);
557  if (HFCalDigis[i].SHE != 0.) {
558  mehHcalSHE[3]->Fill(HFCalDigis[i].SHE);
559  mehHcalAEESHE[3]->Fill(HFCalDigis[i].AEE/HFCalDigis[i].SHE);
560  mehHcalSHEvAEE[3]->
561  Fill(HFCalDigis[i].AEE,HFCalDigis[i].SHE,1);
562  }
563  }
564 
565  // get SiStrip info
566  std::vector<PGlobalDigi::SiStripDigi> TIBL1Digis =
567  srcGlobalDigis->getTIBL1Digis();
568  mehSiStripn[0]->Fill((float)nTIBL1Digis);
569  for (unsigned int i = 0; i < TIBL1Digis.size(); ++i) {
570  mehSiStripADC[0]->Fill(TIBL1Digis[i].ADC);
571  mehSiStripStrip[0]->Fill(TIBL1Digis[i].STRIP);
572  }
573 
574  std::vector<PGlobalDigi::SiStripDigi> TIBL2Digis =
575  srcGlobalDigis->getTIBL2Digis();
576  mehSiStripn[1]->Fill((float)nTIBL2Digis);
577  for (unsigned int i = 0; i < TIBL2Digis.size(); ++i) {
578  mehSiStripADC[1]->Fill(TIBL2Digis[i].ADC);
579  mehSiStripStrip[1]->Fill(TIBL2Digis[i].STRIP);
580  }
581 
582  std::vector<PGlobalDigi::SiStripDigi> TIBL3Digis =
583  srcGlobalDigis->getTIBL3Digis();
584  mehSiStripn[2]->Fill((float)nTIBL3Digis);
585  for (unsigned int i = 0; i < TIBL3Digis.size(); ++i) {
586  mehSiStripADC[2]->Fill(TIBL3Digis[i].ADC);
587  mehSiStripStrip[2]->Fill(TIBL3Digis[i].STRIP);
588  }
589 
590  std::vector<PGlobalDigi::SiStripDigi> TIBL4Digis =
591  srcGlobalDigis->getTIBL4Digis();
592  mehSiStripn[3]->Fill((float)nTIBL4Digis);
593  for (unsigned int i = 0; i < TIBL4Digis.size(); ++i) {
594  mehSiStripADC[3]->Fill(TIBL4Digis[i].ADC);
595  mehSiStripStrip[3]->Fill(TIBL4Digis[i].STRIP);
596  }
597 
598  std::vector<PGlobalDigi::SiStripDigi> TOBL1Digis =
599  srcGlobalDigis->getTOBL1Digis();
600  mehSiStripn[4]->Fill((float)nTOBL1Digis);
601  for (unsigned int i = 0; i < TOBL1Digis.size(); ++i) {
602  mehSiStripADC[4]->Fill(TOBL1Digis[i].ADC);
603  mehSiStripStrip[4]->Fill(TOBL1Digis[i].STRIP);
604  }
605 
606  std::vector<PGlobalDigi::SiStripDigi> TOBL2Digis =
607  srcGlobalDigis->getTOBL2Digis();
608  mehSiStripn[5]->Fill((float)nTOBL2Digis);
609  for (unsigned int i = 0; i < TOBL2Digis.size(); ++i) {
610  mehSiStripADC[5]->Fill(TOBL2Digis[i].ADC);
611  mehSiStripStrip[5]->Fill(TOBL2Digis[i].STRIP);
612  }
613 
614  std::vector<PGlobalDigi::SiStripDigi> TOBL3Digis =
615  srcGlobalDigis->getTOBL3Digis();
616  mehSiStripn[6]->Fill((float)nTOBL3Digis);
617  for (unsigned int i = 0; i < TOBL3Digis.size(); ++i) {
618  mehSiStripADC[6]->Fill(TOBL3Digis[i].ADC);
619  mehSiStripStrip[6]->Fill(TOBL3Digis[i].STRIP);
620  }
621 
622  std::vector<PGlobalDigi::SiStripDigi> TOBL4Digis =
623  srcGlobalDigis->getTOBL4Digis();
624  mehSiStripn[7]->Fill((float)nTOBL4Digis);
625  for (unsigned int i = 0; i < TOBL4Digis.size(); ++i) {
626  mehSiStripADC[7]->Fill(TOBL4Digis[i].ADC);
627  mehSiStripStrip[7]->Fill(TOBL4Digis[i].STRIP);
628  }
629 
630  std::vector<PGlobalDigi::SiStripDigi> TIDW1Digis =
631  srcGlobalDigis->getTIDW1Digis();
632  mehSiStripn[8]->Fill((float)nTIDW1Digis);
633  for (unsigned int i = 0; i < TIDW1Digis.size(); ++i) {
634  mehSiStripADC[8]->Fill(TIDW1Digis[i].ADC);
635  mehSiStripStrip[8]->Fill(TIDW1Digis[i].STRIP);
636  }
637 
638  std::vector<PGlobalDigi::SiStripDigi> TIDW2Digis =
639  srcGlobalDigis->getTIDW2Digis();
640  mehSiStripn[9]->Fill((float)nTIDW2Digis);
641  for (unsigned int i = 0; i < TIDW2Digis.size(); ++i) {
642  mehSiStripADC[9]->Fill(TIDW2Digis[i].ADC);
643  mehSiStripStrip[9]->Fill(TIDW2Digis[i].STRIP);
644  }
645 
646  std::vector<PGlobalDigi::SiStripDigi> TIDW3Digis =
647  srcGlobalDigis->getTIDW3Digis();
648  mehSiStripn[10]->Fill((float)nTIDW3Digis);
649  for (unsigned int i = 0; i < TIDW3Digis.size(); ++i) {
650  mehSiStripADC[10]->Fill(TIDW3Digis[i].ADC);
651  mehSiStripStrip[10]->Fill(TIDW3Digis[i].STRIP);
652  }
653 
654  std::vector<PGlobalDigi::SiStripDigi> TECW1Digis =
655  srcGlobalDigis->getTECW1Digis();
656  mehSiStripn[11]->Fill((float)nTECW1Digis);
657  for (unsigned int i = 0; i < TECW1Digis.size(); ++i) {
658  mehSiStripADC[11]->Fill(TECW1Digis[i].ADC);
659  mehSiStripStrip[11]->Fill(TECW1Digis[i].STRIP);
660  }
661 
662  std::vector<PGlobalDigi::SiStripDigi> TECW2Digis =
663  srcGlobalDigis->getTECW2Digis();
664  mehSiStripn[12]->Fill((float)nTECW2Digis);
665  for (unsigned int i = 0; i < TECW2Digis.size(); ++i) {
666  mehSiStripADC[12]->Fill(TECW2Digis[i].ADC);
667  mehSiStripStrip[12]->Fill(TECW2Digis[i].STRIP);
668  }
669 
670  std::vector<PGlobalDigi::SiStripDigi> TECW3Digis =
671  srcGlobalDigis->getTECW3Digis();
672  mehSiStripn[13]->Fill((float)nTECW3Digis);
673  for (unsigned int i = 0; i < TECW3Digis.size(); ++i) {
674  mehSiStripADC[13]->Fill(TECW3Digis[i].ADC);
675  mehSiStripStrip[13]->Fill(TECW3Digis[i].STRIP);
676  }
677 
678  std::vector<PGlobalDigi::SiStripDigi> TECW4Digis =
679  srcGlobalDigis->getTECW4Digis();
680  mehSiStripn[14]->Fill((float)nTECW4Digis);
681  for (unsigned int i = 0; i < TECW4Digis.size(); ++i) {
682  mehSiStripADC[14]->Fill(TECW4Digis[i].ADC);
683  mehSiStripStrip[14]->Fill(TECW4Digis[i].STRIP);
684  }
685 
686  std::vector<PGlobalDigi::SiStripDigi> TECW5Digis =
687  srcGlobalDigis->getTECW5Digis();
688  mehSiStripn[15]->Fill((float)nTECW5Digis);
689  for (unsigned int i = 0; i < TECW5Digis.size(); ++i) {
690  mehSiStripADC[15]->Fill(TECW5Digis[i].ADC);
691  mehSiStripStrip[15]->Fill(TECW5Digis[i].STRIP);
692  }
693 
694  std::vector<PGlobalDigi::SiStripDigi> TECW6Digis =
695  srcGlobalDigis->getTECW6Digis();
696  mehSiStripn[16]->Fill((float)nTECW6Digis);
697  for (unsigned int i = 0; i < TECW6Digis.size(); ++i) {
698  mehSiStripADC[16]->Fill(TECW6Digis[i].ADC);
699  mehSiStripStrip[16]->Fill(TECW6Digis[i].STRIP);
700  }
701 
702  std::vector<PGlobalDigi::SiStripDigi> TECW7Digis =
703  srcGlobalDigis->getTECW7Digis();
704  mehSiStripn[17]->Fill((float)nTECW7Digis);
705  for (unsigned int i = 0; i < TECW7Digis.size(); ++i) {
706  mehSiStripADC[17]->Fill(TECW7Digis[i].ADC);
707  mehSiStripStrip[17]->Fill(TECW7Digis[i].STRIP);
708  }
709 
710  std::vector<PGlobalDigi::SiStripDigi> TECW8Digis =
711  srcGlobalDigis->getTECW8Digis();
712  mehSiStripn[18]->Fill((float)nTECW8Digis);
713  for (unsigned int i = 0; i < TECW8Digis.size(); ++i) {
714  mehSiStripADC[18]->Fill(TECW8Digis[i].ADC);
715  mehSiStripStrip[18]->Fill(TECW8Digis[i].STRIP);
716  }
717 
718  // get SiPixel info
719  std::vector<PGlobalDigi::SiPixelDigi> BRL1Digis =
720  srcGlobalDigis->getBRL1Digis();
721  mehSiPixeln[0]->Fill((float)nBRL1Digis);
722  for (unsigned int i = 0; i < BRL1Digis.size(); ++i) {
723  mehSiPixelADC[0]->Fill(BRL1Digis[i].ADC);
724  mehSiPixelRow[0]->Fill(BRL1Digis[i].ROW);
725  mehSiPixelCol[0]->Fill(BRL1Digis[i].COLUMN);
726  }
727 
728  std::vector<PGlobalDigi::SiPixelDigi> BRL2Digis =
729  srcGlobalDigis->getBRL2Digis();
730  mehSiPixeln[1]->Fill((float)nBRL2Digis);
731  for (unsigned int i = 0; i < BRL2Digis.size(); ++i) {
732  mehSiPixelADC[1]->Fill(BRL2Digis[i].ADC);
733  mehSiPixelRow[1]->Fill(BRL2Digis[i].ROW);
734  mehSiPixelCol[1]->Fill(BRL2Digis[i].COLUMN);
735  }
736 
737  std::vector<PGlobalDigi::SiPixelDigi> BRL3Digis =
738  srcGlobalDigis->getBRL3Digis();
739  mehSiPixeln[2]->Fill((float)nBRL3Digis);
740  for (unsigned int i = 0; i < BRL3Digis.size(); ++i) {
741  mehSiPixelADC[2]->Fill(BRL3Digis[i].ADC);
742  mehSiPixelRow[2]->Fill(BRL3Digis[i].ROW);
743  mehSiPixelCol[2]->Fill(BRL3Digis[i].COLUMN);
744  }
745 
746  std::vector<PGlobalDigi::SiPixelDigi> FWD1pDigis =
747  srcGlobalDigis->getFWD1pDigis();
748  mehSiPixeln[3]->Fill((float)nFWD1pDigis);
749  for (unsigned int i = 0; i < FWD1pDigis.size(); ++i) {
750  mehSiPixelADC[3]->Fill(FWD1pDigis[i].ADC);
751  mehSiPixelRow[3]->Fill(FWD1pDigis[i].ROW);
752  mehSiPixelCol[3]->Fill(FWD1pDigis[i].COLUMN);
753  }
754 
755  std::vector<PGlobalDigi::SiPixelDigi> FWD1nDigis =
756  srcGlobalDigis->getFWD1nDigis();
757  mehSiPixeln[4]->Fill((float)nFWD1nDigis);
758  for (unsigned int i = 0; i < FWD1nDigis.size(); ++i) {
759  mehSiPixelADC[4]->Fill(FWD1nDigis[i].ADC);
760  mehSiPixelRow[4]->Fill(FWD1nDigis[i].ROW);
761  mehSiPixelCol[4]->Fill(FWD1nDigis[i].COLUMN);
762  }
763 
764  std::vector<PGlobalDigi::SiPixelDigi> FWD2pDigis =
765  srcGlobalDigis->getFWD2pDigis();
766  mehSiPixeln[5]->Fill((float)nFWD2pDigis);
767  for (unsigned int i = 0; i < FWD2pDigis.size(); ++i) {
768  mehSiPixelADC[5]->Fill(FWD2pDigis[i].ADC);
769  mehSiPixelRow[5]->Fill(FWD2pDigis[i].ROW);
770  mehSiPixelCol[5]->Fill(FWD2pDigis[i].COLUMN);
771  }
772 
773  std::vector<PGlobalDigi::SiPixelDigi> FWD2nDigis =
774  srcGlobalDigis->getFWD2nDigis();
775  mehSiPixeln[6]->Fill((float)nFWD2nDigis);
776  for (unsigned int i = 0; i < FWD2nDigis.size(); ++i) {
777  mehSiPixelADC[6]->Fill(FWD2nDigis[i].ADC);
778  mehSiPixelRow[6]->Fill(FWD2nDigis[i].ROW);
779  mehSiPixelCol[6]->Fill(FWD2nDigis[i].COLUMN);
780  }
781 
782  // get DtMuon info
783  std::vector<PGlobalDigi::DTDigi> MB1Digis =
784  srcGlobalDigis->getMB1Digis();
785  mehDtMuonn[0]->Fill((float)nMB1Digis);
786  for (unsigned int i = 0; i < MB1Digis.size(); ++i) {
787  float layer = 4.0 * (MB1Digis[i].SLAYER - 1.0) + MB1Digis[i].LAYER;
788  mehDtMuonLayer[0]->Fill(layer);
789  mehDtMuonTime[0]->Fill(MB1Digis[i].TIME);
790  mehDtMuonTimevLayer[0]->Fill(layer,MB1Digis[i].TIME,1);
791  }
792 
793  std::vector<PGlobalDigi::DTDigi> MB2Digis =
794  srcGlobalDigis->getMB2Digis();
795  mehDtMuonn[1]->Fill((float)nMB2Digis);
796  for (unsigned int i = 0; i < MB2Digis.size(); ++i) {
797  float layer = 4.0 * (MB2Digis[i].SLAYER - 1.0) + MB2Digis[i].LAYER;
798  mehDtMuonLayer[1]->Fill(layer);
799  mehDtMuonTime[1]->Fill(MB2Digis[i].TIME);
800  mehDtMuonTimevLayer[1]->Fill(layer,MB2Digis[i].TIME,1);
801  }
802 
803  std::vector<PGlobalDigi::DTDigi> MB3Digis =
804  srcGlobalDigis->getMB3Digis();
805  mehDtMuonn[2]->Fill((float)nMB3Digis);
806  for (unsigned int i = 0; i < MB3Digis.size(); ++i) {
807  float layer = 4.0 * (MB3Digis[i].SLAYER - 1.0) + MB3Digis[i].LAYER;
808  mehDtMuonLayer[2]->Fill(layer);
809  mehDtMuonTime[2]->Fill(MB3Digis[i].TIME);
810  mehDtMuonTimevLayer[2]->Fill(layer,MB3Digis[i].TIME,1);
811  }
812 
813  std::vector<PGlobalDigi::DTDigi> MB4Digis =
814  srcGlobalDigis->getMB4Digis();
815  mehDtMuonn[3]->Fill((float)nMB4Digis);
816  for (unsigned int i = 0; i < MB4Digis.size(); ++i) {
817  float layer = 4.0 * (MB4Digis[i].SLAYER - 1.0) + MB4Digis[i].LAYER;
818  mehDtMuonLayer[3]->Fill(layer);
819  mehDtMuonTime[3]->Fill(MB4Digis[i].TIME);
820  mehDtMuonTimevLayer[3]->Fill(layer,MB4Digis[i].TIME,1);
821  }
822 
823  // get CSC Strip info
824  std::vector<PGlobalDigi::CSCstripDigi> CSCstripDigis =
825  srcGlobalDigis->getCSCstripDigis();
826  mehCSCStripn->Fill((float)nCSCstripDigis);
827  for (unsigned int i = 0; i < CSCstripDigis.size(); ++i) {
828  mehCSCStripADC->Fill(CSCstripDigis[i].ADC);
829  }
830 
831  // get CSC Wire info
832  std::vector<PGlobalDigi::CSCwireDigi> CSCwireDigis =
833  srcGlobalDigis->getCSCwireDigis();
834  mehCSCWiren->Fill((float)nCSCwireDigis);
835  for (unsigned int i = 0; i < CSCwireDigis.size(); ++i) {
836  mehCSCWireTime->Fill(CSCwireDigis[i].TIME);
837  }
838  if (verbosity > 0)
839  edm::LogInfo (MsgLoggerCat)
840  << "Done gathering data from event.";
841 
842  } // end loop through events
843 }
RunNumber_t run() const
Definition: EventID.h:42
EventNumber_t event() const
Definition: EventID.h:44
void getAllProvenance(std::vector< Provenance const * > &provenances) const
Definition: Event.cc:70
int i
Definition: DBlmapReader.cc:9
MonitorElement * mehDtMuonLayer[4]
MonitorElement * mehEcalMultvAEE[2]
MonitorElement * mehHcalAEESHE[4]
MonitorElement * mehSiPixelCol[7]
MonitorElement * mehHcalSHEvAEE[4]
MonitorElement * mehDtMuonTimevLayer[4]
void Fill(long long x)
MonitorElement * mehSiStripADC[19]
MonitorElement * mehEcalSHEvAEESHE[2]
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * mehEcalSHE[2]
MonitorElement * mehSiPixelRow[7]
MonitorElement * mehSiPixelADC[7]
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
MonitorElement * mehDtMuonTime[4]
MonitorElement * mehSiStripStrip[19]
edm::EventID id() const
Definition: EventBase.h:56
MonitorElement * mehEScalADC[3]
MonitorElement * mehEcalAEE[2]
MonitorElement * mehEcalMaxPos[2]
MonitorElement * mehSiStripn[19]
void GlobalDigisHistogrammer::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 310 of file GlobalDigisHistogrammer.cc.

311 {
312  std::string MsgLoggerCat = "GlobalDigisHistogrammer_beginJob";
313 
314  // setup calorimeter constants from service
315  //edm::ESHandle<EcalADCToGeVConstant> pAgc;
316  //iSetup.get<EcalADCToGeVConstantRcd>().get(pAgc);
317  //const EcalADCToGeVConstant* agc = pAgc.product();
318 
319  //EcalMGPAGainRatio * defaultRatios = new EcalMGPAGainRatio();
320 
321  // ECalgainConv_[0] = 0.;
322  // ECalgainConv_[1] = 1.;
323  // // ECalgainConv_[2] = defaultRatios->gain12Over6() ;
324  //ECalgainConv_[3] = ECalgainConv_[2]*(defaultRatios->gain6Over1()) ;
325 
326  //delete defaultRatios;
327 
328  //ECalbarrelADCtoGeV_ = agc->getEBValue();
329  //ECalendcapADCtoGeV_ = agc->getEEValue();
330 
331  //if (verbosity >= 0) {
332  // edm::LogInfo(MsgLoggerCat)
333  // << "Modified Calorimeter gain constants: g0 = " << ECalgainConv_[0]
334  //<< ", g1 = " << ECalgainConv_[1] << ", g2 = " << ECalgainConv_[2]
335  // << ", g3 = " << ECalgainConv_[3];
336  // edm::LogInfo(MsgLoggerCat)
337  // << "Modified Calorimeter ADCtoGeV constants: barrel = "
338  // << ECalbarrelADCtoGeV_ << ", endcap = " << ECalendcapADCtoGeV_;
339  //}
340 
341  // clear storage vectors
342  //clear();
343  return;
344 }
void GlobalDigisHistogrammer::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 346 of file GlobalDigisHistogrammer.cc.

References count, and verbosity.

347 {
348  std::string MsgLoggerCat = "GlobalDigisHistogrammer_endJob";
349  if (verbosity >= 0)
350  edm::LogInfo(MsgLoggerCat)
351  << "Terminating having processed " << count << " events.";
352  return;
353 }

Member Data Documentation

unsigned int GlobalDigisHistogrammer::count
private

Definition at line 138 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and endJob().

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

Definition at line 74 of file GlobalDigisHistogrammer.h.

Referenced by GlobalDigisHistogrammer().

int GlobalDigisHistogrammer::frequency
private

Definition at line 76 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

bool GlobalDigisHistogrammer::getAllProvenances
private

Definition at line 78 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

edm::InputTag GlobalDigisHistogrammer::GlobalDigisSrc_
private

Definition at line 85 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

std::string GlobalDigisHistogrammer::label
private
MonitorElement* GlobalDigisHistogrammer::mehCSCStripADC
private

Definition at line 131 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

MonitorElement* GlobalDigisHistogrammer::mehCSCStripn
private

Definition at line 130 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

MonitorElement* GlobalDigisHistogrammer::mehCSCWiren
private

Definition at line 132 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

MonitorElement* GlobalDigisHistogrammer::mehCSCWireTime
private

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().

bool GlobalDigisHistogrammer::printProvenanceInfo
private

Definition at line 79 of file GlobalDigisHistogrammer.h.

Referenced by analyze(), and GlobalDigisHistogrammer().

int GlobalDigisHistogrammer::theCSCStripPedestalCount
private

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().