CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Functions | Variables
ConfigBuilder Namespace Reference

Classes

class  ConfigBuilder
 
class  Options
 

Functions

def anyOf
 
def dumpPython
 
def filesFromDASQuery
 
def filesFromList
 
def MassReplaceInputTag
 

Variables

string __source__ = "$Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v $"
 
string __version__ = "$Revision: 1.19 $"
 
tuple defaultOptions = Options()
 

Function Documentation

def ConfigBuilder.anyOf (   listOfKeys,
  dict,
  opt = None 
)

Definition at line 180 of file ConfigBuilder.py.

References join().

181 def anyOf(listOfKeys,dict,opt=None):
182  for k in listOfKeys:
183  if k in dict:
184  toReturn=dict[k]
185  dict.pop(k)
186  return toReturn
187  if opt!=None:
188  return opt
189  else:
190  raise Exception("any of "+','.join(listOfKeys)+" are mandatory entries of --output options")
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def ConfigBuilder.dumpPython (   process,
  name 
)

Definition at line 83 of file ConfigBuilder.py.

Referenced by EnablePSetHistory.new_recurseDumpModifications_(), and SequenceTypes.TestModuleCommand.testCopyAndExclude().

83 
84 def dumpPython(process,name):
85  theObject = getattr(process,name)
86  if isinstance(theObject,cms.Path) or isinstance(theObject,cms.EndPath) or isinstance(theObject,cms.Sequence):
87  return "process."+name+" = " + theObject.dumpPython("process")
88  elif isinstance(theObject,_Module) or isinstance(theObject,cms.ESProducer):
89  return "process."+name+" = " + theObject.dumpPython()+"\n"
90  else:
return "process."+name+" = " + theObject.dumpPython()+"\n"
def ConfigBuilder.filesFromDASQuery (   query,
  option = "",
  s = None 
)

Definition at line 125 of file ConfigBuilder.py.

References split.

Referenced by ConfigBuilder.ConfigBuilder.filesFromOption(), and ConfigBuilder.ConfigBuilder.prepare_DATAMIX().

126 def filesFromDASQuery(query,option="",s=None):
127  import os,time
128  import FWCore.ParameterSet.Config as cms
129  prim=[]
130  sec=[]
131  print "the query is",query
132  eC=5
133  count=0
134  while eC!=0 and count<3:
135  if count!=0:
136  print 'Sleeping, then retrying DAS'
137  time.sleep(100)
138  p = Popen('das_client %s --query "%s"'%(option,query), stdout=PIPE,shell=True)
139  pipe=p.stdout.read()
140  tupleP = os.waitpid(p.pid, 0)
141  eC=tupleP[1]
142  count=count+1
143  if eC==0:
144  print "DAS succeeded after",count,"attempts",eC
145  else:
146  print "DAS failed 3 times- I give up"
147  for line in pipe.split('\n'):
148  if line.count(".root")>=2:
149  #two files solution...
150  entries=line.replace("\n","").split()
151  if not entries[0] in prim:
152  prim.append(entries[0])
153  if not entries[1] in sec:
154  sec.append(entries[1])
155  elif (line.find(".root")!=-1):
156  entry=line.replace("\n","")
157  if not entry in prim:
158  prim.append(entry)
159  if s:
160  if not hasattr(s,"fileNames"):
161  s.fileNames=cms.untracked.vstring(prim)
162  else:
163  s.fileNames.extend(prim)
164  if len(sec)!=0:
165  if not hasattr(s,"secondaryFileNames"):
166  s.secondaryFileNames=cms.untracked.vstring(sec)
167  else:
168  s.secondaryFileNames.extend(sec)
169  print "found files: ",prim
170  if len(sec)!=0:
171  print "found parent files:",sec
172  return (prim,sec)
double split
Definition: MVATrainer.cc:139
def ConfigBuilder.filesFromList (   fileName,
  s = None 
)

Definition at line 91 of file ConfigBuilder.py.

References split.

Referenced by ConfigBuilder.ConfigBuilder.filesFromOption(), and ConfigBuilder.ConfigBuilder.prepare_DATAMIX().

91 
92 def filesFromList(fileName,s=None):
93  import os
94  import FWCore.ParameterSet.Config as cms
95  prim=[]
96  sec=[]
97  for line in open(fileName,'r'):
98  if line.count(".root")>=2:
99  #two files solution...
100  entries=line.replace("\n","").split()
101  if not entries[0] in prim:
102  prim.append(entries[0])
103  if not entries[1] in sec:
104  sec.append(entries[1])
105  elif (line.find(".root")!=-1):
106  entry=line.replace("\n","")
107  if not entry in prim:
108  prim.append(entry)
109  if s:
110  if not hasattr(s,"fileNames"):
111  s.fileNames=cms.untracked.vstring(prim)
112  else:
113  s.fileNames.extend(prim)
114  if len(sec)!=0:
115  if not hasattr(s,"secondaryFileNames"):
116  s.secondaryFileNames=cms.untracked.vstring(sec)
117  else:
118  s.secondaryFileNames.extend(sec)
119  print "found files: ",prim
120  if len(prim)==0:
121  raise Exception("There are not files in input from the file list")
122  if len(sec)!=0:
123  print "found parent files:",sec
124  return (prim,sec)
double split
Definition: MVATrainer.cc:139
def ConfigBuilder.MassReplaceInputTag (   aProcess,
  oldT = "rawDataCollector",
  newT = "rawDataRepacker" 
)

Definition at line 173 of file ConfigBuilder.py.

References relativeConstraints.keys, and helpers.massSearchReplaceAnyInputTag().

Referenced by customizeHLTforALL.customizeHLTforAll(), and customizeHLTforMC.customizeHLTforMC().

174 def MassReplaceInputTag(aProcess,oldT="rawDataCollector",newT="rawDataRepacker"):
175  from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag
176  for s in aProcess.paths_().keys():
177  massSearchReplaceAnyInputTag(getattr(aProcess,s),oldT,newT)
178  for s in aProcess.endpaths_().keys():
179  massSearchReplaceAnyInputTag(getattr(aProcess,s),oldT,newT)
def massSearchReplaceAnyInputTag
Definition: helpers.py:271

Variable Documentation

string ConfigBuilder.__source__ = "$Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v $"

Definition at line 4 of file ConfigBuilder.py.

string ConfigBuilder.__version__ = "$Revision: 1.19 $"

Definition at line 3 of file ConfigBuilder.py.

tuple ConfigBuilder.defaultOptions = Options()

Definition at line 17 of file ConfigBuilder.py.