CMS 3D CMS Logo

RunRangeDependentPedeLabeler.h
Go to the documentation of this file.
1 #ifndef RUNRANGEDEPENDENTPEDELABELER_H
2 #define RUNRANGEDEPENDENTPEDELABELER_H
3 
16 #include <vector>
17 #include <map>
18 
20 
22 
25 
26 namespace edm {
27  class EventID;
28 }
29 
30 /***************************************
31 ****************************************/
33 public:
38 
42  unsigned int alignableLabel(Alignable *alignable) const override;
47  unsigned int alignableLabelFromParamAndInstance(Alignable *alignable,
48  unsigned int param,
49  unsigned int instance) const override;
50  unsigned int lasBeamLabel(unsigned int lasBeamId) const override;
52  unsigned int parameterLabel(unsigned int aliLabel, unsigned int parNum) const override;
55  unsigned int parameterLabel(Alignable *alignable,
56  unsigned int parNum,
58  const TrajectoryStateOnSurface &tsos) const override;
60  bool hasSplitParameters(Alignable *alignable) const override;
62  unsigned int numberOfParameterInstances(Alignable *alignable, int param = -1) const override;
63  unsigned int maxNumberOfParameterInstances() const override { return theMaxNumberOfParameterInstances; }
64 
66  unsigned int paramNumFromLabel(unsigned int paramLabel) const override;
68  unsigned int alignableLabelFromLabel(unsigned int label) const override;
71  Alignable *alignableFromLabel(unsigned int label) const override;
74  unsigned int lasBeamIdFromLabel(unsigned int label) const override;
75  const RunRange &runRangeFromLabel(unsigned int label) const override;
76 
77 private:
78  typedef std::map<Alignable *, unsigned int> AlignableToIdMap;
80  typedef std::vector<RunRange> RunRangeVector;
81  typedef std::map<unsigned int, RunRangeVector> RunRangeParamMap;
82  typedef std::map<Alignable *, RunRangeParamMap> AlignableToRunRangeRangeMap;
84  typedef std::map<unsigned int, Alignable *> IdToAlignableMap;
85  typedef std::map<unsigned int, unsigned int> UintUintMap;
86 
87  unsigned int runRangeIndexFromLabel(unsigned int label) const;
88 
89  std::vector<std::string> decompose(const std::string &s, std::string::value_type delimiter) const;
90  std::vector<unsigned int> convertParamSel(const std::string &selString) const;
91  unsigned int buildRunRangeDependencyMap(AlignableTracker *aliTracker,
92  AlignableMuon *aliMuon,
93  AlignableExtras *extras,
94  const edm::ParameterSet &config);
95 
97  unsigned int buildMap(const align::Alignables &);
99  unsigned int buildReverseMap();
100 
101  // data members
108 };
109 
110 #endif
RunRangeDependentPedeLabeler::AlignableToRunRangeRangeMap
std::map< Alignable *, RunRangeParamMap > AlignableToRunRangeRangeMap
Definition: RunRangeDependentPedeLabeler.h:81
RunRangeDependentPedeLabeler::RunRangeParamMap
std::map< unsigned int, RunRangeVector > RunRangeParamMap
Definition: RunRangeDependentPedeLabeler.h:80
RunRangeDependentPedeLabeler::~RunRangeDependentPedeLabeler
~RunRangeDependentPedeLabeler() override
Definition: RunRangeDependentPedeLabeler.cc:48
RunRangeDependentPedeLabeler::RunRangeVector
std::vector< RunRange > RunRangeVector
Definition: RunRangeDependentPedeLabeler.h:79
makeHLTPrescaleTable.delimiter
delimiter
Definition: makeHLTPrescaleTable.py:181
RunRangeDependentPedeLabeler::lasBeamIdFromLabel
unsigned int lasBeamIdFromLabel(unsigned int label) const override
Definition: RunRangeDependentPedeLabeler.cc:247
edm
HLT enums.
Definition: AlignableModifier.h:19
Time.h
Alignable
Definition: Alignable.h:27
RunRangeDependentPedeLabeler::AlignableToIdMap
std::map< Alignable *, unsigned int > AlignableToIdMap
Definition: RunRangeDependentPedeLabeler.h:77
RunRangeDependentPedeLabeler::IdToAlignableMap
std::map< unsigned int, Alignable * > IdToAlignableMap
Definition: RunRangeDependentPedeLabeler.h:83
RunRangeDependentPedeLabeler::alignableLabelFromParamAndInstance
unsigned int alignableLabelFromParamAndInstance(Alignable *alignable, unsigned int param, unsigned int instance) const override
Definition: RunRangeDependentPedeLabeler.cc:72
RunRangeDependentPedeLabeler::hasSplitParameters
bool hasSplitParameters(Alignable *alignable) const override
returns true if the alignable has parameters that are split into various bins
Definition: RunRangeDependentPedeLabeler.cc:181
PedeLabelerBase.h
RunRangeDependentPedeLabeler::runRangeFromLabel
const RunRange & runRangeFromLabel(unsigned int label) const override
Definition: RunRangeDependentPedeLabeler.cc:268
RunRangeDependentPedeLabeler::maxNumberOfParameterInstances
unsigned int maxNumberOfParameterInstances() const override
returns the maximum number of instances for any parameter of an Alignable*
Definition: RunRangeDependentPedeLabeler.h:62
RunRangeDependentPedeLabeler::theIdToAlignableMap
IdToAlignableMap theIdToAlignableMap
providing unique ID for alignable, space for param IDs
Definition: RunRangeDependentPedeLabeler.h:103
config
Definition: config.py:1
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
alignCSCRings.s
s
Definition: alignCSCRings.py:92
RunRangeDependentPedeLabeler::runRangeIndexFromLabel
unsigned int runRangeIndexFromLabel(unsigned int label) const
Definition: RunRangeDependentPedeLabeler.cc:262
RunRangeDependentPedeLabeler::AlignableToIdPair
AlignableToIdMap::value_type AlignableToIdPair
Definition: RunRangeDependentPedeLabeler.h:78
RunRangeDependentPedeLabeler::theLabelToLasBeamMap
UintUintMap theLabelToLasBeamMap
labels for las beams
Definition: RunRangeDependentPedeLabeler.h:105
AlignableTracker
Definition: AlignableTracker.h:17
PedeLabelerBase::TopLevelAlignables
Definition: PedeLabelerBase.h:39
RunRangeDependentPedeLabeler::buildReverseMap
unsigned int buildReverseMap()
returns size of map
Definition: RunRangeDependentPedeLabeler.cc:473
AlignableExtras
Definition: AlignableExtras.h:19
PedeLabelerBase::RunRange
align::RunRange RunRange
Definition: PedeLabelerBase.h:36
RunRangeDependentPedeLabeler::parameterLabel
unsigned int parameterLabel(unsigned int aliLabel, unsigned int parNum) const override
returns the label for a given alignable parameter number combination
Definition: RunRangeDependentPedeLabeler.cc:120
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
RunRangeDependentPedeLabeler::numberOfParameterInstances
unsigned int numberOfParameterInstances(Alignable *alignable, int param=-1) const override
returns the number of instances for a given parameter
Definition: RunRangeDependentPedeLabeler.cc:189
ZMuMuAnalysisNtupler_cff.eventInfo
eventInfo
Definition: ZMuMuAnalysisNtupler_cff.py:15
RunRangeDependentPedeLabeler::RunRangeDependentPedeLabeler
RunRangeDependentPedeLabeler(const PedeLabelerBase::TopLevelAlignables &alignables, const edm::ParameterSet &config)
constructor from three Alignables (null pointers allowed )
Definition: RunRangeDependentPedeLabeler.cc:28
edm::ParameterSet
Definition: ParameterSet.h:47
RunRangeDependentPedeLabeler::alignableLabelFromLabel
unsigned int alignableLabelFromLabel(unsigned int label) const override
alignable label from parameter label (works also for alignable label...)
Definition: RunRangeDependentPedeLabeler.cc:222
RunRangeDependentPedeLabeler::theMaxNumberOfParameterInstances
unsigned int theMaxNumberOfParameterInstances
reverse of the above
Definition: RunRangeDependentPedeLabeler.h:106
AlignableMuon
Constructor of the full muon geometry.
Definition: AlignableMuon.h:33
PedeLabelerBase
Definition: PedeLabelerBase.h:33
Utilities.h
RunRangeDependentPedeLabeler::convertParamSel
std::vector< unsigned int > convertParamSel(const std::string &selString) const
Definition: RunRangeDependentPedeLabeler.cc:307
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition: JetExtendedAssociation.h:30
RunRangeDependentPedeLabeler::alignableLabel
unsigned int alignableLabel(Alignable *alignable) const override
Return 32-bit unique label for alignable, 0 indicates failure.
Definition: RunRangeDependentPedeLabeler.cc:52
volumeBasedMagneticField_160812_cfi.paramLabel
paramLabel
Definition: volumeBasedMagneticField_160812_cfi.py:37
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
RunRangeDependentPedeLabeler::theLasBeamToLabelMap
UintUintMap theLasBeamToLabelMap
reverse map
Definition: RunRangeDependentPedeLabeler.h:104
RunRangeDependentPedeLabeler::lasBeamLabel
unsigned int lasBeamLabel(unsigned int lasBeamId) const override
Definition: RunRangeDependentPedeLabeler.cc:107
RunRangeDependentPedeLabeler::theAlignableToIdMap
AlignableToIdMap theAlignableToIdMap
Definition: RunRangeDependentPedeLabeler.h:101
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
RunRangeDependentPedeLabeler::buildRunRangeDependencyMap
unsigned int buildRunRangeDependencyMap(AlignableTracker *aliTracker, AlignableMuon *aliMuon, AlignableExtras *extras, const edm::ParameterSet &config)
Definition: RunRangeDependentPedeLabeler.cc:316
RunRangeDependentPedeLabeler::alignableFromLabel
Alignable * alignableFromLabel(unsigned int label) const override
Definition: RunRangeDependentPedeLabeler.cc:227
RunRangeDependentPedeLabeler::theAlignableToRunRangeRangeMap
AlignableToRunRangeRangeMap theAlignableToRunRangeRangeMap
providing unique ID for alignable, space for param IDs
Definition: RunRangeDependentPedeLabeler.h:102
RunRangeDependentPedeLabeler::UintUintMap
std::map< unsigned int, unsigned int > UintUintMap
Definition: RunRangeDependentPedeLabeler.h:84
RunRangeDependentPedeLabeler::AlignableToRunRangeRangePair
AlignableToRunRangeRangeMap::value_type AlignableToRunRangeRangePair
Definition: RunRangeDependentPedeLabeler.h:82
ParameterSet.h
RunRangeDependentPedeLabeler::paramNumFromLabel
unsigned int paramNumFromLabel(unsigned int paramLabel) const override
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label
Definition: RunRangeDependentPedeLabeler.cc:212
RunRangeDependentPedeLabeler
Definition: RunRangeDependentPedeLabeler.h:31
RunRangeDependentPedeLabeler::buildMap
unsigned int buildMap(const align::Alignables &)
returns size of map
Definition: RunRangeDependentPedeLabeler.cc:428
label
const char * label
Definition: PFTauDecayModeTools.cc:11
RunRangeDependentPedeLabeler::decompose
std::vector< std::string > decompose(const std::string &s, std::string::value_type delimiter) const
Definition: RunRangeDependentPedeLabeler.cc:288
AlignmentAlgorithmBase::EventInfo
define event information passed to algorithms
Definition: AlignmentAlgorithmBase.h:72