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
Pages
src
EventFilter
RawDataCollector
src
RawDataCollectorModule.cc
Go to the documentation of this file.
1
6
#include "
EventFilter/RawDataCollector/interface/RawDataCollectorModule.h
"
7
#include <
DataFormats/FEDRawData/interface/FEDRawDataCollection.h
>
8
#include <
DataFormats/FEDRawData/interface/FEDRawData.h
>
9
#include <
DataFormats/FEDRawData/interface/FEDNumbering.h
>
10
11
#include <
DataFormats/Common/interface/Handle.h
>
12
#include <
FWCore/Framework/interface/Event.h
>
13
#include "
DataFormats/Provenance/interface/ProcessHistory.h
"
14
#include "
FWCore/Framework/interface/ESHandle.h
"
15
#include "
FWCore/Framework/interface/EventSetup.h
"
16
17
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
18
19
#include <iostream>
20
21
using namespace
edm;
22
23
RawDataCollectorModule::RawDataCollectorModule
(
const
edm::ParameterSet
&
pset
) {
24
25
useCurrentProcessOnly_ = pset.
getParameter
<
bool
>(
"currentProcessOnly"
) ;
26
27
produces<FEDRawDataCollection>();
28
}
29
30
RawDataCollectorModule::~RawDataCollectorModule
(){
31
32
}
33
34
35
void
RawDataCollectorModule::produce
(
Event
&
e
,
const
EventSetup
&
c
){
36
38
std::vector< Handle<FEDRawDataCollection> > rawData;
39
e.
getManyByType
(rawData);
40
41
std::auto_ptr<FEDRawDataCollection> producedData(
new
FEDRawDataCollection
);
42
43
for
(
unsigned
int
i
=0;
i
< rawData.size(); ++
i
) {
44
45
const
FEDRawDataCollection
*rdc=rawData[
i
].product();
46
47
if
( useCurrentProcessOnly_ &&
48
( rawData[
i
].provenance()->processName() != e.
processHistory
().
rbegin
()->processName() ) )
49
continue ;
// skip all raw collections not produced by the current process
50
51
for
(
int
j
=0;
j
<
FEDNumbering::MAXFEDID
; ++
j
) {
52
const
FEDRawData
& fedData = rdc->
FEDData
(
j
);
53
size_t
size
=fedData.
size
();
54
55
if
( size > 0 ) {
56
// this fed has data -- lets copy it
57
FEDRawData
& fedDataProd = producedData->FEDData(
j
);
58
if
( fedDataProd.
size
() != 0 ) {
59
std::cout
<<
" More than one FEDRawDataCollection with data in FED "
;
60
std::cout
<<
j
<<
" Skipping the 2nd\n"
;
61
continue
;
62
}
63
fedDataProd.
resize
(size);
64
unsigned
char
*dataProd=fedDataProd.
data
();
65
const
unsigned
char
*
data
=fedData.
data
();
66
for
(
unsigned
int
k
=0;
k
<
size
; ++
k
) {
67
dataProd[
k
]=data[
k
];
68
}
69
}
70
}
71
}
72
73
// Insert the new product in the event
74
e.
put
(producedData);
75
76
}
77
78
79
80
81
edm::ProcessHistory::rbegin
const_reverse_iterator rbegin() const
Definition:
ProcessHistory.h:49
ExpressReco_HICollisions_FallBack.e
tuple e
Definition:
ExpressReco_HICollisions_FallBack.py:1068
edm::Event::getManyByType
void getManyByType(std::vector< Handle< PROD > > &results) const
Definition:
Event.h:414
RawDataCollectorModule::RawDataCollectorModule
RawDataCollectorModule(const edm::ParameterSet &pset)
Constructor.
Definition:
RawDataCollectorModule.cc:23
RawDataCollectorModule.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
i
int i
Definition:
DBlmapReader.cc:9
MessageLogger.h
ProcessHistory.h
Event.h
EventSetup.h
FEDNumbering::MAXFEDID
Definition:
FEDNumbering.h:36
FEDRawDataCollection.h
Handle.h
FEDRawData::size
size_t size() const
Lenght of the data buffer in bytes.
Definition:
FEDRawData.h:47
FEDRawDataCollection::FEDData
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
Definition:
FEDRawDataCollection.cc:30
FEDRawData::resize
void resize(size_t newsize)
Definition:
FEDRawData.cc:33
edm::Event::put
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition:
Event.h:84
FEDRawData
Definition:
FEDRawData.h:20
ESHandle.h
j
int j
Definition:
DBlmapReader.cc:9
edm::EventSetup
Definition:
EventSetup.h:44
CrabTask.pset
tuple pset
Definition:
CrabTask.py:85
gen::k
int k[5][pyjets_maxn]
Definition:
Pythia6Hadronizer.cc:86
edm::Event::processHistory
ProcessHistory const & processHistory() const
Definition:
Event.cc:189
trackerHits.c
tuple c
Definition:
trackerHits.py:26
FEDRawDataCollection
Definition:
FEDRawDataCollection.h:21
FEDRawData.h
FEDRawData::data
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition:
FEDRawData.cc:29
RawDataCollectorModule::produce
void produce(edm::Event &e, const edm::EventSetup &c)
Definition:
RawDataCollectorModule.cc:35
edm::ParameterSet
Definition:
ParameterSet.h:31
gather_cfg.cout
tuple cout
Definition:
gather_cfg.py:41
RawDataCollectorModule::~RawDataCollectorModule
virtual ~RawDataCollectorModule()
Destructor.
Definition:
RawDataCollectorModule.cc:30
runTheMatrix.data
data
Definition:
runTheMatrix.py:756
edm::Event
Definition:
Event.h:49
findQualityFiles.size
tuple size
Write out results.
Definition:
findQualityFiles.py:322
FEDNumbering.h
Generated for CMSSW Reference Manual by
1.8.5