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 | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
SiPixelFakeLorentzAngleESSource Class Reference

#include <CalibTracker/SiPixelESProducer/src/SiPixelFakeLorentzAngleESSource.cc>

Inheritance diagram for SiPixelFakeLorentzAngleESSource:
edm::ESProducer edm::EventSetupRecordIntervalFinder edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Member Functions

virtual std::unique_ptr
< SiPixelLorentzAngle
produce (const SiPixelLorentzAngleRcd &)
 
 SiPixelFakeLorentzAngleESSource (const edm::ParameterSet &)
 
 ~SiPixelFakeLorentzAngleESSource () override=default
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector
< ESProxyIndex > > 
updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 
- Public Member Functions inherited from edm::EventSetupRecordIntervalFinder
bool concurrentFinder () const
 
const
eventsetup::ComponentDescription
descriptionForFinder () const
 
 EventSetupRecordIntervalFinder ()
 
 EventSetupRecordIntervalFinder (const EventSetupRecordIntervalFinder &)=delete
 
std::set
< eventsetup::EventSetupRecordKey
findingForRecords () const
 
const ValidityIntervalfindIntervalFor (const eventsetup::EventSetupRecordKey &, const IOVSyncValue &)
 
bool nonconcurrentAndIOVNeedsUpdate (const eventsetup::EventSetupRecordKey &key, const IOVSyncValue &syncValue) const
 
const
EventSetupRecordIntervalFinder
operator= (const EventSetupRecordIntervalFinder &)=delete
 
void resetInterval (const eventsetup::EventSetupRecordKey &)
 
void setDescriptionForFinder (const eventsetup::ComponentDescription &iDescription)
 
virtual ~EventSetupRecordIntervalFinder () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 

Protected Member Functions

void setIntervalFor (const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
ESConsumesCollectorT< TRecord > setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
void usesResources (std::vector< std::string > const &)
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 
- Protected Member Functions inherited from edm::EventSetupRecordIntervalFinder
template<class T >
void findingRecord ()
 
void findingRecordWithKey (const eventsetup::EventSetupRecordKey &)
 

Private Types

typedef std::vector
< edm::ParameterSet
Parameters
 

Private Member Functions

int HVgroup (int panel, int module)
 

Private Attributes

float bPixLorentzAnglePerTesla_
 
Parameters BPixParameters_
 
const edm::FileInPath fp_
 
float fPixLorentzAnglePerTesla_
 
Parameters FPixParameters_
 
Parameters ModuleParameters_
 
const std::string myLabel_
 
const edm::FileInPath t_topo_fp_
 

Additional Inherited Members

- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy >>>
 

Detailed Description

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

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

Definition at line 35 of file SiPixelFakeLorentzAngleESSource.h.

Member Typedef Documentation

Definition at line 55 of file SiPixelFakeLorentzAngleESSource.h.

Constructor & Destructor Documentation

SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource ( const edm::ParameterSet conf_)

Definition at line 34 of file SiPixelFakeLorentzAngleESSource.cc.

References edm::ESProducer::setWhatProduced().

35  : fp_(conf_.getParameter<edm::FileInPath>("file")),
36  t_topo_fp_(conf_.getParameter<edm::FileInPath>("topologyInput")),
37  myLabel_(conf_.getParameter<std::string>("appendToDataLabel")),
38  BPixParameters_(conf_.getParameter<Parameters>("BPixParameters")),
39  FPixParameters_(conf_.getParameter<Parameters>("FPixParameters")),
40  ModuleParameters_(conf_.getParameter<Parameters>("ModuleParameters")),
41  bPixLorentzAnglePerTesla_((float)conf_.getUntrackedParameter<double>("bPixLorentzAnglePerTesla", -9999.)),
42  fPixLorentzAnglePerTesla_((float)conf_.getUntrackedParameter<double>("fPixLorentzAnglePerTesla", -9999.)) {
43  edm::LogInfo("SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource");
44  // the following line is needed to tell the framework what data is being produced
45  setWhatProduced(this);
46  findingRecord<SiPixelLorentzAngleRcd>();
47 }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
T getUntrackedParameter(std::string const &, T const &) const
vector< ParameterSet > Parameters
Log< level::Info, false > LogInfo
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SiPixelFakeLorentzAngleESSource::~SiPixelFakeLorentzAngleESSource ( )
overridedefault

Member Function Documentation

void SiPixelFakeLorentzAngleESSource::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 238 of file SiPixelFakeLorentzAngleESSource.cc.

References edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addOptional(), edm::ParameterSetDescription::addUntracked(), edm::ParameterSetDescription::addVPSet(), edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, edm::ParameterSetDescription::setComment(), edm::ParameterDescriptionNode::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.

238  {
240  desc.setComment("ESSource to supply per-module SiPixelLorentzAngle payloads in the EventSetup");
241 
242  desc.add<edm::FileInPath>(
243  "file", edm::FileInPath("SLHCUpgradeSimulations/Geometry/data/PhaseI/PixelSkimmedGeometry_phase1.txt"))
244  ->setComment("Tracker skimmed geometry");
245  desc.add<edm::FileInPath>("topologyInput",
246  edm::FileInPath("Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml"))
247  ->setComment("Tracker Topology");
248 
249  desc.add<std::string>("appendToDataLabel", "")->setComment("label to which write the data");
250  desc.addUntracked<double>("bPixLorentzAnglePerTesla", -9999.)->setComment("LA value for all BPix");
251  desc.addUntracked<double>("fPixLorentzAnglePerTesla", -9999.)->setComment("LA value for all FPix");
252 
253  edm::ParameterSetDescription desc_BPixParameters;
254  desc_BPixParameters.addOptional<int>("layer");
255  desc_BPixParameters.addOptional<int>("ladder");
256  desc_BPixParameters.addOptional<int>("module");
257  desc_BPixParameters.addOptional<int>("side");
258  desc_BPixParameters.add<double>("angle");
259  std::vector<edm::ParameterSet> default_BPixParametersToAdd;
260  desc.addVPSet("BPixParameters", desc_BPixParameters, default_BPixParametersToAdd)
261  ->setComment("LA values for given BPix regions");
262 
263  edm::ParameterSetDescription desc_FPixParameters;
264  desc_FPixParameters.addOptional<int>("side");
265  desc_FPixParameters.addOptional<int>("disk");
266  desc_FPixParameters.addOptional<int>("ring");
267  desc_FPixParameters.addOptional<int>("blade");
268  desc_FPixParameters.addOptional<int>("panel");
269  desc_FPixParameters.addOptional<int>("HVgroup");
270  desc_FPixParameters.add<double>("angle");
271  std::vector<edm::ParameterSet> default_FPixParametersToAdd;
272  desc.addVPSet("FPixParameters", desc_FPixParameters, default_FPixParametersToAdd)
273  ->setComment("LA values for given FPix regions");
274 
275  edm::ParameterSetDescription desc_ModuleParameters;
276  desc_ModuleParameters.add<unsigned int>("rawid");
277  desc_ModuleParameters.add<double>("angle");
278  std::vector<edm::ParameterSet> default_ModuleParametersToAdd;
279  desc.addVPSet("ModuleParameters", desc_ModuleParameters, default_ModuleParametersToAdd)
280  ->setComment("LA values for given modules");
281 
282  descriptions.addWithDefaultLabel(desc);
283 }
void setComment(std::string const &value)
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
ParameterDescriptionBase * addOptional(U const &iLabel, T const &value)
ParameterDescriptionBase * addVPSet(U const &iLabel, ParameterSetDescription const &validator, std::vector< ParameterSet > const &defaults)
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void setComment(std::string const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
int SiPixelFakeLorentzAngleESSource::HVgroup ( int  panel,
int  module 
)
private

Definition at line 221 of file SiPixelFakeLorentzAngleESSource.cc.

Referenced by produce().

221  {
222  if (1 == panel && (1 == module || 2 == module)) {
223  return 1;
224  } else if (1 == panel && (3 == module || 4 == module)) {
225  return 2;
226  } else if (2 == panel && 1 == module) {
227  return 1;
228  } else if (2 == panel && (2 == module || 3 == module)) {
229  return 2;
230  } else {
231  edm::LogError("SiPixelFakeLorentzAngleESSource")
232  << " ERROR! in SiPixelFakeLorentzAngleESSource::HVgroup(...), panel = " << panel << ", module = " << module
233  << std::endl;
234  return 0;
235  }
236 }
Log< level::Error, false > LogError
tuple module
Definition: callgraph.py:69
std::unique_ptr< SiPixelLorentzAngle > SiPixelFakeLorentzAngleESSource::produce ( const SiPixelLorentzAngleRcd )
virtual

Definition at line 49 of file SiPixelFakeLorentzAngleESSource.cc.

References PixelEndcapName::bladeName(), bPixLorentzAnglePerTesla_, BPixParameters_, PixelEndcapName::diskName(), newFWLiteAna::found, fp_, fPixLorentzAnglePerTesla_, FPixParameters_, StandaloneTrackerTopology::fromTrackerParametersXMLFile(), edm::FileInPath::fullPath(), HVgroup(), PVValHelper::ladder, phase1PixelTopology::layer, LogDebug, callgraph::module, ModuleParameters_, getGTfromDQMFile::obj, PixelEndcapName::pannelName(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DetId::rawId(), DQM::reader, relativeConstraints::ring, PixelEndcapName::ringName(), DetId::subdetId(), and t_topo_fp_.

49  {
50  using namespace edm::es;
51  unsigned int nmodules = 0;
54  const std::vector<uint32_t>& DetIds = reader.getAllDetIds();
55 
57 
58  // Loop over detectors
59  for (const auto& detit : DetIds) {
60  nmodules++;
61  const DetId detid(detit);
62  auto rawId = detid.rawId();
63  int found = 0;
64  int side = tTopo.side(detid); // 1:-z 2:+z for fpix, for bpix gives 0
65 
66  // fill bpix values for LA
67  if (detid.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
68  int layer = tTopo.pxbLayer(detid);
69  // Barrel ladder id 1-20,32,44.
70  int ladder = tTopo.pxbLadder(detid);
71  // Barrel Z-index=1,8
72  int module = tTopo.pxbModule(detid);
73  if (module < 5) {
74  side = 1;
75  } else {
76  side = 2;
77  }
78 
79  LogDebug("SiPixelFakeLorentzAngleESSource") << " pixel barrel:"
80  << " layer=" << layer << " ladder=" << ladder << " module=" << module
81  << " rawId=" << rawId << " side " << side;
82 
83  // use a commmon value (e.g. for MC)
84  if (bPixLorentzAnglePerTesla_ != -9999.) { // use common value for all
85  edm::LogInfo("SiPixelFakeLorentzAngleESSource")
86  << " LA = " << bPixLorentzAnglePerTesla_ << " common for all bpix" << std::endl;
87  if (!obj->putLorentzAngle(detid.rawId(), bPixLorentzAnglePerTesla_))
88  edm::LogError("SiPixelFakeLorentzAngleESSource")
89  << "ERROR!: detid " << rawId << " already exists" << std::endl;
90  } else {
91  //first individuals are put
92  for (const auto& it : ModuleParameters_) {
93  if (it.getParameter<unsigned int>("rawid") == detid.rawId()) {
94  float lorentzangle = (float)it.getParameter<double>("angle");
95  if (!found) {
96  obj->putLorentzAngle(detid.rawId(), lorentzangle);
97  edm::LogInfo("SiPixelFakeLorentzAngleESSource")
98  << " LA= " << lorentzangle << " individual value " << detid.rawId() << std::endl;
99  found = 1;
100  } else
101  edm::LogError("SiPixelFakeLorentzAngleESSource") << "ERROR!: detid already exists" << std::endl;
102  }
103  }
104 
105  //modules already put are automatically skipped
106  for (const auto& it : BPixParameters_) {
107  if (it.exists("layer"))
108  if (it.getParameter<int>("layer") != layer)
109  continue;
110  if (it.exists("ladder"))
111  if (it.getParameter<int>("ladder") != ladder)
112  continue;
113  if (it.exists("module"))
114  if (it.getParameter<int>("module") != module)
115  continue;
116  if (it.exists("side"))
117  if (it.getParameter<int>("side") != side)
118  continue;
119  if (!found) {
120  float lorentzangle = (float)it.getParameter<double>("angle");
121  obj->putLorentzAngle(detid.rawId(), lorentzangle);
122  edm::LogInfo("SiPixelFakeLorentzAngleESSource") << " LA= " << lorentzangle << std::endl;
123  found = 2;
124  } else if (found == 1) {
125  edm::LogWarning("SiPixelFakeLorentzAngleESSource")
126  << "detid already given in ModuleParameters, skipping ..." << std::endl;
127  } else
128  edm::LogError("SiPixelFakeLorentzAngleESSource")
129  << " ERROR!: detid " << rawId << " already exists" << std::endl;
130  }
131  }
132  } else if (detid.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) {
133  // fill fpix values for LA (for phase2 fpix & epix)
134 
135  // For fpix we also need to find the ring number which is not available from topology
136  // Convert to online
137  PixelEndcapName pen(detid, &tTopo, true); // use det-id phaseq
138 
139  //PixelEndcapName::HalfCylinder sh = pen.halfCylinder(); //enum
140  //string nameF = pen.name();
141  //int plaquetteName = pen.plaquetteName();
142  int disk = pen.diskName();
143  int blade = pen.bladeName();
144  int panel = pen.pannelName();
145  int ring = pen.ringName();
146 
147  LogDebug("SiPixelFakeLorentzAngleESSource") << " pixel endcap:"
148  << " side=" << side << " disk=" << disk << " blade =" << blade
149  << " pannel=" << panel << " ring=" << ring << " rawId=" << rawId;
150 
151  // use a commmon value (e.g. for MC)
152  if (fPixLorentzAnglePerTesla_ != -9999.) { // use common value for all
153  edm::LogInfo("SiPixelFakeLorentzAngleESSource")
154  << " LA = " << fPixLorentzAnglePerTesla_ << " common for all fpix" << std::endl;
155  if (!obj->putLorentzAngle(detid.rawId(), fPixLorentzAnglePerTesla_))
156  edm::LogError("SiPixelFakeLorentzAngleESSource") << " ERROR! detid already exists" << std::endl;
157  } else {
158  //first individuals are put
159  for (const auto& it : ModuleParameters_) {
160  if (it.getParameter<unsigned int>("rawid") == detid.rawId()) {
161  float lorentzangle = (float)it.getParameter<double>("angle");
162  if (!found) {
163  obj->putLorentzAngle(detid.rawId(), lorentzangle);
164  edm::LogInfo("SiPixelFakeLorentzAngleESSource")
165  << " LA= " << lorentzangle << " individual value " << detid.rawId() << std::endl;
166  found = 1;
167  } else
168  edm::LogError("SiPixelFakeLorentzAngleESSource")
169  << "ERROR!: detid " << rawId << " already exists" << std::endl;
170  } // if
171  } // for
172 
173  //modules already put are automatically skipped
174  for (const auto& it : FPixParameters_) {
175  if (it.exists("side"))
176  if (it.getParameter<int>("side") != side)
177  continue;
178  if (it.exists("disk"))
179  if (it.getParameter<int>("disk") != disk)
180  continue;
181  if (it.exists("ring"))
182  if (it.getParameter<int>("ring") != ring)
183  continue;
184  if (it.exists("blade"))
185  if (it.getParameter<int>("blade") != blade)
186  continue;
187  if (it.exists("panel"))
188  if (it.getParameter<int>("panel") != panel)
189  continue;
190  if (it.exists("HVgroup"))
191  if (it.getParameter<int>("HVgroup") != HVgroup(panel, ring))
192  continue;
193  if (!found) {
194  float lorentzangle = (float)it.getParameter<double>("angle");
195  obj->putLorentzAngle(detid.rawId(), lorentzangle);
196  edm::LogInfo("SiPixelFakeLorentzAngleESSource") << " LA= " << lorentzangle << std::endl;
197  found = 2;
198  } else if (found == 1) {
199  edm::LogWarning("SiPixelFakeLorentzAngleESSource")
200  << " detid " << rawId << " already given in ModuleParameters, skipping ..." << std::endl;
201  } else
202  edm::LogError("SiPixelFakeLorentzAngleESSource")
203  << "ERROR!: detid" << rawId << "already exists" << std::endl;
204  } // for
205  } // if
206  } // bpix/fpix
207  } // iterate on detids
208 
209  edm::LogInfo("SiPixelFakeLorentzAngleESSource") << "Modules = " << nmodules << std::endl;
210 
211  return std::unique_ptr<SiPixelLorentzAngle>(obj);
212 }
Log< level::Error, false > LogError
constexpr std::array< uint8_t, layerIndexSize > layer
tuple reader
Definition: DQM.py:105
Log< level::Info, false > LogInfo
Definition: DetId.h:17
TrackerTopology fromTrackerParametersXMLFile(const std::string &xmlFileName)
std::string fullPath() const
Definition: FileInPath.cc:161
Log< level::Warning, false > LogWarning
tuple module
Definition: callgraph.py:69
#define LogDebug(id)
void SiPixelFakeLorentzAngleESSource::setIntervalFor ( const edm::eventsetup::EventSetupRecordKey ,
const edm::IOVSyncValue iosv,
edm::ValidityInterval oValidity 
)
overrideprotectedvirtual

Implements edm::EventSetupRecordIntervalFinder.

Definition at line 214 of file SiPixelFakeLorentzAngleESSource.cc.

References edm::IOVSyncValue::beginOfTime(), edm::IOVSyncValue::endOfTime(), and infinity.

216  {
218  oValidity = infinity;
219 }
static const IOVSyncValue & endOfTime()
Definition: IOVSyncValue.cc:82
static const IOVSyncValue & beginOfTime()
Definition: IOVSyncValue.cc:88
const double infinity

Member Data Documentation

float SiPixelFakeLorentzAngleESSource::bPixLorentzAnglePerTesla_
private

Definition at line 60 of file SiPixelFakeLorentzAngleESSource.h.

Referenced by produce().

Parameters SiPixelFakeLorentzAngleESSource::BPixParameters_
private

Definition at line 56 of file SiPixelFakeLorentzAngleESSource.h.

Referenced by produce().

const edm::FileInPath SiPixelFakeLorentzAngleESSource::fp_
private

Definition at line 52 of file SiPixelFakeLorentzAngleESSource.h.

Referenced by produce().

float SiPixelFakeLorentzAngleESSource::fPixLorentzAnglePerTesla_
private

Definition at line 61 of file SiPixelFakeLorentzAngleESSource.h.

Referenced by produce().

Parameters SiPixelFakeLorentzAngleESSource::FPixParameters_
private

Definition at line 57 of file SiPixelFakeLorentzAngleESSource.h.

Referenced by produce().

Parameters SiPixelFakeLorentzAngleESSource::ModuleParameters_
private

Definition at line 58 of file SiPixelFakeLorentzAngleESSource.h.

Referenced by produce().

const std::string SiPixelFakeLorentzAngleESSource::myLabel_
private

Definition at line 54 of file SiPixelFakeLorentzAngleESSource.h.

const edm::FileInPath SiPixelFakeLorentzAngleESSource::t_topo_fp_
private

Definition at line 53 of file SiPixelFakeLorentzAngleESSource.h.

Referenced by produce().