Main Page
Namespaces
Classes
Package Documentation
CVS Directory
WorkBook
Offline Guide
Release schedule
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
RecoJets
JetAnalyzers
src
myRawAna.cc
Go to the documentation of this file.
1
// myRawAna.cc
2
// Description: Access raw data, specifically event fragment size per FED
3
// Author: Jim Hirschauer
4
// Date: 28 - July - 2009
5
//
6
#include "
RecoJets/JetAnalyzers/interface/myRawAna.h
"
7
8
#include "
DataFormats/Common/interface/Handle.h
"
9
#include "
DataFormats/Candidate/interface/Candidate.h
"
10
#include "
FWCore/Framework/interface/Event.h
"
11
12
#include "
DataFormats/FEDRawData/interface/FEDRawDataCollection.h
"
13
14
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
15
#include <TROOT.h>
16
#include <TSystem.h>
17
#include <TFile.h>
18
#include <TCanvas.h>
19
#include <cmath>
20
21
using namespace
edm;
22
using namespace
reco
;
23
using namespace
std;
24
25
#define DEBUG 1
26
#define MAXJETS 100
27
28
// Nothing passed from .cfg yet, but I leave the syntax here for
29
// future reference.
30
31
myRawAna::myRawAna
(
const
ParameterSet
&
cfg
) {}
32
33
// ************************
34
// ************************
35
36
void
myRawAna::beginJob
() {
37
edm::Service<TFileService>
fs;
38
39
fedSize = fs->
make
<TH2F>(
"fedSize"
,
"fedSize"
, 901, -0.5, 900.5, 20000, 0., 20000.);
40
totFedSize = fs->
make
<TH1F>(
"totFedSize"
,
"totFedSize"
, 200, 0., 20000.);
41
}
42
43
// ************************
44
// ************************
45
void
myRawAna::analyze
(
const
edm::Event
& evt,
const
edm::EventSetup
& es) {
46
// **************************************************************
47
// ** Access FED Information
48
// **************************************************************
49
50
edm::Handle<FEDRawDataCollection>
theRaw;
51
bool
getFed = evt.
getByLabel
(
"source"
, theRaw);
52
53
if
(!getFed) {
54
std::cout
<<
"fedRawData not available"
<< std::endl;
55
}
else
{
// got the fed raw data
56
unsigned
int
totalFEDsize = 0;
57
58
// HCAL FEDs are 700-730
59
unsigned
int
fedStart_ = 0;
60
unsigned
int
fedStop_ = 900;
61
62
for
(
unsigned
int
i
= fedStart_;
i
<= fedStop_; ++
i
) {
63
fedSize->Fill(
i
, theRaw->FEDData(
i
).size());
64
totalFEDsize += theRaw->FEDData(
i
).size();
65
}
66
totFedSize->Fill(totalFEDsize);
67
}
68
}
69
70
// ***********************************
71
// ***********************************
72
void
myRawAna::endJob
() {}
73
#include "
FWCore/Framework/interface/MakerMacros.h
"
74
DEFINE_FWK_MODULE
(
myRawAna
);
myRawAna::myRawAna
myRawAna(const edm::ParameterSet &)
Definition:
myRawAna.cc:31
looper.cfg
tuple cfg
Definition:
looper.py:296
mps_fire.i
i
Definition:
mps_fire.py:428
edm::Service< TFileService >
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition:
MakerMacros.h:16
Event.h
MakerMacros.h
edm::Handle< FEDRawDataCollection >
myRawAna::beginJob
void beginJob() override
Definition:
myRawAna.cc:36
myRawAna.h
FEDRawDataCollection.h
TFileService::make
T * make(const Args &...args) const
make new ROOT object
Definition:
TFileService.h:64
dt_dqm_sourceclient_common_cff.reco
tuple reco
Definition:
dt_dqm_sourceclient_common_cff.py:111
myRawAna
Definition:
myRawAna.h:21
ParameterSet.h
Candidate.h
edm::EventSetup
Definition:
EventSetup.h:59
edm::Event::getByLabel
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition:
Event.h:500
myRawAna::endJob
void endJob() override
Definition:
myRawAna.cc:72
edm::ParameterSet
Definition:
ParameterSet.h:47
gather_cfg.cout
tuple cout
Definition:
gather_cfg.py:144
myRawAna::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition:
myRawAna.cc:45
edm::Event
Definition:
Event.h:73
Handle.h
Generated for CMSSW Reference Manual by
1.8.5