Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
DPGAnalysis
SiStripTools
plugins
EventWithHistoryProducer.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// Package: EventWithHistoryProducer
4
// Class: EventWithHistoryProducer
5
//
13
//
14
// Original Author: Andrea Venturi
15
// Created: Sun Nov 30 19:05:41 CET 2008
16
// $Id: EventWithHistoryProducer.cc,v 1.2 2010/01/12 09:13:04 venturia Exp $
17
//
18
//
19
20
// system include files
21
#include <memory>
22
23
// user include files
24
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
25
#include "
FWCore/Framework/interface/EDProducer.h
"
26
27
#include "
FWCore/Framework/interface/Event.h
"
28
#include "
FWCore/Framework/interface/MakerMacros.h
"
29
30
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
31
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
32
33
//#include "DPGAnalysis/SiStripTools/interface/TinyEvent.h"
34
#include "
DPGAnalysis/SiStripTools/interface/EventWithHistory.h
"
35
36
//
37
// class decleration
38
//
39
40
class
EventWithHistoryProducer
:
public
edm::EDProducer
{
41
public
:
42
explicit
EventWithHistoryProducer
(
const
edm::ParameterSet
&);
43
~EventWithHistoryProducer
()
override
;
44
45
private
:
46
void
beginJob
()
override
;
47
void
produce
(
edm::Event
&,
const
edm::EventSetup
&)
override
;
48
void
endJob
()
override
;
49
50
// ----------member data ---------------------------
51
52
const
unsigned
int
_depth
;
53
EventWithHistory
_prevHE
;
54
};
55
56
//
57
// constants, enums and typedefs
58
//
59
60
//
61
// static data member definitions
62
//
63
64
//
65
// constructors and destructor
66
//
67
EventWithHistoryProducer::EventWithHistoryProducer
(
const
edm::ParameterSet
&
iConfig
)
68
: _depth(iConfig.getUntrackedParameter<unsigned int>(
"historyDepth"
)), _prevHE() {
69
produces<EventWithHistory>();
70
71
//now do what ever other initialization is needed
72
}
73
74
EventWithHistoryProducer::~EventWithHistoryProducer
() {
75
// do anything here that needs to be done at desctruction time
76
// (e.g. close files, deallocate resources etc.)
77
}
78
79
//
80
// member functions
81
//
82
83
// ------------ method called to produce the data ------------
84
void
EventWithHistoryProducer::produce
(
edm::Event
&
iEvent
,
const
edm::EventSetup
& iSetup) {
85
using namespace
edm;
86
87
std::unique_ptr<EventWithHistory> heOut(
88
new
EventWithHistory
(iEvent.
id
().
event
(), iEvent.
orbitNumber
(), iEvent.
bunchCrossing
()));
89
heOut->add(
_prevHE
,
_depth
);
90
91
if
(*heOut <
_prevHE
)
92
edm::LogInfo
(
"EventsNotInOrder"
) <<
" Events not in order "
<<
_prevHE
.
_event
;
93
94
_prevHE
= *heOut;
95
iEvent.
put
(
std::move
(heOut));
96
}
97
98
// ------------ method called once each job just before starting event loop ------------
99
void
EventWithHistoryProducer::beginJob
() {}
100
101
// ------------ method called once each job just after ending the event loop ------------
102
void
EventWithHistoryProducer::endJob
() {}
103
104
//define this as a plug-in
105
DEFINE_FWK_MODULE
(
EventWithHistoryProducer
);
edm::EventID::event
EventNumber_t event() const
Definition:
EventID.h:40
EventWithHistoryProducer
Definition:
EventWithHistoryProducer.cc:40
EventWithHistoryProducer::beginJob
void beginJob() override
Definition:
EventWithHistoryProducer.cc:99
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition:
Event.h:133
EventWithHistoryProducer::EventWithHistoryProducer
EventWithHistoryProducer(const edm::ParameterSet &)
Definition:
EventWithHistoryProducer.cc:67
MessageLogger.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition:
MakerMacros.h:16
Event.h
EventWithHistory
Definition:
EventWithHistory.h:17
MakerMacros.h
EventWithHistoryProducer::_depth
const unsigned int _depth
Definition:
EventWithHistoryProducer.cc:52
edm::EventBase::bunchCrossing
int bunchCrossing() const
Definition:
EventBase.h:64
EventWithHistoryProducer::~EventWithHistoryProducer
~EventWithHistoryProducer() override
Definition:
EventWithHistoryProducer.cc:74
EventWithHistoryProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition:
EventWithHistoryProducer.cc:84
Frameworkfwd.h
edm::EDProducer
Definition:
EDProducer.h:36
ParameterSet.h
iEvent
int iEvent
Definition:
GenABIO.cc:224
eostools.move
def move
Definition:
eostools.py:511
EventWithHistoryProducer::_prevHE
EventWithHistory _prevHE
Definition:
EventWithHistoryProducer.cc:53
edm::EventSetup
Definition:
EventSetup.h:59
edm::EventBase::orbitNumber
int orbitNumber() const
Definition:
EventBase.h:65
edm::LogInfo
Log< level::Info, false > LogInfo
Definition:
MessageLogger.h:125
EDProducer.h
EventWithHistoryProducer::endJob
void endJob() override
Definition:
EventWithHistoryProducer.cc:102
EventWithHistory.h
edm::EventBase::id
edm::EventID id() const
Definition:
EventBase.h:59
TinyEvent::_event
edm::EventNumber_t _event
Definition:
TinyEvent.h:64
edm::ParameterSet
Definition:
ParameterSet.h:47
edm::Event
Definition:
Event.h:73
iConfig
iConfig
Definition:
TSGFromPropagation.cc:56
Generated for CMSSW Reference Manual by
1.8.5