CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Attributes
JSONExport.JsonExport Class Reference
Inheritance diagram for JSONExport.JsonExport:

Public Member Functions

def __init__
 
def export
 
def produce
 

Static Public Attributes

tuple file_types = ('html','json')
 
dictionary option_types = {}
 
string plugin_name = 'JSON Export'
 

Detailed Description

Definition at line 15 of file JSONExport.py.

Constructor & Destructor Documentation

def JSONExport.JsonExport.__init__ (   self)

Definition at line 19 of file JSONExport.py.

19 
20  def __init__(self):
21  FileExportPlugin.__init__(self)

Member Function Documentation

def JSONExport.JsonExport.export (   self,
  data,
  filename,
  filetype 
)

Definition at line 136 of file JSONExport.py.

References DimuonMCMatcher.produce(), cond::EmptyIOVSource.produce(), WeakEffectsWeightProducer.produce(), ShallowExampleProducer.produce(), ShallowEventDataProducer.produce(), FastStripCPEESProducer.produce(), MagneticFieldMapESProducer.produce(), PixelToFEDAssociateFromAsciiESProducer.produce(), DoubleProducer.produce(), FastPixelCPEESProducer.produce(), ShallowTracksProducer.produce(), PixelToLNKAssociateFromAsciiESProducer.produce(), TrackerInteractionGeometryESProducer.produce(), ShallowRechitClustersProducer.produce(), RazorVarProducer.produce(), ShallowTrackClustersProducer.produce(), DistortedMETProducer.produce(), SiPixelFedCablingMapBuilder.produce(), ShallowSimhitClustersProducer.produce(), AlphaTVarProducer.produce(), DistortedPFCandProducer.produce(), MuonWithPFIsoProducer.produce(), sistrip::MeasureLA.produce(), reco::modules::CaloRecHitCandidateProducer< HitCollection >.produce(), SiPixelFakeCPEGenericErrorParmESSource.produce(), ElectronSqPtTkIsolationProducer.produce(), MFProducer.produce(), DistortedMuonProducer.produce(), DistortedMuonProducerFromDB.produce(), DTDigiToRawModule.produce(), ParticleDecayProducer.produce(), evf::EvFFEDSelector.produce(), ShallowClustersProducer.produce(), SiPixelFakeTemplateDBObjectESSource.produce(), EventVtxInfoNtupleDumper.produce(), ESRawToDigi.produce(), RawDataCollectorModule.produce(), JSONExport.JsonExport.produce(), PathTimerInserter.produce(), ShallowSimTracksProducer.produce(), RegressionEnergyPatElectronProducer.produce(), DummyModule.produce(), FSPFProducer.produce(), DiJetVarProducer.produce(), CandViewRefMerger.produce(), AssociationMapOneToOne2Association< CKey, CVal >.produce(), CastorFastClusterProducer.produce(), CastorFastTowerProducer.produce(), AssociationVectorSelector< KeyRefProd, CVal, KeySelector, ValSelector >.produce(), CalibratedPatElectronProducer.produce(), RawDataCollectorByLabel.produce(), FamosProducer.produce(), AssociationVector2ValueMap< KeyRefProd, CVal >.produce(), SiStripFedCablingESProducer.produce(), SiStripGainESSource.produce(), SiStripHashedDetIdESProducer.produce(), CSCDigiToRawModule.produce(), HcalCalibFEDSelector.produce(), CastorDbProducer.produce(), CollectionAdder< C >.produce(), RPCPerformanceESSource.produce(), SiStripNoiseESSource.produce(), SiStripPedestalsESSource.produce(), ISRGammaWeightProducer.produce(), SiStripDelayESProducer.produce(), SiStripQualityESProducer.produce(), EcalLaserCorrectionService.produce(), CaloRecHitCopy.produce(), FSRWeightProducer.produce(), ISRWeightProducer.produce(), PdfWeightProducer.produce(), SiStripLorentzAngleDepESProducer.produce(), DTUnpackingModule.produce(), ESDigiToRaw.produce(), PixelTracksProducer.produce(), FWRecoGeometryESProducer.produce(), CSCDCCUnpacker.produce(), CSCTFPacker.produce(), FastTrackMerger.produce(), NtpProducer< C >.produce(), FastTSGFromL2Muon.produce(), SiStripTemplateEmptyFakeESSource< TObject, TRecord >.produce(), IPTCorrector.produce(), AlignmentPrescaler.produce(), CalibratedElectronProducer.produce(), TrackInfoProducer.produce(), SiStripTemplateFakeESSource< TObject, TRecord, TService >.produce(), CastorHardcodeCalibrations.produce(), SiStripProcessedRawDigiProducer.produce(), CandReducer.produce(), LmfSource.produce(), SiPixelTemplateDBObjectESProducer.produce(), ElectronRecalibSuperClusterAssociator.produce(), ZMuMuTrackUserData.produce(), SiStripGainESProducerTemplate< TDependentRecord, TInputRecord >.produce(), CastorDigiToRaw.produce(), HcalDigiToRaw.produce(), HcalHistogramRawToDigi.produce(), RPCUnpackingModule.produce(), SiPixelFedFillerWordEventNumber.produce(), TriggerMatchProducer< object >.produce(), CaloRecHitsProducer.produce(), ElectronPATIdMVAProducer.produce(), ZMuMuMuonUserData.produce(), SiStripQualityFakeESSource.produce(), reco::modulesNew::Matcher< C1, C2, S, D >.produce(), CloneProducer< C >.produce(), ShallowCloneProducer< C >.produce(), PFCandIsolatorFromDeposits.produce(), HcalRawToDigi.produce(), RawDataSelector.produce(), sistrip::DigiToRawModule.produce(), reco::modules::MatcherBase< C1, C2, M >.produce(), DTFakeVDriftESProducer.produce(), ShallowDigisProducer.produce(), DTFakeTTrigESProducer.produce(), CastorRawToDigi.produce(), CSCTFUnpacker.produce(), RPCPackingModule.produce(), sistrip::ExcludedFEDListProducer.produce(), sistrip::RawToDigiModule.produce(), PileUpProducer.produce(), FWTGeoRecoGeometryESProducer.produce(), ZMuMuUserDataOneTrack.produce(), ZMuMuUserData.produce(), IsolatedPixelTrackCandidateProducer.produce(), AlcaBeamSpotFromDB.produce(), TrackingRecHitTranslator.produce(), PiZeroDiscriminatorProducer.produce(), EcalRawToRecHitByproductProducer.produce(), EcalDCCTBUnpackingModule.produce(), CandidateTriggerObjectProducer.produce(), CastorTextCalibrations.produce(), AlcaBeamSpotProducer.produce(), SiPixelDigiToRaw.produce(), sistrip::RawToClusters.produce(), EventCountProducer.produce(), EcalDCCTB07UnpackingModule.produce(), L1GctInternJetProducer.produce(), SubdetFEDSelector.produce(), LaserAlignmentSource.produce(), TrajectorySeedProducer.produce(), DTTFFEDSim.produce(), PFMET.produce(), Type1PFMET.produce(), SiStripRegFEDSelector.produce(), SiPixelRawToDigi.produce(), pf2pat::PFMETAlgo.produce(), EcalIsolatedParticleCandidateProducer.produce(), HcalOmdsCalibrations.produce(), TrackCandidateProducer.produce(), Merger< InputCollection, OutputCollection, P >.produce(), SiStripFineDelayHit.produce(), sistrip::SpyEventSummaryProducer.produce(), WMuNuProducer.produce(), edm::TriggerResultInserter.produce(), HcalDbProducer.produce(), DTTFFEDReader.produce(), EcalGlobalShowerContainmentCorrectionsVsEtaESProducer.produce(), MatchedProbeMaker< T >.produce(), AlCaGammaJetProducer.produce(), EcalRegionCablingESProducer.produce(), EcalShowerContainmentCorrectionsESProducer.produce(), PFPileUp.produce(), TkAlCaOverlapTagger.produce(), LaserAlignmentT0Producer.produce(), DTFakeT0ESProducer.produce(), TagProbeMassProducer.produce(), sistrip::SpyDigiConverterModule.produce(), SiClusterTranslator.produce(), L1TriggerKeyListDummyProd.produce(), SiStripRawToClustersRoI.produce(), ECALRegFEDSelector.produce(), AlCaEcalHcalReadoutsProducer.produce(), AlCaHcalNoiseProducer.produce(), ZToLLEdmNtupleDumper.produce(), FastElectronSeedProducer.produce(), L1TriggerKeyDummyProd.produce(), pf2pat::PFIsoDepositAlgo.produce(), ScalersRawToDigi.produce(), PileUpSimulator.produce(), ESUnpackerWorkerESProducer.produce(), SiPixelFakeGainOfflineESSource.produce(), SiPixelFakeQualityESSource.produce(), L1TriggerKeyOnlineProd.produce(), SiPixelFakeGainESSource.produce(), SiPixelFakeGainForHLTESSource.produce(), SiPixelFakeLorentzAngleESSource.produce(), cms::AlCaDiJetsProducer.produce(), FastL1CaloSim.produce(), L1SubsystemKeysOnlineProd.produce(), cms::HitReCalibrator.produce(), KalmanAlignmentAlgorithm.produce(), PFCand_AssoMap.produce(), HBHENoiseFilterResultProducer.produce(), EcalRecHitRecalib.produce(), L1ObjectKeysOnlineProdBase.produce(), HcalHardcodeCalibrations.produce(), SiPixelQualityESProducer.produce(), EventWithHistoryProducer.produce(), PF_PU_FirstVertexTracks.produce(), EcalRawToRecHitRoI.produce(), MisalignedTrackerESProducer.produce(), HcalRecHitRecalib.produce(), HcalTextCalibrations.produce(), CaloTPGTranscoderULUTs.produce(), LTCRawToDigi.produce(), FromClusterSummaryMultiplicityProducer.produce(), PF_PU_AssoMap.produce(), GctDigiToRaw.produce(), HcalTPGCoderULUT.produce(), EcalUnpackerWorkerESProducer.produce(), HITSiStripRawToClustersRoI.produce(), edm::ConfigurableInputSource.produce(), EventWithHistoryProducerFromL1ABC.produce(), pf2pat::TopProjectorAlgo< Top, Bottom >.produce(), ErrorStreamSource.produce(), L1GlobalTriggerRecordProducer.produce(), TopProjector< Top, Bottom >.produce(), ConfigurableAPVCyclePhaseProducer.produce(), EcalRawToDigi.produce(), EcalFEDWithCRCErrorProducer.produce(), HLTTauRefProducer.produce(), MuonMillepedeTrackRefitter.produce(), MisalignedMuonESProducer.produce(), EcalDigiToRaw.produce(), GctRawToDigi.produce(), AlCaIsoTracksProducer.produce(), MultiplicityProducer< T >.produce(), CaloMiscalibToolsMC.produce(), CaloMiscalibTools.produce(), ConditionDumperInEdm.produce(), L1ConfigOnlineProdBase< TRcd, TData >.produce(), EcalRawToRecHitFacility.produce(), SiTrackerGaussianSmearingRecHitConverter.produce(), AlCaECALRecHitReducer.produce(), reco::modules::TrackFullCloneSelectorBase< Selector >.produce(), L1GTEvmDigiToRaw.produce(), PFCand_NoPU_WithAM.produce(), L1GlobalTriggerEvmRawToDigi.produce(), AlignmentMuonHIPTrajectorySelector.produce(), L1GtTextToRaw.produce(), KalmanAlignmentTrackRefitter.produce(), L1GTDigiToRaw.produce(), sistrip::SpyUnpackerModule.produce(), TGeoMgrFromDdd.produce(), APVCyclePhaseProducerFromL1TS.produce(), L1GtTriggerMenuLiteProducer.produce(), edm::EDProducer.produce(), APVCyclePhaseProducerFromL1ABC.produce(), EcalRawToRecHitProducer.produce(), MEtoEDMConverter.produce(), SiPixelCalibDigiProducer.produce(), L1GlobalTriggerRawToDigi.produce(), sistrip::FEDEmulatorModule.produce(), Pi0FixedMassWindowCalibration.produce(), TrackerToMuonPropagator.produce(), CSCOverlapsTrackPreparation.produce(), ShallowGainCalibration.produce(), reco::PhysObjectMatcher< C1, C2, S, D, Q >.produce(), TkLasBeamFitter.produce(), MuonSimHitProducer.produce(), ZeeCalibration.produce(), CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >.produce(), LaserAlignment.produce(), reco::modules::NamedCandCombiner< Selector, PairSelector, Cloner, Setup, Init >.produce(), MatacqProducer.produce(), reco::modules::CandCombiner< Selector, PairSelector, Cloner, OutputCollection, Setup, Init >.produce(), AlCaHOCalibProducer.produce(), HTMLExport.HTMLExport.produce(), and HTMLExport.HTMLExportStatic.produce().

137  def export(self,data,filename,filetype):
138  if not data.process():
139  raise "JSONExport requires a cms.Process object"
140 
141  json = self.produce(data)
142 
143  if filetype=='json':
144  jsonfile = open(filename,'w')
145  jsonfile.write(json)
146  jsonfile.close()
147  if filetype=='html':
148  #open the HTML template and inject the JSON...
149  pass
150 
def JSONExport.JsonExport.produce (   self,
  data 
)

Definition at line 22 of file JSONExport.py.

Referenced by JSONExport.JsonExport.export().

22 
23  def produce(self,data):
24 
25  #pset = lambda pdict: [[k,repr(v).split('(',1)[0],(repr(v).split('(',1)[1][:-1])] for k,v in pdict.items()]
26  def pset(pdict):
27  result = []
28  for k,v in pdict.items():
29  if v.pythonTypeName()=='cms.PSet' or v.pythonTypeName()=='cms.untracked.PSet':
30  result.append([k,v.pythonTypeName(),'pset',pset(v.parameters_())])
31  elif v.pythonTypeName()=='cms.VPSet' or v.pythonTypeName()=='cms.untracked.VPSet':
32  result.append([k,v.pythonTypeName(),'vpset',[pset(a.parameters_()) for a in v]])
33  elif v.pythonTypeName().lower().startswith('cms.v') or v.pythonTypeName().lower().startswith('cms.untracked.v'):
34  result.append([k,v.pythonTypeName(),'list',[repr(a) for a in v]])
35  else:
36  result.append([k,v.pythonTypeName(),'single',repr(v.pythonValue())])
37  return result
38 
39  #allObjects = [d for d in data._allObjects if (data.type(d) in ("EDProducer","EDFilter","EDAnalyzer","OutputModule"))]
40  #data.readConnections(allObjects)
41 
42  def moduledict(mod,prefix,links=False):
43  result={}
44  result['label']=data.label(mod)
45  result['class']=data.classname(mod)
46  result['file']=data.pypath(mod)
47  result['line']=data.lineNumber(mod)
48  result['package']=data.pypackage(mod)
49  result['pset']=pset(mod.parameters_())
50  result['type']=data.type(mod)
51  if links:
52  result['uses']=[data.uses(mod)]
53  result['usedby']=[data.usedBy(mod)]
54  result['id']='%s_%s'%(prefix,data.label(mod))
55  return result
56 
57  all={}
58  for tlo in data.topLevelObjects():
59  children=data.children(tlo)
60  if children:
61  all[tlo._label]=children
62 
63  process = {'name':data.process().name_(),'src':data._filename}
64 
65  #now unavailable
66  #schedule = []
67  #if 'Schedule' in all:
68  # for s in all['Schedule']:
69  # schedule.append(data.label(s))
70 
71  source={}
72  if 'source' in all:
73  s = all['source'][0]
74  source['class']=data.classname(s)
75  source['pset']=pset(s.parameters_())
76 
77  essources=[]
78  if 'essources' in all:
79  for e in all['essources']:
80  essources.append(moduledict(e,'essource'))
81  esproducers=[]
82  if 'esproducers' in all:
83  for e in all['esproducers']:
84  essources.append(moduledict(e,'esproducer'))
85  esprefers=[]
86  if 'esprefers' in all:
87  for e in all['esprefers']:
88  essources.append(moduledict(e,'esprefers'))
89  services=[]
90  if 'services' in all:
91  for s in all['services']:
92  services.append({'class':data.classname(s),'pset':pset(s.parameters_())})
93 
94 
95  def jsonPathRecursive(p,prefix):
96  #print "At:",self.label(p),self.type(p)
97  children = data.children(p)
98  if children:
99  children = [jsonPathRecursive(c,prefix) for c in children]
100  return {'type':'Sequence','label':'Sequence %s'%(data.label(p)),'id':'seq_%s' % data.label(p),'children':children}
101  else:
102  return moduledict(p,prefix,True)
103 
104 
105  paths=[]
106  if 'paths' in all:
107  for p in all['paths']:
108  path=jsonPathRecursive(p,data.label(p))
109  if path:
110  if not type(path)==type([]):
111  if path['type']=='Sequence':
112  path = path['children']
113  else:
114  path = [path]
115  else:
116  path=[]
117  paths.append({'label':data.label(p),'path':path})
118  endpaths=[]
119  if 'endpaths' in all:
120  for p in all['endpaths']:
121  path=jsonPathRecursive(p,data.label(p))
122  if path:
123  if not type(path)==type([]):
124  if path['type']=='Sequence':
125  path = path['children']
126  else:
127  path = [path]
128  else:
129  path=[]
130  endpaths.append({'label':data.label(p),'path':path})
131 
132  #json={'process':process,'schedule':schedule,'source':source,'essources':essources,'esproducers':esproducers,'esprefers':esprefers,'services':services,'paths':paths,'endpaths':endpaths}
133  json={'process':process,'source':source,'essources':essources,'esproducers':esproducers,'esprefers':esprefers,'services':services,'paths':paths,'endpaths':endpaths}
134 
135  return repr(json)

Member Data Documentation

tuple JSONExport.JsonExport.file_types = ('html','json')
static

Definition at line 18 of file JSONExport.py.

dictionary JSONExport.JsonExport.option_types = {}
static

Definition at line 16 of file JSONExport.py.

string JSONExport.JsonExport.plugin_name = 'JSON Export'
static

Definition at line 17 of file JSONExport.py.