CMS 3D CMS Logo

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

Public Member Functions

def __init__
 
def getConditions
 
def getRepMap
 
def restrictTo
 

Public Attributes

 color
 
 conditions
 
 condShorts
 
 globaltag
 
 mode
 
 name
 
 runGeomComp
 
 style
 

Private Member Functions

def __getConditions
 
def __shorthandExists
 
def __testDbExist
 

Detailed Description

Definition at line 6 of file alignment.py.

Constructor & Destructor Documentation

def alignment.Alignment.__init__ (   self,
  name,
  config,
  runGeomComp = "1" 
)

Definition at line 7 of file alignment.py.

7 
8  def __init__(self, name, config, runGeomComp = "1"):
9  self.condShorts = {
10  "TrackerAlignmentErrorRcd":
11  {"zeroAPE":{"connectString": ("frontier://FrontierProd"
12  "/CMS_COND_31X_FROM21X"),
13  "tagName": "TrackerIdealGeometryErrors210_mc",
14  "labelName": ""}}}
15  section = "alignment:%s"%name
16  if not config.has_section( section ):
17  raise AllInOneError, ("section %s not found. Please define the "
18  "alignment!"%section)
19  config.checkInput(section,
20  knownSimpleOptions = ['globaltag', 'style', 'color'],
21  knownKeywords = ['condition'])
22  self.name = name
23  self.runGeomComp = runGeomComp
24  self.globaltag = config.get( section, "globaltag" )
25  self.conditions = self.__getConditions( config, section )
26  self.color = config.get(section,"color")
27  self.style = config.get(section,"style")
28 

Member Function Documentation

def alignment.Alignment.__getConditions (   self,
  theConfig,
  theSection 
)
private

Definition at line 45 of file alignment.py.

References alignment.Alignment.__shorthandExists(), alignment.Alignment.condShorts, join(), split, and strip().

45 
46  def __getConditions( self, theConfig, theSection ):
47  conditions = []
48  for option in theConfig.options( theSection ):
49  if option.startswith( "condition " ):
50  rcdName = option.split( "condition " )[1]
51  condPars = theConfig.get( theSection, option ).split( "," )
52  if len(condPars) == 1:
53  if len(condPars[0])==0:
54  msg = ("In section [%s]: '%s' is used with too few "
55  "arguments. A connect_string and a tag are "
56  "required!"%(theSection, option))
57  raise AllInOneError(msg)
58  elif self.__shorthandExists(rcdName, condPars[0]):
59  shorthand = condPars[0]
60  condPars = [
61  self.condShorts[rcdName][shorthand]["connectString"],
62  self.condShorts[rcdName][shorthand]["tagName"],
63  self.condShorts[rcdName][shorthand]["labelName"]]
64  else:
65  msg = ("In section [%s]: '%s' is used with '%s', "
66  "which is an unknown shorthand for '%s'. Either "
67  "provide at least a connect_string and a tag or "
68  "use a known shorthand.\n"
69  %(theSection, option, condPars[0], rcdName))
70  if rcdName in self.condShorts:
71  msg += "Known shorthands for '%s':\n"%(rcdName)
72  theShorts = self.condShorts[rcdName]
73  knownShorts = [("\t"+key+": "
74  +theShorts[key]["connectString"]+","
75  +theShorts[key]["tagName"]+","
76  +theShorts[key]["labelName"]) \
77  for key in theShorts]
78  msg+="\n".join(knownShorts)
79  else:
80  msg += ("There are no known shorthands for '%s'."
81  %(rcdName))
82  raise AllInOneError(msg)
83  if len( condPars ) == 2:
84  condPars.append( "" )
85  if len(condPars) > 3:
86  msg = ("In section [%s]: '%s' is used with too many "
87  "arguments. A maximum of 3 arguments is allowed."
88  %(theSection, option))
89  raise AllInOneError(msg)
90  conditions.append({"rcdName": rcdName.strip(),
91  "connectString": condPars[0].strip(),
92  "tagName": condPars[1].strip(),
93  "labelName": condPars[2].strip()})
94  return conditions
void strip(std::string &input, const std::string &blanks=" \n\t")
Definition: stringTools.cc:16
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
double split
Definition: MVATrainer.cc:139
def alignment.Alignment.__shorthandExists (   self,
  theRcdName,
  theShorthand 
)
private
Method which checks, if `theShorthand` is a valid shorthand for the
given `theRcdName`.

Arguments:
- `theRcdName`: String which specifies the database record.
- `theShorthand`: String which specifies the shorthand to check.

Definition at line 29 of file alignment.py.

References alignment.Alignment.condShorts.

Referenced by alignment.Alignment.__getConditions().

29 
30  def __shorthandExists(self, theRcdName, theShorthand):
31  """Method which checks, if `theShorthand` is a valid shorthand for the
32  given `theRcdName`.
33 
34  Arguments:
35  - `theRcdName`: String which specifies the database record.
36  - `theShorthand`: String which specifies the shorthand to check.
37  """
38 
39  if (theRcdName in self.condShorts) and \
40  (theShorthand in self.condShorts[theRcdName]):
41  return True
42  else:
43  return False
44 
def alignment.Alignment.__testDbExist (   self,
  dbpath 
)
private

Definition at line 95 of file alignment.py.

95 
96  def __testDbExist(self, dbpath):
97  #FIXME delete return to end train debuging
98  return
99  if not dbpath.startswith("sqlite_file:"):
100  print "WARNING: could not check existence for",dbpath
101  else:
102  if not os.path.exists( dbpath.split("sqlite_file:")[1] ):
103  raise "could not find file: '%s'"%dbpath.split("sqlite_file:")[1]
def alignment.Alignment.getConditions (   self)
This function creates the configuration snippet to override
   global tag conditions.

Definition at line 122 of file alignment.py.

References alignment.Alignment.conditions, and helperFunctions.replaceByMap().

123  def getConditions(self):
124  """This function creates the configuration snippet to override
125  global tag conditions.
126  """
127  if len( self.conditions ):
128  loadCond = ("\nimport CalibTracker.Configuration."
129  "Common.PoolDBESSource_cfi\n")
130  for cond in self.conditions:
131  if not cond["labelName"] == "":
132  temp = configTemplates.conditionsTemplate.replace(
133  "tag = cms.string('.oO[tagName]Oo.')",
134  ("tag = cms.string('.oO[tagName]Oo.'),"
135  "\nlabel = cms.untracked.string('.oO[labelName]Oo.')"))
136  else:
137  temp = configTemplates.conditionsTemplate
138  loadCond += replaceByMap( temp, cond )
139  else:
140  loadCond = ""
141  return loadCond
def replaceByMap
— Helpers —############################
def alignment.Alignment.getRepMap (   self)

Definition at line 112 of file alignment.py.

References alignment.Alignment.color, alignment.Alignment.globaltag, alignment.Alignment.name, MuonGeometrySanityCheckPoint.name, plotscripts.SawTeethFunction.name, alignment.Alignment.runGeomComp, and alignment.Alignment.style.

Referenced by trackSplittingValidation.TrackSplittingValidation.appendToExtendedValidation(), offlineValidation.OfflineValidation.appendToExtendedValidation(), offlineValidation.OfflineValidation.appendToMerge(), offlineValidation.OfflineValidationParallel.appendToMergeParJobs(), trackSplittingValidation.TrackSplittingValidation.createConfiguration(), monteCarloValidation.MonteCarloValidation.createConfiguration(), zMuMuValidation.ZMuMuValidation.createConfiguration(), offlineValidation.OfflineValidation.createConfiguration(), geometryComparison.GeometryComparison.createConfiguration(), offlineValidation.OfflineValidationParallel.createConfiguration(), genericValidation.GenericValidationData.createCrabCfg(), trackSplittingValidation.TrackSplittingValidation.createScript(), monteCarloValidation.MonteCarloValidation.createScript(), zMuMuValidation.ZMuMuValidation.createScript(), offlineValidation.OfflineValidation.createScript(), geometryComparison.GeometryComparison.createScript(), and offlineValidation.OfflineValidationParallel.createScript().

113  def getRepMap( self ):
114  result = {
115  "name": self.name,
116  "color": self.color,
117  "style": self.style,
118  "runGeomComp": self.runGeomComp,
119  "GlobalTag": self.globaltag
120  }
121  return result
def alignment.Alignment.restrictTo (   self,
  restriction 
)

Definition at line 104 of file alignment.py.

References alignment.Alignment.mode, and svgfig.Poly.mode.

105  def restrictTo( self, restriction ):
106  result = []
107  if not restriction == None:
108  for mode in self.mode:
109  if mode in restriction:
110  result.append( mode )
111  self.mode = result

Member Data Documentation

alignment.Alignment.color

Definition at line 25 of file alignment.py.

Referenced by alignment.Alignment.getRepMap().

alignment.Alignment.conditions

Definition at line 24 of file alignment.py.

Referenced by alignment.Alignment.getConditions().

alignment.Alignment.condShorts

Definition at line 8 of file alignment.py.

Referenced by alignment.Alignment.__getConditions(), and alignment.Alignment.__shorthandExists().

alignment.Alignment.globaltag

Definition at line 23 of file alignment.py.

Referenced by alignment.Alignment.getRepMap().

alignment.Alignment.mode

Definition at line 110 of file alignment.py.

Referenced by alignment.Alignment.restrictTo().

alignment.Alignment.name

Definition at line 21 of file alignment.py.

Referenced by dirstructure.Directory.__create_pie_image(), dqm_interfaces.DirID.__eq__(), BeautifulSoup.Tag.__eq__(), dirstructure.Directory.__get_full_path(), dirstructure.Comparison.__get_img_name(), dataset.Dataset.__getDataType(), dataset.Dataset.__getFileInfoList(), offlineValidation.OfflineValidationParallel.__init__(), genericValidation.GenericValidationData.__init__(), dirstructure.Comparison.__make_image(), dirstructure.Directory.__repr__(), dqm_interfaces.DirID.__repr__(), dirstructure.Comparison.__repr__(), BeautifulSoup.Tag.__str__(), BeautifulSoup.SoupStrainer.__str__(), offlineValidation.OfflineValidationParallel.appendToMergeParJobs(), dirstructure.Directory.calcStats(), trackSplittingValidation.TrackSplittingValidation.createConfiguration(), monteCarloValidation.MonteCarloValidation.createConfiguration(), zMuMuValidation.ZMuMuValidation.createConfiguration(), offlineValidation.OfflineValidation.createConfiguration(), offlineValidation.OfflineValidationParallel.createConfiguration(), genericValidation.GenericValidationData.createCrabCfg(), trackSplittingValidation.TrackSplittingValidation.createScript(), monteCarloValidation.MonteCarloValidation.createScript(), zMuMuValidation.ZMuMuValidation.createScript(), offlineValidation.OfflineValidation.createScript(), geometryComparison.GeometryComparison.createScript(), offlineValidation.OfflineValidationParallel.createScript(), python.rootplot.utilities.Hist.divide(), python.rootplot.utilities.Hist.divide_wilson(), TreeCrawler.Package.dump(), utils.StatisticalTest.get_status(), trackSplittingValidation.TrackSplittingValidation.getRepMap(), monteCarloValidation.MonteCarloValidation.getRepMap(), offlineValidation.OfflineValidation.getRepMap(), alignment.Alignment.getRepMap(), offlineValidation.OfflineValidationParallel.getRepMap(), dirstructure.Directory.print_report(), BeautifulSoup.SoupStrainer.searchTag(), python.rootplot.utilities.Hist.TGraph(), python.rootplot.utilities.Hist.TH1F(), and Vispa.Views.PropertyView.Property.valueChanged().

alignment.Alignment.runGeomComp

Definition at line 22 of file alignment.py.

Referenced by alignment.Alignment.getRepMap().

alignment.Alignment.style

Definition at line 26 of file alignment.py.

Referenced by alignment.Alignment.getRepMap(), and Formatter.SimpleHTMLFormatter.headers().