CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ZMuMuTrackUserData Class Reference
Inheritance diagram for ZMuMuTrackUserData:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 ZMuMuTrackUserData (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

template<typename T >
vector< double > isolation (const T &t, double ptThreshold, double etEcalThreshold, double etHcalThreshold, double dRVetoTrk, double dRTrk, double dREcal, double dRHcal, double alpha, double beta)
 
void produce (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

double alpha_
 
EDGetTokenT< BeamSpotbeamSpotToken_
 
double beta_
 
double dREcal_
 
double dRHcal_
 
double dRTrk_
 
double dRVetoTrk_
 
double etEcalThreshold_
 
double etHcalThreshold_
 
EDGetTokenT< VertexCollectionprimaryVerticesToken_
 
double ptThreshold_
 
EDGetTokenT< vector< pat::GenericParticle > > srcToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 27 of file ZMuMuTrackUserData.cc.

Constructor & Destructor Documentation

◆ ZMuMuTrackUserData()

ZMuMuTrackUserData::ZMuMuTrackUserData ( const edm::ParameterSet cfg)

Definition at line 100 of file ZMuMuTrackUserData.cc.

101  : srcToken_(consumes<vector<pat::GenericParticle> >(cfg.getParameter<InputTag>("src"))),
102  beamSpotToken_(consumes<BeamSpot>(cfg.getParameter<InputTag>("beamSpot"))),
103  primaryVerticesToken_(consumes<VertexCollection>(cfg.getParameter<InputTag>("primaryVertices"))),
104  ptThreshold_(cfg.getParameter<double>("ptThreshold")),
105  etEcalThreshold_(cfg.getParameter<double>("etEcalThreshold")),
106  etHcalThreshold_(cfg.getParameter<double>("etHcalThreshold")),
107  dRVetoTrk_(cfg.getParameter<double>("dRVetoTrk")),
108  dRTrk_(cfg.getParameter<double>("dRTrk")),
109  dREcal_(cfg.getParameter<double>("dREcal")),
110  dRHcal_(cfg.getParameter<double>("dRHcal")),
111  alpha_(cfg.getParameter<double>("alpha")),
112  beta_(cfg.getParameter<double>("beta")) {
113  produces<std::vector<pat::GenericParticle> >();
114 }

Member Function Documentation

◆ isolation()

template<typename T >
vector< double > ZMuMuTrackUserData::isolation ( const T t,
double  ptThreshold,
double  etEcalThreshold,
double  etHcalThreshold,
double  dRVetoTrk,
double  dRTrk,
double  dREcal,
double  dRHcal,
double  alpha,
double  beta 
)
private

Definition at line 53 of file ZMuMuTrackUserData.cc.

62  {
63  vector<double> iso;
64  const pat::IsoDeposit *trkIso = t.isoDeposit(pat::TrackIso);
65  const pat::IsoDeposit *ecalIso = t.isoDeposit(pat::EcalIso);
66  const pat::IsoDeposit *hcalIso = t.isoDeposit(pat::HcalIso);
67 
68  Direction dir = Direction(t.eta(), t.phi());
69 
71  vetosTrk.push_back(new ConeVeto(dir, dRVetoTrk));
72  vetosTrk.push_back(new ThresholdVeto(ptThreshold));
73 
74  pat::IsoDeposit::AbsVetos vetosEcal;
75  vetosEcal.push_back(new ConeVeto(dir, 0.));
76  vetosEcal.push_back(new ThresholdVeto(etEcalThreshold));
77 
78  pat::IsoDeposit::AbsVetos vetosHcal;
79  vetosHcal.push_back(new ConeVeto(dir, 0.));
80  vetosHcal.push_back(new ThresholdVeto(etHcalThreshold));
81 
82  double isovalueTrk = (trkIso->sumWithin(dRTrk, vetosTrk));
83  double isovalueEcal = (ecalIso->sumWithin(dREcal, vetosEcal));
84  double isovalueHcal = (hcalIso->sumWithin(dRHcal, vetosHcal));
85 
86  iso.push_back(isovalueTrk);
87  iso.push_back(isovalueEcal);
88  iso.push_back(isovalueHcal);
89 
90  //double iso = isovalueTrk + isovalueEcal + isovalueHcal;
91  double combIso =
92  alpha * (((1 + beta) / 2 * isovalueEcal) + ((1 - beta) / 2 * isovalueHcal)) + ((1 - alpha) * isovalueTrk);
93 
94  iso.push_back(combIso);
95  double relIso = combIso /= t.pt();
96  iso.push_back(relIso);
97  return iso;
98 }

References zMuMuMuonUserData::alpha, zMuMuMuonUserData::beta, DeadROC_duringRun::dir, zMuMuMuonUserData::dREcal, zMuMuMuonUserData::dRHcal, zMuMuMuonUserData::dRTrk, zMuMuMuonUserData::dRVetoTrk, pat::EcalIso, zMuMuMuonUserData::etEcalThreshold, zMuMuMuonUserData::etHcalThreshold, pat::HcalIso, ewkMuLumiMonitorDQM_cfi::ptThreshold, objects.autophobj::relIso, reco::IsoDeposit::sumWithin(), OrderedSet::t, pat::TrackIso, and ZMuMuCategoriesSequences_cff::trkIso.

Referenced by produce().

◆ produce()

void ZMuMuTrackUserData::produce ( edm::Event evt,
const edm::EventSetup  
)
overrideprivatevirtual

Implements edm::EDProducer.

Definition at line 116 of file ZMuMuTrackUserData.cc.

116  {
119 
120  Handle<BeamSpot> beamSpotHandle;
121  evt.getByToken(beamSpotToken_, beamSpotHandle);
122 
123  Handle<VertexCollection> primaryVertices; // Collection of primary Vertices
125 
126  unique_ptr<vector<pat::GenericParticle> > tkColl(new vector<pat::GenericParticle>(*tracks));
127  for (unsigned int i = 0; i < tkColl->size(); ++i) {
128  pat::GenericParticle &tk = (*tkColl)[i];
129  vector<double> iso = isolation(
131  tk.setIsolation(pat::User1Iso, iso[0]);
132  // cout << "track User1Iso " << iso[0] << endl;
133  tk.setIsolation(pat::User2Iso, iso[1]);
134  //cout << "track User2Iso " << iso[1] << endl;
135  tk.setIsolation(pat::User3Iso, iso[2]);
136  //cout << "track User3Iso " << iso[2] << endl;
137  tk.setIsolation(pat::User4Iso, iso[3]);
138  //cout << "track User4Iso " << iso[3] << endl;
139  tk.setIsolation(pat::User5Iso, iso[4]);
140  //cout << "track User5Iso " << iso[4] << endl;
141 
142  float zDaudxyFromBS = -1;
143  float zDaudzFromBS = -1;
144  float zDaudxyFromPV = -1;
145  float zDaudzFromPV = -1;
146  float zDauNofMuChambers = -1;
147  float zDauNofMuMatches = -1;
148  float zDauChi2 = -1;
149  float zDauTrkChi2 = -1;
150  float zDauSaChi2 = -1;
151  float zDauNofMuonHits = -1;
152  float zDauNofStripHits = -1;
153  float zDauNofPixelHits = -1;
154  float zDauMuEnergyEm = -1;
155  float zDauMuEnergyHad = -1;
156 
157  TrackRef muTrkRef = tk.track();
158  if (muTrkRef.isNonnull()) {
159  zDaudxyFromBS = muTrkRef->dxy(beamSpotHandle->position());
160  zDaudzFromBS = muTrkRef->dz(beamSpotHandle->position());
161  zDaudxyFromPV = muTrkRef->dxy(primaryVertices->begin()->position());
162  zDaudzFromPV = muTrkRef->dz(primaryVertices->begin()->position());
163  zDauChi2 = muTrkRef->normalizedChi2();
164  zDauTrkChi2 = muTrkRef->normalizedChi2();
165  zDauNofStripHits = muTrkRef->hitPattern().numberOfValidStripHits();
166  zDauNofPixelHits = muTrkRef->hitPattern().numberOfValidPixelHits();
167  }
168  tk.addUserFloat("zDau_dxyFromBS", zDaudxyFromBS);
169  tk.addUserFloat("zDau_dzFromBS", zDaudzFromBS);
170  tk.addUserFloat("zDau_dxyFromPV", zDaudxyFromPV);
171  tk.addUserFloat("zDau_dzFromPV", zDaudzFromPV);
172  tk.addUserFloat("zDau_NofMuonHits", zDauNofMuonHits);
173  tk.addUserFloat("zDau_TrkNofStripHits", zDauNofStripHits);
174  tk.addUserFloat("zDau_TrkNofPixelHits", zDauNofPixelHits);
175  tk.addUserFloat("zDau_NofMuChambers", zDauNofMuChambers);
176  tk.addUserFloat("zDau_NofMuMatches", zDauNofMuMatches);
177  tk.addUserFloat("zDau_Chi2", zDauChi2);
178  tk.addUserFloat("zDau_TrkChi2", zDauTrkChi2);
179  tk.addUserFloat("zDau_SaChi2", zDauSaChi2);
180  tk.addUserFloat("zDau_MuEnergyEm", zDauMuEnergyEm);
181  tk.addUserFloat("zDau_MuEnergyHad", zDauMuEnergyHad);
182  }
183 
184  evt.put(std::move(tkColl));
185 }

References pat::PATObject< ObjectType >::addUserFloat(), alpha_, beamSpotToken_, beta_, dREcal_, dRHcal_, dRTrk_, dRVetoTrk_, etEcalThreshold_, etHcalThreshold_, edm::Event::getByToken(), mps_fire::i, edm::Ref< C, T, F >::isNonnull(), isolation(), eostools::move(), reco::BeamSpot::position(), zMuMuMuonUserData::primaryVertices, primaryVerticesToken_, ptThreshold_, edm::Event::put(), pat::GenericParticle::setIsolation(), srcToken_, pat::GenericParticle::track(), PDWG_EXOHSCP_cff::tracks, pat::User1Iso, pat::User2Iso, pat::User3Iso, pat::User4Iso, and pat::User5Iso.

Member Data Documentation

◆ alpha_

double ZMuMuTrackUserData::alpha_
private

Definition at line 38 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ beamSpotToken_

EDGetTokenT<BeamSpot> ZMuMuTrackUserData::beamSpotToken_
private

Definition at line 35 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ beta_

double ZMuMuTrackUserData::beta_
private

Definition at line 38 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ dREcal_

double ZMuMuTrackUserData::dREcal_
private

Definition at line 37 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ dRHcal_

double ZMuMuTrackUserData::dRHcal_
private

Definition at line 37 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ dRTrk_

double ZMuMuTrackUserData::dRTrk_
private

Definition at line 37 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ dRVetoTrk_

double ZMuMuTrackUserData::dRVetoTrk_
private

Definition at line 37 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ etEcalThreshold_

double ZMuMuTrackUserData::etEcalThreshold_
private

Definition at line 37 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ etHcalThreshold_

double ZMuMuTrackUserData::etHcalThreshold_
private

Definition at line 37 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ primaryVerticesToken_

EDGetTokenT<VertexCollection> ZMuMuTrackUserData::primaryVerticesToken_
private

Definition at line 36 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ ptThreshold_

double ZMuMuTrackUserData::ptThreshold_
private

Definition at line 37 of file ZMuMuTrackUserData.cc.

Referenced by produce().

◆ srcToken_

EDGetTokenT<vector<pat::GenericParticle> > ZMuMuTrackUserData::srcToken_
private

Definition at line 34 of file ZMuMuTrackUserData.cc.

Referenced by produce().

ewkMuLumiMonitorDQM_cfi.ptThreshold
ptThreshold
Definition: ewkMuLumiMonitorDQM_cfi.py:13
ZMuMuTrackUserData::dRVetoTrk_
double dRVetoTrk_
Definition: ZMuMuTrackUserData.cc:37
pat::User3Iso
Definition: Isolation.h:19
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
zMuMuMuonUserData.dRHcal
dRHcal
Definition: zMuMuMuonUserData.py:19
mps_fire.i
i
Definition: mps_fire.py:355
pat::EcalIso
Definition: Isolation.h:11
ZMuMuTrackUserData::dREcal_
double dREcal_
Definition: ZMuMuTrackUserData.cc:37
ZMuMuTrackUserData::etEcalThreshold_
double etEcalThreshold_
Definition: ZMuMuTrackUserData.cc:37
ZMuMuTrackUserData::ptThreshold_
double ptThreshold_
Definition: ZMuMuTrackUserData.cc:37
ZMuMuTrackUserData::beamSpotToken_
EDGetTokenT< BeamSpot > beamSpotToken_
Definition: ZMuMuTrackUserData.cc:35
ZMuMuTrackUserData::beta_
double beta_
Definition: ZMuMuTrackUserData.cc:38
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
zMuMuMuonUserData.beta
beta
Definition: zMuMuMuonUserData.py:10
ZMuMuCategoriesSequences_cff.trkIso
trkIso
Definition: ZMuMuCategoriesSequences_cff.py:140
ZMuMuTrackUserData::alpha_
double alpha_
Definition: ZMuMuTrackUserData.cc:38
pat::User5Iso
Definition: Isolation.h:21
edm::Handle
Definition: AssociativeIterator.h:50
edm::Ref< TrackCollection >
pat::User4Iso
Definition: Isolation.h:20
reco::isodeposit::ConeVeto
Definition: IsoDepositVetos.h:9
pat::User1Iso
Definition: Isolation.h:17
pat::GenericParticle::setIsolation
void setIsolation(IsolationKeys key, float value)
Definition: GenericParticle.h:201
zMuMuMuonUserData.dREcal
dREcal
Definition: zMuMuMuonUserData.py:18
objects.autophobj.relIso
relIso
Definition: autophobj.py:169
zMuMuMuonUserData.dRTrk
dRTrk
Definition: zMuMuMuonUserData.py:17
reco::IsoDeposit::AbsVetos
isodeposit::AbsVetos AbsVetos
Definition: IsoDeposit.h:53
ZMuMuTrackUserData::srcToken_
EDGetTokenT< vector< pat::GenericParticle > > srcToken_
Definition: ZMuMuTrackUserData.cc:34
edm::Event::getByToken
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:528
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
OrderedSet.t
t
Definition: OrderedSet.py:90
ZMuMuTrackUserData::etHcalThreshold_
double etHcalThreshold_
Definition: ZMuMuTrackUserData.cc:37
pat::User2Iso
Definition: Isolation.h:18
pat::GenericParticle
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed)
Definition: GenericParticle.h:38
zMuMuMuonUserData.primaryVertices
primaryVertices
Definition: zMuMuMuonUserData.py:12
zMuMuMuonUserData.dRVetoTrk
dRVetoTrk
Definition: zMuMuMuonUserData.py:16
ZMuMuTrackUserData::isolation
vector< double > isolation(const T &t, double ptThreshold, double etEcalThreshold, double etHcalThreshold, double dRVetoTrk, double dRTrk, double dREcal, double dRHcal, double alpha, double beta)
Definition: ZMuMuTrackUserData.cc:53
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
pat::TrackIso
Definition: Isolation.h:10
reco::IsoDeposit::sumWithin
double sumWithin(double coneSize, const AbsVetos &vetos=AbsVetos(), bool skipDepositVeto=false) const
Definition: IsoDeposit.cc:137
pat::PATObject::addUserFloat
void addUserFloat(const std::string &label, float data, const bool overwrite=false)
Set user-defined float.
Definition: PATObject.h:897
pat::HcalIso
Definition: Isolation.h:12
edm::Event::put
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:132
zMuMuMuonUserData.etEcalThreshold
etEcalThreshold
Definition: zMuMuMuonUserData.py:14
reco::isodeposit::ThresholdVeto
Definition: IsoDepositVetos.h:21
looper.cfg
cfg
Definition: looper.py:297
eostools.move
def move(src, dest)
Definition: eostools.py:511
reco::isodeposit::Direction
Definition: IsoDepositDirection.h:19
reco::IsoDeposit
Definition: IsoDeposit.h:49
pat::GenericParticle::track
reco::TrackRef track() const override
Definition: GenericParticle.h:62
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:126
ZMuMuTrackUserData::primaryVerticesToken_
EDGetTokenT< VertexCollection > primaryVerticesToken_
Definition: ZMuMuTrackUserData.cc:36
ZMuMuTrackUserData::dRHcal_
double dRHcal_
Definition: ZMuMuTrackUserData.cc:37
edm::InputTag
Definition: InputTag.h:15
ZMuMuTrackUserData::dRTrk_
double dRTrk_
Definition: ZMuMuTrackUserData.cc:37
zMuMuMuonUserData.etHcalThreshold
etHcalThreshold
Definition: zMuMuMuonUserData.py:15
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23