CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
L1RCTTPGProvider Class Reference

#include <L1RCTTPGProvider.h>

Inheritance diagram for L1RCTTPGProvider:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1RCTTPGProvider (const edm::ParameterSet &)
 
 ~L1RCTTPGProvider () override
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector
< edm::ProductResolverIndex >
const & 
indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector
< edm::ProductResolverIndex >
const & 
putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex >
const & 
esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector
< ProductResolverIndexAndSkipBit >
const & 
itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void endJob () override
 
void produce (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

edm::InputTag ecalTPG_
 
int hbShift
 
edm::InputTag hcalTPG_
 
int hfShift
 
int postSamples
 
int preSamples
 
bool useEcalCosmicTiming
 
bool useHcalCosmicTiming
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

L1Trigger/L1RCTTPGProvider/src/L1RCTTPGProvider.cc

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 35 of file L1RCTTPGProvider.h.

Constructor & Destructor Documentation

L1RCTTPGProvider::L1RCTTPGProvider ( const edm::ParameterSet iConfig)
explicit

Definition at line 5 of file L1RCTTPGProvider.cc.

References mps_fire::i, postSamples, and preSamples.

6  : ecalTPG_(iConfig.getParameter<edm::InputTag>("ecalTPGs")),
7  hcalTPG_(iConfig.getParameter<edm::InputTag>("hcalTPGs")),
8  useHcalCosmicTiming(iConfig.getParameter<bool>("useHCALCosmicTiming")),
9  useEcalCosmicTiming(iConfig.getParameter<bool>("useECALCosmicTiming")),
10  preSamples(iConfig.getParameter<int>("preSamples")),
11  postSamples(iConfig.getParameter<int>("postSamples")),
12  hfShift(iConfig.getParameter<int>("HFShift")),
13  hbShift(iConfig.getParameter<int>("HBShift")) {
14  // Output :The new manipulated TPGs
15  // make it smart - to name the collections
16  // correctly
17  char ecal_label[200];
18  char hcal_label[200];
19 
20  for (int i = preSamples; i > 0; --i) {
21  sprintf(ecal_label, "ECALBxminus%d", i);
22  sprintf(hcal_label, "HCALBxminus%d", i);
23  produces<EcalTrigPrimDigiCollection>(ecal_label);
24  produces<HcalTrigPrimDigiCollection>(hcal_label);
25  }
26 
27  produces<EcalTrigPrimDigiCollection>("ECALBx0");
28  produces<HcalTrigPrimDigiCollection>("HCALBx0");
29 
30  for (int i = 0; i < postSamples; ++i) {
31  sprintf(ecal_label, "ECALBxplus%d", i + 1);
32  sprintf(hcal_label, "HCALBxplus%d", i + 1);
33  produces<EcalTrigPrimDigiCollection>(ecal_label);
34  produces<HcalTrigPrimDigiCollection>(hcal_label);
35  }
36 }
edm::InputTag ecalTPG_
edm::InputTag hcalTPG_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
L1RCTTPGProvider::~L1RCTTPGProvider ( )
override

Definition at line 38 of file L1RCTTPGProvider.cc.

38  {
39  // do anything here that needs to be done at desctruction time
40  // (e.g. close files, deallocate resources etc.)
41 }

Member Function Documentation

void L1RCTTPGProvider::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDProducer.

Definition at line 310 of file L1RCTTPGProvider.cc.

310 {}
void L1RCTTPGProvider::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDProducer.

Definition at line 48 of file L1RCTTPGProvider.cc.

References digitizers_cfi::ecal, ecalTPG_, EcalTriggerTower, edm::Event::getByLabel(), hbShift, digitizers_cfi::hcal, hcalTPG_, hfShift, mps_fire::i, dqmiolumiharvest::j, eostools::move(), hgc_digi::nSamples, postSamples, preSamples, edm::Event::put(), compare_using_db::sample, HcalTriggerPrimitiveDigi::setPresamples(), EcalTriggerPrimitiveDigi::setSample(), HcalTriggerPrimitiveDigi::setSample(), EcalTriggerPrimitiveDigi::setSize(), HcalTriggerPrimitiveDigi::setSize(), useEcalCosmicTiming, useHcalCosmicTiming, and ecaldqm::zside().

48  {
49  using namespace edm;
50  // Declare handles
53 
54  // Declare vector of collection to send for output !
55 
56  std::vector<EcalTrigPrimDigiCollection> ecalColl(preSamples + 1 + postSamples);
57  std::vector<HcalTrigPrimDigiCollection> hcalColl(preSamples + 1 + postSamples);
58 
59  unsigned nSamples = preSamples + postSamples + 1;
60 
61  if (iEvent.getByLabel(ecalTPG_, ecal))
62  if (ecal.isValid()) {
63  // loop through all ecal digis
64  for (EcalTrigPrimDigiCollection::const_iterator ecal_it = ecal->begin(); ecal_it != ecal->end(); ecal_it++) {
65  short zside = ecal_it->id().zside();
66  unsigned short ietaAbs = ecal_it->id().ietaAbs();
67  short iphi = ecal_it->id().iphi();
68  unsigned short digiSize = ecal_it->size();
69  unsigned short nSOI = (unsigned short)(ecal_it->sampleOfInterest());
70  if (digiSize < nSamples || nSOI < preSamples || ((int)(digiSize - nSOI) < (int)(nSamples - preSamples))) {
71  unsigned short preLoopsZero = (unsigned short)(preSamples)-nSOI;
72 
73  // fill extra bx's at beginning with zeros
74  for (int sample = 0; sample < preLoopsZero; sample++) {
75  // fill first few with zeros
76  EcalTriggerPrimitiveDigi ecalDigi(
77  EcalTrigTowerDetId((int)zside, EcalTriggerTower, (int)ietaAbs, (int)iphi));
78  ecalDigi.setSize(1);
79  ecalDigi.setSample(0, EcalTriggerPrimitiveSample(0, false, 0));
80  ecalColl[sample].push_back(ecalDigi);
81  }
82 
83  // loop through existing data
84  for (int sample = preLoopsZero; sample < (preLoopsZero + digiSize); sample++) {
85  // go through data
86  EcalTriggerPrimitiveDigi ecalDigi(
87  EcalTrigTowerDetId((int)zside, EcalTriggerTower, (int)ietaAbs, (int)iphi));
88  ecalDigi.setSize(1);
89  if (useEcalCosmicTiming && iphi >= 1 && iphi <= 36) {
90  if (nSOI < (preSamples + 1)) {
91  edm::LogWarning("TooLittleData") << "ECAL data needs at least one presample "
92  << "more than the number requested "
93  << "to use ecal cosmic timing mod! "
94  << "reverting to useEcalCosmicTiming = false "
95  << "for rest of job.";
96  useEcalCosmicTiming = false;
97  } else {
98  ecalDigi.setSample(0,
99  EcalTriggerPrimitiveSample(ecal_it->sample(nSOI + sample - preSamples - 1).raw()));
100  }
101  }
102  // else
103  if ((!useEcalCosmicTiming) || (iphi >= 37 && iphi <= 72)) {
104  ecalDigi.setSample(0, EcalTriggerPrimitiveSample(ecal_it->sample(nSOI + sample - preSamples).raw()));
105  }
106  ecalColl[sample].push_back(ecalDigi);
107  }
108 
109  // fill extra bx's at end with zeros
110  for (unsigned int sample = (preLoopsZero + digiSize); sample < nSamples; sample++) {
111  // fill zeros!
112  EcalTriggerPrimitiveDigi ecalDigi(
113  EcalTrigTowerDetId((int)zside, EcalTriggerTower, (int)ietaAbs, (int)iphi));
114  ecalDigi.setSize(1);
115  ecalDigi.setSample(0, EcalTriggerPrimitiveSample(0, false, 0));
116  ecalColl[sample].push_back(ecalDigi);
117  }
118  } else {
119  for (unsigned short sample = 0; sample < nSamples; sample++) {
120  // put each time sample into its own digi
121  short zside = ecal_it->id().zside();
122  unsigned short ietaAbs = ecal_it->id().ietaAbs();
123  short iphi = ecal_it->id().iphi();
124  EcalTriggerPrimitiveDigi ecalDigi(
125  EcalTrigTowerDetId((int)zside, EcalTriggerTower, (int)ietaAbs, (int)iphi));
126  ecalDigi.setSize(1);
127 
128  if (useEcalCosmicTiming && iphi >= 1 && iphi <= 36) {
129  if (nSOI < (preSamples + 1)) {
130  edm::LogWarning("TooLittleData") << "ECAL data needs at least one presample "
131  << "more than the number requested "
132  << "to use ecal cosmic timing mod! "
133  << "reverting to useEcalCosmicTiming = false "
134  << "for rest of job.";
135  useEcalCosmicTiming = false;
136  } else {
137  ecalDigi.setSample(0,
139  ecal_it->sample(ecal_it->sampleOfInterest() + sample - preSamples - 1).raw()));
140  }
141  }
142  // else
143  if ((!useEcalCosmicTiming) || (iphi >= 37 && iphi <= 72)) {
144  ecalDigi.setSample(
145  0,
146  EcalTriggerPrimitiveSample(ecal_it->sample(ecal_it->sampleOfInterest() + sample - preSamples).raw()));
147  }
148  // push back each digi into correct "time sample" of coll
149  ecalColl[sample].push_back(ecalDigi);
150  }
151  }
152  }
153  }
154 
155  if (iEvent.getByLabel(hcalTPG_, hcal))
156  if (hcal.isValid()) {
157  // loop through all hcal digis
158  for (HcalTrigPrimDigiCollection::const_iterator hcal_it = hcal->begin(); hcal_it != hcal->end(); hcal_it++) {
159  short ieta = hcal_it->id().ieta();
160  short iphi = hcal_it->id().iphi();
161  // loop through time samples for each digi
162  unsigned short digiSize = hcal_it->size();
163  // (size of each digi must be no less than nSamples)
164  unsigned short nSOI = (unsigned short)(hcal_it->presamples());
165  if (digiSize < nSamples || nSOI < preSamples || ((int)(digiSize - nSOI) < (int)(nSamples - preSamples))) {
166  unsigned short preLoopsZero = (unsigned short)(preSamples)-nSOI;
167  // fill extra bx's at beginning with zeros
168  for (int sample = 0; sample < preLoopsZero; sample++) {
169  // fill first few with zeros
170  HcalTriggerPrimitiveDigi hcalDigi(HcalTrigTowerDetId((int)ieta, (int)iphi));
171  hcalDigi.setSize(1);
172  hcalDigi.setPresamples(0);
173  hcalDigi.setSample(0, HcalTriggerPrimitiveSample(0, false, 0, 0));
174  hcalColl[sample].push_back(hcalDigi);
175  }
176 
177  // loop through existing data
178  for (int sample = preLoopsZero; sample < (preLoopsZero + digiSize); sample++) {
179  // go through data
180  HcalTriggerPrimitiveDigi hcalDigi(HcalTrigTowerDetId((int)ieta, (int)iphi));
181  hcalDigi.setSize(1);
182  hcalDigi.setPresamples(0);
183 
184  if (useHcalCosmicTiming && iphi >= 1 && iphi <= 36) {
185  if (nSOI < (preSamples + 1)) {
186  edm::LogWarning("TooLittleData") << "HCAL data needs at least one presample "
187  << "more than the number requested "
188  << "to use hcal cosmic timing mod! "
189  << "reverting to useHcalCosmicTiming = false "
190  << "for rest of job.";
191  useHcalCosmicTiming = false;
192  } else {
193  hcalDigi.setSample(
194  0,
195  HcalTriggerPrimitiveSample(hcal_it->sample(hcal_it->presamples() + sample - preSamples - 1).raw()));
196  }
197  }
198  // else
199  if ((!useHcalCosmicTiming) || (iphi >= 37 && iphi <= 72)) {
200  hcalDigi.setSample(
201  0, HcalTriggerPrimitiveSample(hcal_it->sample(hcal_it->presamples() + sample - preSamples).raw()));
202  }
203  hcalColl[sample].push_back(hcalDigi);
204  }
205 
206  // fill extra bx's at end with zeros
207  for (unsigned int sample = (preLoopsZero + digiSize); sample < nSamples; sample++) {
208  // fill zeros!
209  HcalTriggerPrimitiveDigi hcalDigi(HcalTrigTowerDetId((int)ieta, (int)iphi));
210  hcalDigi.setSize(1);
211  hcalDigi.setPresamples(0);
212  hcalDigi.setSample(0, HcalTriggerPrimitiveSample(0, false, 0, 0));
213  hcalColl[sample].push_back(hcalDigi);
214  }
215  } else {
216  for (unsigned short sample = 0; sample < nSamples; sample++) {
217  // put each (relevant) time sample into its own digi
218  HcalTriggerPrimitiveDigi hcalDigi(HcalTrigTowerDetId((int)ieta, (int)iphi));
219  hcalDigi.setSize(1);
220  hcalDigi.setPresamples(0);
221 
222  if (useHcalCosmicTiming && iphi >= 1 && iphi <= 36) {
223  if (nSOI < (preSamples + 1)) {
224  edm::LogWarning("TooLittleData") << "HCAL data needs at least one presample "
225  << "more than the number requested "
226  << "to use hcal cosmic timing mod! "
227  << "reverting to useHcalCosmicTiming = false "
228  << "for rest of job.";
229  useHcalCosmicTiming = false;
230  } else {
231  hcalDigi.setSample(
232  0,
233  HcalTriggerPrimitiveSample(hcal_it->sample(hcal_it->presamples() + sample - preSamples - 1).raw()));
234  }
235  }
236  // else
237  if ((!useHcalCosmicTiming) || (iphi >= 37 && iphi <= 72)) {
238  if (ieta > -29 && ieta < 29)
239  hcalDigi.setSample(0,
241  hcal_it->sample(hcal_it->presamples() + sample - preSamples + hbShift).raw()));
242  if (ieta <= -29 || ieta >= 29)
243  hcalDigi.setSample(0,
245  hcal_it->sample(hcal_it->presamples() + sample - preSamples + hfShift).raw()));
246  }
247  hcalColl[sample].push_back(hcalDigi);
248  }
249  }
250  }
251  }
252 
253  // Now put the events back to file
254 
255  for (int i = 0; i < preSamples; ++i) {
256  char ecal_label[200];
257  char hcal_label[200];
258 
259  sprintf(ecal_label, "ECALBxminus%d", preSamples - i);
260  sprintf(hcal_label, "HCALBxminus%d", preSamples - i);
261 
262  std::unique_ptr<EcalTrigPrimDigiCollection> ecalIn(new EcalTrigPrimDigiCollection);
263  std::unique_ptr<HcalTrigPrimDigiCollection> hcalIn(new HcalTrigPrimDigiCollection);
264  for (unsigned int j = 0; j < ecalColl[i].size(); ++j) {
265  ecalIn->push_back((ecalColl[i])[j]);
266  }
267  for (unsigned int j = 0; j < hcalColl[i].size(); ++j)
268  hcalIn->push_back((hcalColl[i])[j]);
269 
270  iEvent.put(std::move(ecalIn), ecal_label);
271  iEvent.put(std::move(hcalIn), hcal_label);
272  }
273 
274  std::unique_ptr<EcalTrigPrimDigiCollection> ecal0(new EcalTrigPrimDigiCollection);
275  std::unique_ptr<HcalTrigPrimDigiCollection> hcal0(new HcalTrigPrimDigiCollection);
276  for (unsigned int j = 0; j < ecalColl[preSamples].size(); ++j)
277  ecal0->push_back((ecalColl[preSamples])[j]);
278  for (unsigned int j = 0; j < hcalColl[preSamples].size(); ++j)
279  hcal0->push_back((hcalColl[preSamples])[j]);
280 
281  iEvent.put(std::move(ecal0), "ECALBx0");
282  iEvent.put(std::move(hcal0), "HCALBx0");
283 
284  for (int i = preSamples + 1; i < preSamples + postSamples + 1; ++i) {
285  char ecal_label[200];
286  char hcal_label[200];
287 
288  sprintf(ecal_label, "ECALBxplus%d", i - preSamples);
289  sprintf(hcal_label, "HCALBxplus%d", i - preSamples);
290 
291  std::unique_ptr<EcalTrigPrimDigiCollection> ecalIn2(new EcalTrigPrimDigiCollection);
292  std::unique_ptr<HcalTrigPrimDigiCollection> hcalIn2(new HcalTrigPrimDigiCollection);
293 
294  for (unsigned int j = 0; j < ecalColl[i].size(); ++j)
295  ecalIn2->push_back((ecalColl[i])[j]);
296 
297  for (unsigned int j = 0; j < hcalColl[i].size(); ++j)
298  hcalIn2->push_back((hcalColl[i])[j]);
299 
300  iEvent.put(std::move(ecalIn2), ecal_label);
301  iEvent.put(std::move(hcalIn2), hcal_label);
302  }
303 }
edm::InputTag ecalTPG_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
std::vector< T >::const_iterator const_iterator
int zside(DetId const &)
def move
Definition: eostools.py:511
constexpr size_t nSamples
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:500
edm::InputTag hcalTPG_
Log< level::Warning, false > LogWarning

Member Data Documentation

edm::InputTag L1RCTTPGProvider::ecalTPG_
private

Definition at line 45 of file L1RCTTPGProvider.h.

Referenced by produce().

int L1RCTTPGProvider::hbShift
private

Definition at line 52 of file L1RCTTPGProvider.h.

Referenced by produce().

edm::InputTag L1RCTTPGProvider::hcalTPG_
private

Definition at line 46 of file L1RCTTPGProvider.h.

Referenced by produce().

int L1RCTTPGProvider::hfShift
private

Definition at line 51 of file L1RCTTPGProvider.h.

Referenced by produce().

int L1RCTTPGProvider::postSamples
private

Definition at line 50 of file L1RCTTPGProvider.h.

Referenced by L1RCTTPGProvider(), and produce().

int L1RCTTPGProvider::preSamples
private

Definition at line 49 of file L1RCTTPGProvider.h.

Referenced by L1RCTTPGProvider(), and produce().

bool L1RCTTPGProvider::useEcalCosmicTiming
private

Definition at line 48 of file L1RCTTPGProvider.h.

Referenced by produce().

bool L1RCTTPGProvider::useHcalCosmicTiming
private

Definition at line 47 of file L1RCTTPGProvider.h.

Referenced by produce().