CMS 3D CMS Logo

Functions | Variables
parseEventContent Namespace Reference

Functions

def getTxtEventContentRules ()
 
def List_ECs_forProduct (product)
 
def product_in_EventContent (rules, product)
 
def rule_passes (rule_regexp, product_repr)
 
def rule_to_regexp (rule)
 

Variables

 EventContents
 
 EventContents_def
 
 process
 
 prod
 
 rules_regexp
 
 rules_txt
 

Function Documentation

def parseEventContent.getTxtEventContentRules ( )
returns a dictionary of lists with rules 

Definition at line 141 of file parseEventContent.py.

142  #TODO: We should where to assign products to Event-Content, on harvesting or on importing part
143  """ returns a dictionary of lists with rules """
144  txt_rules = {}
145  for (ec_name, ec) in EventContents.items():
146  txt_rules[ec_name] = ec["text_rules"]
147  return txt_rules
148 
149 #a test
def parseEventContent.List_ECs_forProduct (   product)
returns a list of EC titles the product belongs to 

Definition at line 133 of file parseEventContent.py.

References product_in_EventContent().

Referenced by cmsPerfSuiteHarvest._eventContent_DEBUG(), and cmsPerfSuiteHarvest.assign_event_content_for_product().

133 def List_ECs_forProduct(product):
134  """ returns a list of EC titles the product belongs to """
135  EC_list = []
136  for (ec_name, ec) in EventContents.items():
137  if product_in_EventContent(ec["rules_regexp"], product):
138  EC_list.append(ec_name)
139  return EC_list
140 
def product_in_EventContent(rules, product)
def List_ECs_forProduct(product)
def parseEventContent.product_in_EventContent (   rules,
  product 
)
products are in format {"cpp_type": cpp_type, "module_name": mod_name, "module_label": mod_label,
    "size_uncompressed": size_uncomp, "size_compressed": size_comp}  
--- Some simple doctests ---

>>> product_in_EventContent(rules = rule_to_regexp(['drop *', 'keep *_logErrorHarvester_*_*', 'keep *_hybridSuperClusters_*_*', 'keep recoSuperClusters_correctedHybridSuperClusters_*_*']), product = {'module_name': 'hybridSuperClusters', 'module_label': 'hybridShapeAssoc', 'size_compressed': '65.4852', 'cpp_type': 'recoCaloClustersToOnerecoClusterShapesAssociation', 'size_uncompressed': '272.111'})
True

>>> product_in_EventContent(rules = rule_to_regexp(['drop *', 'keep *_logErrorHarvester_*_*', 'keep DetIdedmEDCollection_siStripDigis_*_*', 'keep *_siPixelClusters_*_*', 'keep *_siStripClusters_*_*']), product = {'module_name': 'hybridSuperClusters', 'module_label': 'hybridShapeAssoc', 'size_compressed': '65.4852', 'cpp_type': 'recoCaloClustersToOnerecoClusterShapesAssociation', 'size_uncompressed': '272.111'})
False

Definition at line 91 of file parseEventContent.py.

References rule_passes().

Referenced by List_ECs_forProduct().

91 def product_in_EventContent(rules, product):
92  """
93  products are in format {"cpp_type": cpp_type, "module_name": mod_name, "module_label": mod_label,
94  "size_uncompressed": size_uncomp, "size_compressed": size_comp}
95  --- Some simple doctests ---
96 
97  >>> product_in_EventContent(rules = rule_to_regexp(['drop *', 'keep *_logErrorHarvester_*_*', 'keep *_hybridSuperClusters_*_*', 'keep recoSuperClusters_correctedHybridSuperClusters_*_*']), product = {'module_name': 'hybridSuperClusters', 'module_label': 'hybridShapeAssoc', 'size_compressed': '65.4852', 'cpp_type': 'recoCaloClustersToOnerecoClusterShapesAssociation', 'size_uncompressed': '272.111'})
98  True
99 
100  >>> product_in_EventContent(rules = rule_to_regexp(['drop *', 'keep *_logErrorHarvester_*_*', 'keep DetIdedmEDCollection_siStripDigis_*_*', 'keep *_siPixelClusters_*_*', 'keep *_siStripClusters_*_*']), product = {'module_name': 'hybridSuperClusters', 'module_label': 'hybridShapeAssoc', 'size_compressed': '65.4852', 'cpp_type': 'recoCaloClustersToOnerecoClusterShapesAssociation', 'size_uncompressed': '272.111'})
101  False
102 
103  """
104 
105 
106  product_repr = "%(cpp_type)s_%(module_name)s_%(module_label)s" % product
107  result = "keep"
108 
109  """ rule is in format:
110  > keep *_nuclearInteractionMaker_*_*
111  > keep *_horeco_*_*
112  > drop *
113  """
114  for (rule_name, rule_regexp) in rules:
115 
116  if rule_passes(rule_regexp, product_repr):
117  result = rule_name
118  return result == "keep"
119 
120 
121 #initialize
def product_in_EventContent(rules, product)
def rule_passes(rule_regexp, product_repr)
def parseEventContent.rule_passes (   rule_regexp,
  product_repr 
)
    rule: rule(keep, drop)_A_B_C_D
    product: A_B_C

Definition at line 61 of file parseEventContent.py.

Referenced by product_in_EventContent().

61 def rule_passes(rule_regexp, product_repr):
62  """
63  rule: rule(keep, drop)_A_B_C_D
64  product: A_B_C
65  """
66  #we have altered the rules to have "*" as the 4th parameter (if split by _)
67  # so all the D's will pass
68  return rule_regexp.match(product_repr+"_")
69 
def rule_passes(rule_regexp, product_repr)
def parseEventContent.rule_to_regexp (   rule)
returns a tuple (rule_name, rule_regexp) e.g. ("keep", <regexp for matching product names>  

Definition at line 70 of file parseEventContent.py.

References join().

70 def rule_to_regexp(rule):
71  """ returns a tuple (rule_name, rule_regexp) e.g. ("keep", <regexp for matching product names> """
72  #this part might be moved out and regular expression cached
73  (rule_name, rule_test) = rule.split()
74 
75  # we create a regexp out of rule
76 
77  #we ignore the 4th rule:
78  rule_parts =rule_test.split("_")
79  if len(rule_parts) == 4 :
80  # we replace the last one to asterix
81  rule_parts[3] = "*"
82  rule_test = "_".join(rule_parts)
83 
84  # make a regexp
85  rule_test = rule_test.replace("*", ".*")
86 
87  rule_regexp = re.compile("^"+rule_test+"$")
88 
89  return (rule_name, rule_regexp)
90 
static std::string join(char **cmd)
Definition: RemoteFile.cc:18

Variable Documentation

parseEventContent.EventContents

Definition at line 122 of file parseEventContent.py.

parseEventContent.EventContents_def

Definition at line 17 of file parseEventContent.py.

parseEventContent.process

Definition at line 8 of file parseEventContent.py.

parseEventContent.prod

Definition at line 153 of file parseEventContent.py.

Referenced by edm::Principal.adjustIndexesAfterProductRegistryAddition(), edm::Principal.adjustToNewProductRegistry(), TestPythiaDecays.analyze(), edm::PoolOutputModule.beginJob(), edm::Principal.clearPrincipal(), BareRootProductGetter.createNewBuffer(), edm::RootFile.dropOnInput(), edm::EventPrincipal.fillEventPrincipal(), edm::LuminosityBlockPrincipal.fillLuminosityBlockPrincipal(), edm::RunPrincipal.fillRunPrincipal(), edm::PoolOutputModule.fillSelectedItemList(), edm::ProvenanceAdaptor.fixProcessHistory(), fwlite::LuminosityBlockBase.getByLabelImpl(), fwlite::RunBase.getByLabelImpl(), fwlite::EventBase.getByLabelImpl(), edm::Ptr< PileUpPFCandidate >.getData_(), BareRootProductGetter.getIt(), edm::refitem::GetRefPtrImpl< C, T, F, KEY >.getRefPtr_(), edm::refitem::GetRefPtrImpl< C, T, F, unsigned int >.getRefPtr_(), edm::root::FWLiteDelayedReader.getTheProduct(), TrackProducer.getTransient(), TrackProducerWithSCAssociation.getTransient(), edm::Principal.isComplete_(), MLP_Epoch(), edm::RefToBaseProd< T >.operator->(), edm::Principal.Principal(), SeedingLayersEDProducer.produce(), ValidHitPairFilterProducer.produce(), PixelTrackFilterByKinematicsProducer.produce(), CaloTowersReCreator.produce(), ClusterShapeTrackFilterProducer.produce(), HIPixelTrackFilterProducer.produce(), CaloTowersCreator.produce(), ConeIsolation.produce(), TrackFitterProducer.produce(), KFBasedPixelFitterProducer.produce(), PixelFitterByHelixProjectionsProducer.produce(), HcalHistogramRawToDigi.produce(), HIProtoTrackFilterProducer.produce(), ParticleTowerProducer.produce(), HcalRawToDigi.produce(), ImpactParameter.produce(), CastorRawToDigi.produce(), EcalElectronicsMappingBuilder.produce(), EcalTrigTowerConstituentsMapBuilder.produce(), PixelFitterByConformalMappingAndLineProducer.produce(), CaloTowerConstituentsMapBuilder.produce(), TrackMCQuality.produce(), MuMuForEmbeddingSelector.produce(), EcalTrigPrimESProducer.produceBadStrip(), EcalTrigPrimESProducer.produceBadTT(), EcalTrigPrimESProducer.produceBadX(), EcalTrigPrimESProducer.produceFineGrainEB(), EcalTrigPrimESProducer.produceFineGrainEBGroup(), EcalTrigPrimESProducer.produceFineGrainEEstrip(), EcalTrigPrimESProducer.produceFineGrainEEtower(), EcalTrigPrimESProducer.produceLinearizationConst(), EcalTrigPrimESProducer.produceLUT(), EcalTrigPrimESProducer.produceLutGroup(), EcalTrigPrimESProducer.producePedestals(), EcalTrigPrimESProducer.producePhysicsConst(), EcalTrigPrimESProducer.produceSlidingWindow(), EcalTrigPrimSpikeESProducer.produceSpike(), EcalTrigPrimESProducer.produceSpike(), EcalTrigPrimESProducer.produceWeight(), EcalTrigPrimESProducer.produceWeightGroup(), edm::AliasProductResolver.productWasFetchedAndIsValid_(), edm::ParentProcessProductResolver.productWasFetchedAndIsValid_(), edm::Event.put(), edm::Principal.readAllFromSourceAndMergeImmediately(), edm::Principal.recombine(), edm::Principal.resetFailedFromThisProcess(), edm::RootFile.RootFile(), edm::ScheduleItems.ScheduleItems(), edm::DataManagingProductResolver.setFailedStatus(), HGCalTriggerBackendAlgorithmBase.setGeometry(), edm::StreamerOutputModuleBase.setHltMask(), edm::WorkerManager.setOnDemandProducts(), RandomClusterAlgo.setProduces(), FullModuleSumAlgo< FECODEC, DATA >.setProduces(), SingleCellClusterAlgo< FECODEC, DATA >.setProduces(), HGCClusterAlgo< FECODEC, DATA >.setProduces(), HGCalTriggerBackend::HGCalTriggerSimCluster< FECODEC, DATA >.setProduces(), gen::TauolappInterface.setRandomEngine(), TFWLiteSelectorBasic.setupNewFile(), IPTools.signedImpactParameter3D(), IPTools.signedTransverseImpactParameter(), edm::SingleChoiceNoProcessProductResolver.SingleChoiceNoProcessProductResolver(), edm::Principal.size(), TestPythiaDecays.TestPythiaDecays(), TrackListCombiner.TrackListCombiner(), edm::SubProcessParentageHelper.update(), KinematicConstrainedVertexUpdatorT< nTrk, nConstraint >.update(), fwlite::internal::BranchMapReaderStrategyV8.updateFile(), fwlite::internal::BranchMapReaderStrategyV11.updateFile(), fwlite::internal::BranchMapReaderStrategyV17.updateFile(), fwlite::internal::BranchMapReaderStrategyV1.updateMap(), and edm::RootOutputFile.writeProductDescriptionRegistry().

parseEventContent.rules_regexp

Definition at line 128 of file parseEventContent.py.

parseEventContent.rules_txt

Definition at line 125 of file parseEventContent.py.