CMS 3D CMS Logo

L1TCaloTowersFilter.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: L1TValidationEventFilter
4 // Class: L1TValidationEventFilter
5 //
12 //
13 // Original Author: Jim Brooke
14 // Created:
15 //
16 //
17 
18 
19 // system include files
20 #include <memory>
21 
22 // user include files
24 
31 
32 #include <string>
33 #include <vector>
34 #include <iostream>
35 
36 
41 
43 
44 //
45 // class declaration
46 //
47 
48 namespace l1t {
49 
51 public:
52  explicit L1TCaloTowersFilter(const edm::ParameterSet&);
53  ~L1TCaloTowersFilter() override;
54 
55 private:
56  void beginJob() override ;
57  bool filter(edm::Event&, const edm::EventSetup&) override;
58  void endJob() override ;
59 
60  // ----------member data ---------------------------
63 
64  int period_; // validation event period
65 
66 };
67 
68 
69 
70 //
71 // constructors and destructor
72 //
74  period_( iConfig.getUntrackedParameter<int>("period", 107) )
75 {
76  //now do what ever initialization is needed
77 
78  // fedData_ = consumes<FEDRawDataCollection>(iConfig.getParameter<edm::InputTag>("inputTag"));
79  edm::InputTag towerTag = iConfig.getParameter<edm::InputTag>("towerToken");
80  m_towerToken = consumes<l1t::CaloTowerBxCollection>(towerTag);
81 }
82 
83 
85 {
86 
87  // do anything here that needs to be done at desctruction time
88  // (e.g. close files, deallocate resources etc.)
89 
90 }
91 
92 
93 //
94 // member functions
95 //
96 
97 // ------------ method called on each new Event ------------
98 bool
100 {
101  using namespace edm;
102 
104  iEvent.getByToken(m_towerToken,towers);
105 
106  // edm::Handle<FEDRawDataCollection> feds;
107  // iEvent.getByToken(fedData_, feds);
108 
109  if (towers->size() == 0) {
110  LogDebug("L1TCaloTowersFilter") << "Event does not contain towers." << std::endl;
111  return false;
112  }
113 
114  LogDebug("L1TCaloTowersFilter") << "Event does contains towers." << std::endl;
115  return true;
116 
117  /*
118  if (!feds.isValid()) {
119  LogError("L1T") << "Cannot unpack: no FEDRawDataCollection found";
120  return false;
121  }
122 
123  const FEDRawData& l1tRcd = feds->FEDData(1024);
124 
125  const unsigned char *data = l1tRcd.data();
126  FEDHeader header(data);
127 
128  bool fatEvent = (header.lvl1ID() % period_ == 0 );
129 
130  return fatEvent;
131  */
132 }
133 
134 // ------------ method called once each job just before starting event loop ------------
135 void
137 {
138 
139 }
140 
141 // ------------ method called once each job just after ending the event loop ------------
142 void
144 
145 }
146 
147 }
148 
149 using namespace l1t;
150 //define this as a plug-in
152 
#define LogDebug(id)
T getParameter(std::string const &) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
delete x;
Definition: CaloConfig.h:22
int iEvent
Definition: GenABIO.cc:224
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
bool filter(edm::Event &, const edm::EventSetup &) override
HLT enums.
L1TCaloTowersFilter(const edm::ParameterSet &)
edm::EDGetTokenT< FEDRawDataCollection > fedData_