CMS 3D CMS Logo

List of all members | Public Member Functions
HTMLExport.HTMLExport Class Reference
Inheritance diagram for HTMLExport.HTMLExport:

Public Member Functions

def __init__ (self)
 
def data_to_json (self, data)
 
def export (self, data, filename, filetype)
 
def module_to_json (self, data, module)
 
def path_to_json (self, data, path)
 
def produce (self, data)
 
def pset_to_json (self, pset)
 

Detailed Description

Definition at line 652 of file HTMLExport.py.

Constructor & Destructor Documentation

def HTMLExport.HTMLExport.__init__ (   self)

Definition at line 657 of file HTMLExport.py.

657  def __init__(self):
658  FileExportPlugin.__init__(self)
659 

Member Function Documentation

def HTMLExport.HTMLExport.data_to_json (   self,
  data 
)

Definition at line 671 of file HTMLExport.py.

References HTMLExport.HTMLExport.module_to_json(), HTMLExport.HTMLExport.path_to_json(), HTMLExport.HTMLExport.pset_to_json(), and split.

Referenced by HTMLExport.HTMLExport.produce().

671  def data_to_json(self, data):
672  cmssw = None
673  if 'CMSSW_BASE' in os.environ:
674  cmssw = os.environ['CMSSW_BASE'].split('/')[-1]
675  elif 'CMSSW_RELEASE_BASE' in os.environ:
676  cmssw = os.environ['CMSSW_RELEASE_BASE'].split('/')[-1]
677  result = {'process': {'name': data.process().name_() if data.process() else '(no process)', 'src': data._filename, 'cmssw':cmssw}}
678  toplevel = data.children(data.topLevelObjects()[0]) if data.process() else data.topLevelObjects()
679  for tlo in toplevel:
680  children = data.children(tlo)
681  label = tlo._label
682  if label in ('source', 'services'):
683  result[label] = [{'class':data.classname(child), 'pset':self.pset_to_json(child.parameters_()), 'type':data.type(child), 'label':data.classname(child)} for child in children]
684  elif label in ('essources', 'esproducers', 'esprefers'):
685  result[label] = [self.module_to_json(data, child) for child in children]
686  elif label in ('paths', 'endpaths'):
687  result[label] = [self.path_to_json(data, child) for child in children]
688  return json.dumps(result, indent=4)
689 
def data_to_json(self, data)
Definition: HTMLExport.py:671
def pset_to_json(self, pset)
Definition: HTMLExport.py:690
def module_to_json(self, data, module)
Definition: HTMLExport.py:723
def path_to_json(self, data, path)
Definition: HTMLExport.py:737
double split
Definition: MVATrainer.cc:139
def HTMLExport.HTMLExport.export (   self,
  data,
  filename,
  filetype 
)

Definition at line 660 of file HTMLExport.py.

References cond::EmptyIOVSource.produce(), DimuonMCMatcher.produce(), ShallowExampleProducer.produce(), WeakEffectsWeightProducer.produce(), ShallowEventDataProducer.produce(), MagneticFieldMapESProducer.produce(), PixelToLNKAssociateFromAsciiESProducer.produce(), FastSimGeometryESProducer.produce(), TrackerInteractionGeometryESProducer.produce(), DoubleProducer.produce(), PixelToFEDAssociateFromAsciiESProducer.produce(), PatElectronEAIsoCorrectionProducer.produce(), HLTDQMObjSelector< ObjType, ObjCollType >.produce(), HcalLaserEventFiltProducer2012.produce(), CandPtrProjector.produce(), ShallowTracksProducer.produce(), edm::EndPathStatusInserter.produce(), SiPixelFedCablingMapBuilder.produce(), SiPixelFakeCPEGenericErrorParmESSource.produce(), TrackingParticleConversionRefSelector.produce(), CSCChannelMapperESProducer.produce(), ElectronSqPtTkIsolationProducer.produce(), CSCIndexerESProducer.produce(), reco::modules::CaloRecHitCandidateProducer< HitCollection >.produce(), ConversionTrackRefFix.produce(), TrackingRecHitPipe.produce(), Phase2TrackerCablingESProducer.produce(), RazorVarProducer.produce(), SiPixelFakeGenErrorDBObjectESSource.produce(), SiPixelFakeTemplateDBObjectESSource.produce(), MFProducer.produce(), ShallowRechitClustersProducer.produce(), TkDetMapESProducer.produce(), AlphaTVarProducer.produce(), DistortedMETProducer.produce(), DTDigiToRawModule.produce(), ParticleDecayProducer.produce(), HGCalRawToDigiFake.produce(), HGCDigiConverter.produce(), edm::PathStatusInserter.produce(), L1TriggerKeyDummyProdExt.produce(), L1TriggerKeyListDummyProdExt.produce(), HLTDQMMuonSelector.produce(), EventVtxInfoNtupleDumper.produce(), Phase2Tracker::Phase2TrackerCommissioningDigiProducer.produce(), ShallowSimhitClustersProducer.produce(), ShallowTrackClustersProducer.produce(), L1SubsystemKeysOnlineProdExt.produce(), L1TriggerKeyOnlineProdExt.produce(), sistrip::MeasureLA.produce(), ESRawToDigi.produce(), AssociationMapOneToOne2Association< CKey, CVal >.produce(), AssociationVectorSelector< KeyRefProd, CVal, KeySelector, ValSelector >.produce(), EmptySimHits.produce(), DiJetVarProducer.produce(), DistortedMuonProducerFromDB.produce(), MuonWithPFIsoProducer.produce(), CastorDbProducer.produce(), CandViewRefMerger.produce(), PFEGammaToCandidateRemapper.produce(), RawDataCollectorByLabel.produce(), evf::EvFFEDSelector.produce(), CastorFastTowerProducer.produce(), AssociationVector2ValueMap< KeyRefProd, CVal >.produce(), CalibratedPhotonProducerRun2T< T >.produce(), DistortedMuonProducer.produce(), DistortedPFCandProducer.produce(), ESDigiToRaw.produce(), HcalCalibFEDSelector.produce(), FamosProducer.produce(), CastorFastClusterProducer.produce(), ShallowSimTracksProducer.produce(), SiStripHashedDetIdESProducer.produce(), SiStripFedCablingESProducer.produce(), SiStripGainESSource.produce(), RegressionEnergyPatElectronProducer.produce(), SiStripDelayESProducer.produce(), SiStripQualityESProducer.produce(), EcalIsolatedParticleCandidateProducer.produce(), PFMuonUntagger.produce(), RPCPerformanceESSource.produce(), CollectionAdder< C >.produce(), ElectronSeedTrackRefFix.produce(), L1ObjectKeysOnlineProdBaseExt.produce(), EcalLaserCorrectionService.produce(), SiStripNoiseESSource.produce(), SiStripPedestalsESSource.produce(), ISRGammaWeightProducer.produce(), SiStripBackPlaneCorrectionDepESProducer.produce(), SiStripLorentzAngleDepESProducer.produce(), ShallowClustersProducer.produce(), IPTCorrector.produce(), FSRWeightProducer.produce(), ISRWeightProducer.produce(), DTUnpackingModule.produce(), HcalTimeSlewEP.produce(), RPCInverseCPPFLinkMapESProducer.produce(), RPCInverseLBLinkMapESProducer.produce(), RPCInverseOMTFLinkMapESProducer.produce(), RPCInverseTwinMuxLinkMapESProducer.produce(), SiStripTemplateEmptyFakeESSource< TObject, TRecord >.produce(), HBHEDarkeningEP.produce(), PdfWeightProducer.produce(), CSCDCCUnpacker.produce(), PFCandidateMuonUntagger.produce(), RPCCPPFUnpacker.produce(), JetTracksAssociationToTrackRefs.produce(), PixelTracksProducer.produce(), CalibratedElectronProducerRun2T< T >.produce(), IsolatedEcalPixelTrackCandidateProducer.produce(), AlignmentPrescaler.produce(), RPCAMCUnpacker.produce(), NtpProducer< C >.produce(), FWRecoGeometryESProducer.produce(), CastorHardcodeCalibrations.produce(), FastTSGFromL2Muon.produce(), LmfSource.produce(), SiStripProcessedRawDigiProducer.produce(), ElectronPATIdMVAProducer.produce(), SiStripGainESProducerTemplate< TDependentRecord, TInputRecord >.produce(), SiPixel2DTemplateDBObjectESProducer.produce(), SiPixelGenErrorDBObjectESProducer.produce(), FastTrackerRecHitMaskProducer.produce(), SiPixelTemplateDBObjectESProducer.produce(), SiStripQualityFakeESSource.produce(), ZMuMuTrackUserData.produce(), CastorDigiToRaw.produce(), CandReducer.produce(), HcalDigiToRaw.produce(), HcalHistogramRawToDigi.produce(), RawDataSelector.produce(), FRDStreamSource.produce(), SiPixelFedFillerWordEventNumber.produce(), CandidateTriggerObjectProducer.produce(), reco::modules::MatcherBase< C1, C2, M >.produce(), reco::modulesNew::Matcher< C1, C2, S, D >.produce(), TriggerMatchProducer< object >.produce(), ZMuMuMuonUserData.produce(), CloneProducer< C >.produce(), CTPPSPixelRawToDigi.produce(), AlcaBeamSpotFromDB.produce(), ShallowCloneProducer< C >.produce(), PFCandIsolatorFromDeposits.produce(), Phase2Tracker::Phase2TrackerDigiProducer.produce(), RPCAMCRawToDigi.produce(), RPCTwinMuxDigiToRaw.produce(), ShallowDigisProducer.produce(), SiStripApvGainFakeESSource.produce(), SiStripBackPlaneCorrectionFakeESSource.produce(), SiStripBaseDelayFakeESSource.produce(), SiStripConfObjectFakeESSource.produce(), SiStripLatencyFakeESSource.produce(), SiStripPedestalsFakeESSource.produce(), TrackInfoProducer.produce(), SiStripThresholdFakeESSource.produce(), TotemTriggerRawToDigi.produce(), EcalDCCTBUnpackingModule.produce(), DeltaBetaWeights.produce(), GEMDigiToRawModule.produce(), PuppiPhoton.produce(), RPCUnpackingModule.produce(), VertexCompositeCandidateCollectionSelector.produce(), sistrip::ExcludedFEDListProducer.produce(), sistrip::RawToDigiModule.produce(), ElectronRecalibSuperClusterAssociator.produce(), SiStripBadModuleConfigurableFakeESSource.produce(), ZMuMuUserDataOneTrack.produce(), ZMuMuUserData.produce(), TkAlCaOverlapTagger.produce(), EcalDCCTB07UnpackingModule.produce(), HcalRawToDigi.produce(), FastTrackerRecHitCombiner.produce(), RPCPackingModule.produce(), L1GctInternJetProducer.produce(), ME0MuonTrackCollProducer.produce(), LaserAlignmentProducer.produce(), MillePedeFileConverter.produce(), AlcaBeamSpotProducer.produce(), PiZeroDiscriminatorProducer.produce(), SubdetFEDSelector.produce(), PFMET.produce(), Type1PFMET.produce(), SiPixelDigiToRaw.produce(), EventCountProducer.produce(), edm::ThinningProducer< Collection, Selector >.produce(), edm::FwdPtrProducer< T, H >.produce(), SiStripNoisesFakeESSource.produce(), pf2pat::PFMETAlgo.produce(), sistrip::DigiToRawModule.produce(), SiPixelRawToDigi.produce(), edm::ProductFromFwdPtrProducer< T, H >.produce(), L1ConfigOnlineProdBaseExt< TRcd, TData >.produce(), EcalGlobalShowerContainmentCorrectionsVsEtaESProducer.produce(), SiStripRegFEDSelector.produce(), CSCTFPacker.produce(), CSCDigiToRawModule.produce(), EcalRegionCablingESProducer.produce(), GEMRawToDigiModule.produce(), DTFakeT0ESProducer.produce(), HcalRawToDigiFake.produce(), DaqFakeReader.produce(), CandMergerCleanOthersByDR.produce(), EcalShowerContainmentCorrectionsESProducer.produce(), sistrip::SpyEventSummaryProducer.produce(), HcalDbProducer.produce(), DTTFFEDSim.produce(), PuppiProducer.produce(), Merger< InputCollection, OutputCollection, P >.produce(), FWTGeoRecoGeometryESProducer.produce(), CastorTextCalibrations.produce(), CastorRawToDigi.produce(), L1TTwinMuxRawToDigi.produce(), MatchedProbeMaker< T >.produce(), CSCTFUnpacker.produce(), RPCTwinMuxRawToDigi.produce(), AlcaPCCProducer.produce(), FastTrackerRecHitMatcher.produce(), TagProbeMassProducer.produce(), sistrip::SpyDigiConverterModule.produce(), SiStripLorentzAngleFakeESSource.produce(), L1TriggerKeyListDummyProd.produce(), LaserAlignmentT0Producer.produce(), WMuNuProducer.produce(), DTTFFEDReader.produce(), SiPixelFakeGainESSource.produce(), SiPixelFakeGainForHLTESSource.produce(), SiPixelFakeGainOfflineESSource.produce(), L1TriggerKeyDummyProd.produce(), AlCaEcalHcalReadoutsProducer.produce(), RawPCCProducer.produce(), pf2pat::PFIsoDepositAlgo.produce(), EcalRecHitRecalib.produce(), HcalRecHitRecalib.produce(), SiPixelFakeQualityESSource.produce(), edm::TriggerResultInserter.produce(), BufferedBoostIOESProducer< DataType, MyRecord >.produce(), L1SubsystemKeysOnlineProd.produce(), L1TriggerKeyOnlineProd.produce(), SiPixelFakeLorentzAngleESSource.produce(), ECALRegFEDSelector.produce(), PrimaryVertexSorter< ParticlesCollection >.produce(), AlCaElectronTracksReducer.produce(), ZToLLEdmNtupleDumper.produce(), PFPileUp.produce(), PFCand_AssoMap.produce(), AlCaDiJetsProducer.produce(), HcalDigiToRawuHTR.produce(), TotemVFATRawToDigi.produce(), SiPixelQualityESProducer.produce(), AlCaGammaJetProducer.produce(), SiStripFineDelayHit.produce(), ObjectSelectorProducer< Selector, OutputCollection, PostProcessor, StoreManager, Base, Init >.produce(), DTuROSDigiToRaw.produce(), CalibrationTrackSelectorFromDetIdList.produce(), HBHENoiseFilterResultProducer.produce(), ScalersRawToDigi.produce(), L1ObjectKeysOnlineProdBase.produce(), cms::HitReCalibrator.produce(), MisalignedTrackerESProducer.produce(), GctDigiToRaw.produce(), LTCRawToDigi.produce(), HcalTPGCoderULUT.produce(), EventWithHistoryProducer.produce(), DTuROSRawToDigi.produce(), TrackCandidateProducer.produce(), FromClusterSummaryMultiplicityProducer.produce(), PF_PU_AssoMap.produce(), L1GlobalTriggerRecordProducer.produce(), EventWithHistoryProducerFromL1ABC.produce(), AlCaHcalNoiseProducer.produce(), CaloTPGTranscoderULUTs.produce(), pf2pat::TopProjectorAlgo< Top, Bottom >.produce(), TcdsRawToDigi.produce(), SiStripBadModuleFedErrESSource.produce(), RctRawToDigi.produce(), EcalRawToDigi.produce(), IsolatedPixelTrackCandidateProducer.produce(), EcalFEDWithCRCErrorProducer.produce(), l1t::L1TRawToDigi.produce(), ConfigurableAPVCyclePhaseProducer.produce(), MisalignedMuonESProducer.produce(), ValueMapTraslator.produce(), HcalTextCalibrations.produce(), MuonMillepedeTrackRefitter.produce(), IsolatedPixelTrackCandidateL1TProducer.produce(), GctRawToDigi.produce(), omtf::OmtfPacker.produce(), PF_PU_FirstVertexTracks.produce(), SoftKillerProducer.produce(), AlCaECALRecHitReducer.produce(), EcalDigiToRaw.produce(), OnlineMetaDataRawToDigi.produce(), CaloMiscalibToolsMC.produce(), L1GlobalTriggerEvmRawToDigi.produce(), ConditionDumperInEdm.produce(), CaloMiscalibTools.produce(), AlCaHBHEMuonProducer.produce(), MultiplicityProducer< T >.produce(), omtf::OmtfUnpacker.produce(), L1ConfigOnlineProdBase< TRcd, TData >.produce(), HLTTauRefProducer.produce(), l1t::L1TDigiToRaw.produce(), L1GTEvmDigiToRaw.produce(), HcalHardcodeCalibrations.produce(), L1GtTextToRaw.produce(), JetDeltaRTagInfoValueMapProducer< T, I >.produce(), PFCand_NoPU_WithAM.produce(), AlignmentMuonHIPTrajectorySelector.produce(), TGeoMgrFromDdd.produce(), l1t::AMC13DumpToRaw.produce(), l1t::AMCDumpToRaw.produce(), sistrip::SpyUnpackerModule.produce(), reco::modules::TrackFullCloneSelectorBase< Selector >.produce(), L1GtTriggerMenuLiteProducer.produce(), L1GTDigiToRaw.produce(), TrackingRecHitProducer.produce(), SiPixelCalibDigiProducer.produce(), APVCyclePhaseProducerFromL1ABC.produce(), PFCandidateRecalibrator.produce(), L1GlobalTriggerRawToDigi.produce(), MEtoEDMConverter.produce(), APVCyclePhaseProducerFromL1TS.produce(), CTPPSSimHitProducer.produce(), l1t::MP7BufferDumpToRaw.produce(), sistrip::FEDEmulatorModule.produce(), ShallowGainCalibration.produce(), JetConstituentSelector< T, C >.produce(), edm::stream::EDProducerBase.produce(), EDMtoMEConverter.produce(), Pi0FixedMassWindowCalibration.produce(), TrackerToMuonPropagator.produce(), CSCOverlapsTrackPreparation.produce(), CTPPSFastTrackingProducer.produce(), TkLasBeamFitter.produce(), reco::PhysObjectMatcher< C1, C2, S, D, Q >.produce(), FastSimProducer.produce(), JetDeltaRValueMapProducer< T, C >.produce(), CTPPSRecHitProducer.produce(), L1TCaloLayer1RawToDigi.produce(), MuonSimHitProducer.produce(), ZeeCalibration.produce(), TrajectorySeedProducer.produce(), TotemDAQMappingESSourceXML.produce(), CandidateProducer< TColl, CColl, Selector, Conv, Creator, Init >.produce(), edm::EDProducer.produce(), LaserAlignment.produce(), SelectedElectronFEDListProducer< TEle, TCand >.produce(), AlCaIsoTracksProducer.produce(), edm::one::EDProducerBase.produce(), edm::global::EDProducerBase.produce(), edm::limited::EDProducerBase.produce(), reco::modules::NamedCandCombiner< Selector, PairSelector, Cloner, Setup, Init >.produce(), MatacqProducer.produce(), reco::modules::CandCombiner< Selector, PairSelector, Cloner, OutputCollection, Setup, Init >.produce(), TopProjector< Top, Bottom, Matcher >.produce(), AlCaHOCalibProducer.produce(), edm::one::impl::Accumulator< T >.produce(), edm::stream::impl::Accumulator.produce(), edm::stream::CallBeginRunProduceImpl< T, bool >.produce(), edm::stream::CallBeginRunProduceImpl< T, false >.produce(), edm::stream::CallEndRunProduceImpl< T, bProduce, bSummary >.produce(), edm::stream::CallEndRunProduceImpl< T, true, false >.produce(), edm::stream::CallEndRunProduceImpl< T, true, true >.produce(), edm::stream::CallBeginLuminosityBlockProduceImpl< T, bool >.produce(), edm::stream::CallBeginLuminosityBlockProduceImpl< T, false >.produce(), edm::stream::CallEndLuminosityBlockProduceImpl< T, bProduce, bSummary >.produce(), edm::limited::impl::Accumulator< T >.produce(), edm::stream::CallEndLuminosityBlockProduceImpl< T, true, false >.produce(), edm::stream::CallEndLuminosityBlockProduceImpl< T, true, true >.produce(), edm::global::impl::Accumulator< T >.produce(), and HTMLExport.HTMLExport.produce().

660  def export(self, data, filename, filetype):
661  with open(filename, 'w') as f:
662  f.write(self.produce(data))
663 
def produce(self, data)
Definition: HTMLExport.py:664
def export(self, data, filename, filetype)
Definition: HTMLExport.py:660
def HTMLExport.HTMLExport.module_to_json (   self,
  data,
  module 
)

Definition at line 723 of file HTMLExport.py.

References HTMLExport.HTMLExport.pset_to_json().

Referenced by HTMLExport.HTMLExport.data_to_json(), and HTMLExport.HTMLExport.path_to_json().

723  def module_to_json(self, data, module):
724  return {
725  'label':data.label(module),
726  'class':data.classname(module),
727  'file':data.pypath(module),
728  'line':data.lineNumber(module),
729  #'package':data.pypackage(module),
730  'pset':self.pset_to_json(module.parameters_()),
731  'type':data.type(module),
732  'uses':data.uses(module),
733  'usedby':data.usedBy(module),
734  'memberof':data.foundIn(module)
735  }
736 
def pset_to_json(self, pset)
Definition: HTMLExport.py:690
def module_to_json(self, data, module)
Definition: HTMLExport.py:723
def HTMLExport.HTMLExport.path_to_json (   self,
  data,
  path 
)

Definition at line 737 of file HTMLExport.py.

References HTMLExport.HTMLExport.module_to_json(), and HTMLExport.HTMLExport.path_to_json().

Referenced by HTMLExport.HTMLExport.data_to_json(), and HTMLExport.HTMLExport.path_to_json().

737  def path_to_json(self, data, path):
738  children = data.children(path)
739  if data.isContainer(path):
740  json_children = [self.path_to_json(data, child) for child in children]
741  return {'type':data.type(path), 'label':data.label(path),
742  'path':json_children, 'memberof': data.foundIn(path),
743  'file': data.pypath(path), 'line': data.lineNumber(path)}
744  #'package': data.pypackage(path)}
745  else:
746  return self.module_to_json(data, path)
747 
748 
749 
750 
def module_to_json(self, data, module)
Definition: HTMLExport.py:723
def path_to_json(self, data, path)
Definition: HTMLExport.py:737
def HTMLExport.HTMLExport.produce (   self,
  data 
)

Definition at line 664 of file HTMLExport.py.

References HTMLExport.HTMLExport.data_to_json(), cmsPerfStripChart.dict, and HTMLExport.get_jquery().

Referenced by JSONExport.JsonExport.export(), HTMLExport.HTMLExport.export(), and HTMLExport.HTMLExportStatic.export().

664  def produce(self, data):
665  return PAGE_TEMPLATE % dict(title=data._filename, jquery=get_jquery(),
666  css=CSS_TEMPLATE, js=JS_TEMPLATE, dirname='.',
667  filename=data._filename, json=self.data_to_json(data),
668  cmslogo=CMSLOGO)
669 
670 
def data_to_json(self, data)
Definition: HTMLExport.py:671
def produce(self, data)
Definition: HTMLExport.py:664
def get_jquery()
Definition: HTMLExport.py:27
def HTMLExport.HTMLExport.pset_to_json (   self,
  pset 
)

Definition at line 690 of file HTMLExport.py.

References HTMLExport.HTMLExport.pset_to_json(), split, and str.

Referenced by HTMLExport.HTMLExport.data_to_json(), HTMLExport.HTMLExport.module_to_json(), and HTMLExport.HTMLExport.pset_to_json().

690  def pset_to_json(self, pset):
691  result = []
692  for k, v in pset.items():
693  typename = v.pythonTypeName().split('.')[-1]
694  item = {'label': k, 'type': typename}
695  if not v.isTracked():
696  item['untracked'] = True
697  if typename == 'PSet':
698  item['value'] = self.pset_to_json(v.parameters_())
699  elif typename == 'VPSet':
700  item['value'] = [self.pset_to_json(vv.parameters_()) for vv in v]
701  item['list'] = True
702  elif typename == 'VInputTag':
703  v_it = []
704  for vv in v:
705  if isinstance(vv, cms.InputTag):
706  v_it.append(vv)
707  elif isinstance(vv, str):
708  v_it.append(cms.InputTag(vv))
709  else:
710  raise "Unsupported type in VInputTag", type(vv)
711  item['value'] = [(vv.moduleLabel, vv.productInstanceLabel, vv.processName) for vv in v_it]
712  item['list'] = True
713  elif typename == 'InputTag':
714  item['value'] = [v.moduleLabel, v.productInstanceLabel, v.processName]
715  elif isinstance(v, mix._ValidatingListBase):
716  item['value'] = [str(vv) for vv in v]
717  item['list'] = True
718  else:
719  item['value'] = v.pythonValue()
720  result += [item]
721  return result
722 
def pset_to_json(self, pset)
Definition: HTMLExport.py:690
#define str(s)
double split
Definition: MVATrainer.cc:139