CMS 3D CMS Logo

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
26 
29 
32 
33 //#include "DPGAnalysis/SiStripTools/interface/TinyEvent.h"
35 
36 //
37 // class decleration
38 //
39 
41 public:
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;
54 };
55 
56 //
57 // constants, enums and typedefs
58 //
59 
60 //
61 // static data member definitions
62 //
63 
64 //
65 // constructors and destructor
66 //
68  : _depth(iConfig.getUntrackedParameter<unsigned int>("historyDepth")), _prevHE() {
69  produces<EventWithHistory>();
70 
71  //now do what ever other initialization is needed
72 }
73 
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 ------------
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 ------------
100 
101 // ------------ method called once each job just after ending the event loop ------------
103 
104 //define this as a plug-in
MessageLogger.h
EDProducer.h
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::LogInfo
Definition: MessageLogger.h:254
TinyEvent::_event
edm::EventNumber_t _event
Definition: TinyEvent.h:64
EventWithHistory.h
MakerMacros.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
EventWithHistoryProducer
Definition: EventWithHistoryProducer.cc:40
EventWithHistoryProducer::~EventWithHistoryProducer
~EventWithHistoryProducer() override
Definition: EventWithHistoryProducer.cc:74
EventWithHistoryProducer::endJob
void endJob() override
Definition: EventWithHistoryProducer.cc:102
edm::ParameterSet
Definition: ParameterSet.h:36
Event.h
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::EventSetup
Definition: EventSetup.h:57
EventWithHistory
Definition: EventWithHistory.h:17
EventWithHistoryProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: EventWithHistoryProducer.cc:84
eostools.move
def move(src, dest)
Definition: eostools.py:511
Frameworkfwd.h
edm::EDProducer
Definition: EDProducer.h:36
EventWithHistoryProducer::beginJob
void beginJob() override
Definition: EventWithHistoryProducer.cc:99
EventWithHistoryProducer::EventWithHistoryProducer
EventWithHistoryProducer(const edm::ParameterSet &)
Definition: EventWithHistoryProducer.cc:67
ParameterSet.h
edm::Event
Definition: Event.h:73
EventWithHistoryProducer::_prevHE
EventWithHistory _prevHE
Definition: EventWithHistoryProducer.cc:53
EventWithHistoryProducer::_depth
const unsigned int _depth
Definition: EventWithHistoryProducer.cc:52