#include <SimG4HcalValidation.h>
Public Member Functions | |
void | produce (edm::Event &, const edm::EventSetup &) override |
SimG4HcalValidation (const edm::ParameterSet &p) | |
~SimG4HcalValidation () override | |
Public Member Functions inherited from SimProducer | |
void | registerProducts (edm::ProducerBase &iProd) |
SimProducer () | |
Public Member Functions inherited from SimWatcher | |
SimWatcher () | |
virtual | ~SimWatcher () |
Public Member Functions inherited from Observer< const BeginOfJob * > | |
Observer () | |
void | slotForUpdate (const BeginOfJob * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const BeginOfRun * > | |
Observer () | |
void | slotForUpdate (const BeginOfRun * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const BeginOfEvent * > | |
Observer () | |
void | slotForUpdate (const BeginOfEvent * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const EndOfEvent * > | |
Observer () | |
void | slotForUpdate (const EndOfEvent * iT) |
virtual | ~Observer () |
Public Member Functions inherited from Observer< const G4Step * > | |
Observer () | |
void | slotForUpdate (const G4Step * iT) |
virtual | ~Observer () |
Private Member Functions | |
void | clear () |
void | collectEnergyRdir (const double, const double) |
void | fetchHits (PHcalValidInfoLayer &) |
void | fill (const EndOfEvent *ev) |
double | getHcalScale (std::string, int) const |
void | init () |
void | jetAnalysis (PHcalValidInfoJets &) |
void | layerAnalysis (PHcalValidInfoLayer &) |
void | nxNAnalysis (PHcalValidInfoNxN &) |
const SimG4HcalValidation & | operator= (const SimG4HcalValidation &)=delete |
SimG4HcalValidation (const SimG4HcalValidation &)=delete | |
void | update (const BeginOfJob *job) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const BeginOfRun *run) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const BeginOfEvent *evt) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const G4Step *step) override |
This routine will be called when the appropriate signal arrives. More... | |
void | update (const EndOfEvent *evt) override |
This routine will be called when the appropriate signal arrives. More... | |
Private Attributes | |
bool | applySampling |
double | coneSize |
unsigned int | count |
std::vector< double > | dEta |
std::vector< double > | dPhi |
double | edepd [5] |
double | edepEB |
double | edepEE |
double | edepHB |
double | edepHE |
double | edepHO |
double | edepl [20] |
double | een |
double | ehitThreshold |
double | enEcal |
double | enHcal |
float | eta0 |
bool | hcalOnly |
double | hen |
double | hhitThreshold |
std::vector< CaloHit > | hitcache |
double | hoen |
int | infolevel |
SimG4HcalHitJetFinder * | jetf |
float | jetThreshold |
std::string | labelJets |
std::string | labelLayer |
std::string | labelNxN |
std::vector< std::string > | names |
HcalNumberingFromDDD * | numberingFromDDD |
HcalTestNumberingScheme * | org |
float | phi0 |
std::vector< float > | scaleHB |
std::vector< float > | scaleHE |
std::vector< float > | scaleHF |
float | timeLowlim |
float | timeUplim |
double | vhitec |
double | vhithc |
Additional Inherited Members | |
Protected Member Functions inherited from SimProducer | |
template<class T > | |
void | produces () |
template<class T > | |
void | produces (const std::string &instanceName) |
Definition at line 34 of file SimG4HcalValidation.h.
SimG4HcalValidation::SimG4HcalValidation | ( | const edm::ParameterSet & | p | ) |
Definition at line 38 of file SimG4HcalValidation.cc.
References applySampling, coneSize, ehitThreshold, eta0, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hcalOnly, hhitThreshold, infolevel, init(), jetThreshold, labelJets, labelLayer, labelNxN, names, phi0, AlCaHLTBitMon_QueryRunRegistry::string, timeLowlim, and timeUplim.
|
override |
Definition at line 75 of file SimG4HcalValidation.cc.
References count, jetf, numberingFromDDD, and org.
|
privatedelete |
|
private |
|
private |
Definition at line 681 of file SimG4HcalValidation.cc.
References coneSize, MillePedeFileConverter_cfg::e, een, PVValHelper::eta, HcalBarrel, hen, hitcache, hfClusterShapes_cfi::hits, hoen, jetf, phi, alignCSCRings::r, and SimG4HcalHitJetFinder::rDist().
Referenced by jetAnalysis(), and nxNAnalysis().
|
private |
Definition at line 611 of file SimG4HcalValidation.cc.
References TauDecayModes::dec, PVValHelper::eta, PHcalValidInfoLayer::fillHits(), edmIntegrityCheck::group, hitcache, mps_fire::i, LogDebug, phi, lumiQTWidget::t, HcalTestNumbering::unpackHcalIndex(), and ecaldqm::zside().
Referenced by layerAnalysis().
|
private |
Definition at line 268 of file SimG4HcalValidation.cc.
References applySampling, TauDecayModes::dec, egammaForCoreTracking_cff::depth, MillePedeFileConverter_cfg::e, ehitThreshold, enEcal, enHcal, PVValHelper::eta, CaloG4Hit::getDepth(), CaloG4Hit::getEnergyDeposit(), getHcalScale(), CaloG4Hit::getPosition(), CaloG4Hit::getTimeSlice(), HcalTestNumberingScheme::getUnitID(), CaloG4Hit::getUnitID(), GeV, HcalEndcap, HcalForward, hcalOnly, hhitThreshold, hitcache, createfilelist::int, cmsBatch::log, LogDebug, names, numberingFromDDD, org, HcalTestNumberingScheme::packHcalIndex(), phi, AlCaHLTBitMon_QueryRunRegistry::string, funct::tan(), theta(), ntuplemaker::time, timeLowlim, HcalNumberingFromDDD::unitID(), HcalTestNumberingScheme::unpackHcalIndex(), vhitec, vhithc, and ecaldqm::zside().
Referenced by update().
|
private |
|
private |
Definition at line 110 of file SimG4HcalValidation.cc.
References coneSize, count, dEta, dPhi, mps_fire::i, jetf, scaleHB, scaleHE, and scaleHF.
Referenced by SimG4HcalValidation().
|
private |
Definition at line 489 of file SimG4HcalValidation.cc.
References collectEnergyRdir(), funct::cos(), MillePedeFileConverter_cfg::e, een, eta0, PHcalValidInfoJets::fillDiJets(), PHcalValidInfoJets::fillEcollectJet(), PHcalValidInfoJets::fillEtaPhiProfileJet(), PHcalValidInfoJets::fillJets(), PHcalValidInfoJets::fillTProfileJet(), SimG4HcalHitJetFinder::getClusters(), HcalBarrel, HcalEndcap, HcalForward, hcalOnly, hcalSimParameters_cfi::he, hitcache, hfClusterShapes_cfi::hits, electrons_cff::hoe, mps_fire::i, jetf, jetThreshold, LogDebug, phi0, alignCSCRings::r, SimG4HcalHitJetFinder::rDist(), mps_fire::result, SimG4HcalHitJetFinder::setInput(), funct::sin(), mathSSE::sqrt(), and lumiQTWidget::t.
Referenced by produce().
|
private |
Definition at line 399 of file SimG4HcalValidation.cc.
References edepd, edepEB, edepEE, edepHB, edepHE, edepHO, edepl, enEcal, enHcal, fetchHits(), PHcalValidInfoLayer::fillHF(), PHcalValidInfoLayer::fillLayers(), mps_fire::i, LogDebug, MeV, vhitec, and vhithc.
Referenced by produce().
|
private |
Definition at line 427 of file SimG4HcalValidation.cc.
References collectEnergyRdir(), dEta, dPhi, MillePedeFileConverter_cfg::e, een, PVValHelper::eta, eta0, PHcalValidInfoNxN::fillEcollectNxN(), PHcalValidInfoNxN::fillHvsE(), PHcalValidInfoNxN::fillTProfileNxN(), HcalBarrel, HcalEndcap, HcalForward, hcalSimParameters_cfi::he, hen, hitcache, hfClusterShapes_cfi::hits, electrons_cff::hoe, hoen, mps_fire::i, LogDebug, SiStripPI::max, phi, phi0, and lumiQTWidget::t.
Referenced by produce().
|
privatedelete |
|
overridevirtual |
Implements SimProducer.
Definition at line 91 of file SimG4HcalValidation.cc.
References infolevel, jetAnalysis(), labelJets, labelLayer, labelNxN, layerAnalysis(), eostools::move(), nxNAnalysis(), and edm::Event::put().
|
overrideprivatevirtual |
This routine will be called when the appropriate signal arrives.
Implements Observer< const BeginOfJob * >.
Definition at line 142 of file SimG4HcalValidation.cc.
References numberingFromDDD, org, and edm::ESHandle< T >::product().
Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
overrideprivatevirtual |
This routine will be called when the appropriate signal arrives.
Implements Observer< const BeginOfRun * >.
Definition at line 155 of file SimG4HcalValidation.cc.
References names, org, sd, HCalSD::setNumberingScheme(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
overrideprivatevirtual |
This routine will be called when the appropriate signal arrives.
Implements Observer< const BeginOfEvent * >.
Definition at line 185 of file SimG4HcalValidation.cc.
References clear(), edepd, edepEB, edepEE, edepHB, edepHE, edepHO, edepl, enEcal, enHcal, mps_fire::i, LogDebug, vhitec, and vhithc.
Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
overrideprivatevirtual |
This routine will be called when the appropriate signal arrives.
Implements Observer< const G4Step * >.
Definition at line 201 of file SimG4HcalValidation.cc.
References egammaForCoreTracking_cff::depth, edepd, edepEB, edepEE, edepHB, edepHE, edepHO, edepl, LogDebug, MeV, and dataset::name.
Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
overrideprivatevirtual |
This routine will be called when the appropriate signal arrives.
Implements Observer< const EndOfEvent * >.
Definition at line 259 of file SimG4HcalValidation.cc.
References count, fill(), and LogDebug.
Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
private |
Definition at line 91 of file SimG4HcalValidation.h.
Referenced by fill(), and SimG4HcalValidation().
|
private |
Definition at line 89 of file SimG4HcalValidation.h.
Referenced by collectEnergyRdir(), init(), and SimG4HcalValidation().
|
private |
Definition at line 100 of file SimG4HcalValidation.h.
Referenced by init(), update(), and ~SimG4HcalValidation().
|
private |
Definition at line 96 of file SimG4HcalValidation.h.
Referenced by init(), and nxNAnalysis().
|
private |
Definition at line 97 of file SimG4HcalValidation.h.
Referenced by init(), and nxNAnalysis().
|
private |
Definition at line 102 of file SimG4HcalValidation.h.
Referenced by layerAnalysis(), and update().
|
private |
Definition at line 101 of file SimG4HcalValidation.h.
Referenced by layerAnalysis(), and update().
|
private |
Definition at line 101 of file SimG4HcalValidation.h.
Referenced by layerAnalysis(), and update().
|
private |
Definition at line 101 of file SimG4HcalValidation.h.
Referenced by layerAnalysis(), and update().
|
private |
Definition at line 101 of file SimG4HcalValidation.h.
Referenced by layerAnalysis(), and update().
|
private |
Definition at line 101 of file SimG4HcalValidation.h.
Referenced by layerAnalysis(), and update().
|
private |
Definition at line 102 of file SimG4HcalValidation.h.
Referenced by layerAnalysis(), and update().
|
private |
Definition at line 103 of file SimG4HcalValidation.h.
Referenced by collectEnergyRdir(), PHcalValidInfoNxN::etotnxn(), jetAnalysis(), and nxNAnalysis().
|
private |
Definition at line 89 of file SimG4HcalValidation.h.
Referenced by fill(), and SimG4HcalValidation().
|
private |
Definition at line 104 of file SimG4HcalValidation.h.
Referenced by fill(), layerAnalysis(), and update().
|
private |
Definition at line 104 of file SimG4HcalValidation.h.
Referenced by fill(), layerAnalysis(), and update().
|
private |
Definition at line 90 of file SimG4HcalValidation.h.
Referenced by PHcalValidInfoJets::dijetm(), jetAnalysis(), nxNAnalysis(), and SimG4HcalValidation().
|
private |
Definition at line 91 of file SimG4HcalValidation.h.
Referenced by fill(), jetAnalysis(), and SimG4HcalValidation().
|
private |
Definition at line 103 of file SimG4HcalValidation.h.
Referenced by collectEnergyRdir(), PHcalValidInfoNxN::etotnxn(), and nxNAnalysis().
|
private |
Definition at line 89 of file SimG4HcalValidation.h.
Referenced by fill(), and SimG4HcalValidation().
|
private |
Definition at line 80 of file SimG4HcalValidation.h.
Referenced by clear(), collectEnergyRdir(), fetchHits(), fill(), jetAnalysis(), and nxNAnalysis().
|
private |
Definition at line 103 of file SimG4HcalValidation.h.
Referenced by collectEnergyRdir(), PHcalValidInfoNxN::etotnxn(), and nxNAnalysis().
|
private |
Definition at line 92 of file SimG4HcalValidation.h.
Referenced by produce(), and SimG4HcalValidation().
|
private |
Definition at line 71 of file SimG4HcalValidation.h.
Referenced by collectEnergyRdir(), init(), jetAnalysis(), and ~SimG4HcalValidation().
|
private |
Definition at line 90 of file SimG4HcalValidation.h.
Referenced by jetAnalysis(), and SimG4HcalValidation().
|
private |
Definition at line 93 of file SimG4HcalValidation.h.
Referenced by produce(), and SimG4HcalValidation().
|
private |
Definition at line 93 of file SimG4HcalValidation.h.
Referenced by produce(), and SimG4HcalValidation().
|
private |
Definition at line 93 of file SimG4HcalValidation.h.
Referenced by produce(), and SimG4HcalValidation().
|
private |
Definition at line 88 of file SimG4HcalValidation.h.
Referenced by fill(), SimG4HcalValidation(), and update().
|
private |
Definition at line 74 of file SimG4HcalValidation.h.
Referenced by fill(), update(), and ~SimG4HcalValidation().
|
private |
Definition at line 77 of file SimG4HcalValidation.h.
Referenced by fill(), update(), and ~SimG4HcalValidation().
|
private |
Definition at line 90 of file SimG4HcalValidation.h.
Referenced by PHcalValidInfoJets::dijetm(), jetAnalysis(), nxNAnalysis(), and SimG4HcalValidation().
|
private |
Definition at line 83 of file SimG4HcalValidation.h.
Referenced by getHcalScale(), and init().
|
private |
Definition at line 84 of file SimG4HcalValidation.h.
Referenced by getHcalScale(), and init().
|
private |
Definition at line 85 of file SimG4HcalValidation.h.
Referenced by getHcalScale(), and init().
|
private |
Definition at line 90 of file SimG4HcalValidation.h.
Referenced by fill(), and SimG4HcalValidation().
|
private |
Definition at line 90 of file SimG4HcalValidation.h.
Referenced by SimG4HcalValidation().
|
private |
Definition at line 104 of file SimG4HcalValidation.h.
Referenced by fill(), layerAnalysis(), and update().
|
private |
Definition at line 104 of file SimG4HcalValidation.h.
Referenced by fill(), layerAnalysis(), and update().