Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
xsrec::MakeXSecCCPi0Inc Class Reference

Calculates a prong level PID level to select photons. More...

Inheritance diagram for xsrec::MakeXSecCCPi0Inc:
art::EDProducer art::ProducerBase art::Consumer art::EngineCreator art::ProductRegistryHelper

Public Types

using Parameters = art::EDProducer::Table< XSecCCPi0IncParams >
 
using ModuleType = EDProducer
 
using WorkerType = WorkerT< EDProducer >
 
template<typename UserConfig , typename KeysToIgnore = void>
using Table = ProducerBase::Table< UserConfig, KeysToIgnore >
 

Public Member Functions

 MakeXSecCCPi0Inc (const Parameters &params)
 
virtual ~MakeXSecCCPi0Inc ()
 
void produce (art::Event &evt)
 
void beginJob ()
 
template<typename PROD , BranchType B = InEvent>
ProductID getProductID (std::string const &instanceName={}) const
 
template<typename PROD , BranchType B>
ProductID getProductID (ModuleDescription const &moduleDescription, std::string const &instanceName) const
 
bool modifiesEvent () const
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< Tconsumes (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TconsumesView (InputTag const &it)
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< TmayConsume (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TmayConsumeView (InputTag const &it)
 
base_engine_tcreateEngine (seed_t seed)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label)
 
seed_t get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Protected Member Functions

double GetBPI (art::Ptr< rb::Prong > prng)
 Calc #Delta LL score input. More...
 
double GetPhLL (art::Ptr< rb::Prong > prng, double bpi, double gap)
 Calc #Delta LL. More...
 
int GetMuIdx (std::vector< art::Ptr< rb::Prong > > ps, TVector3 trkdir)
 Find prong corresponding to muon. More...
 
CurrentProcessingContext const * currentContext () const
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Protected Attributes

XSecCCPi0IncParams fParams
 
CCPi0LLInput fCCPi0LLInput
 

Detailed Description

Calculates a prong level PID level to select photons.

Definition at line 55 of file MakeXSecCCPi0Inc_module.cc.

Member Typedef Documentation

using art::EDProducer::ModuleType = EDProducer
inherited

Definition at line 34 of file EDProducer.h.

Definition at line 58 of file MakeXSecCCPi0Inc_module.cc.

template<typename UserConfig , typename KeysToIgnore = void>
using art::EDProducer::Table = ProducerBase::Table<UserConfig, KeysToIgnore>
inherited

Definition at line 43 of file EDProducer.h.

using art::EDProducer::WorkerType = WorkerT<EDProducer>
inherited

Definition at line 35 of file EDProducer.h.

Constructor & Destructor Documentation

xsrec::MakeXSecCCPi0Inc::MakeXSecCCPi0Inc ( const Parameters params)
explicit

Definition at line 80 of file MakeXSecCCPi0Inc_module.cc.

81  : fParams(params())
82  {
83  produces< std::vector< xsrec::XSecCCPi0Inc> >();
84  produces< art::Assns< xsrec::XSecCCPi0Inc, rb::Prong> >();
85  }
xsrec::MakeXSecCCPi0Inc::~MakeXSecCCPi0Inc ( )
virtual

Definition at line 87 of file MakeXSecCCPi0Inc_module.cc.

87 {}

Member Function Documentation

void xsrec::MakeXSecCCPi0Inc::beginJob ( )
virtual

Reimplemented from art::EDProducer.

Definition at line 89 of file MakeXSecCCPi0Inc_module.cc.

References xsrec::CCPi0LLInput::fBPIEPH_oth, xsrec::CCPi0LLInput::fBPIEPH_phot, fCCPi0LLInput, xsrec::CCPi0LLInput::fGapNMP_oth, xsrec::CCPi0LLInput::fGapNMP_phot, cet::search_path::find_file(), fParams, xsrec::XSecCCPi0IncParams::llInput, and string.

90  {
91  // Load in template hists for #Delta LL
92  cet::search_path sp("XSECCCPI0INC_LIB_PATH");
93  std::string CCPi0IDTemplateName;
94  if (!sp.find_file(fParams.llInput(),CCPi0IDTemplateName))
95  throw cet::exception("MakeXSecCCPi0Inc")
96  << fParams.llInput()
97  << "could not be located";
98 
99  TFile *tempfile = TFile::Open(CCPi0IDTemplateName.c_str());
100  tempfile->cd();
101  fCCPi0LLInput.fBPIEPH_phot = (TH2F*)tempfile->Get("bpiephsig");
102  fCCPi0LLInput.fBPIEPH_oth = (TH2F*)tempfile->Get("bpiephbac");
103  fCCPi0LLInput.fGapNMP_phot = (TH2F*)tempfile->Get("gapnmpsig");
104  fCCPi0LLInput.fGapNMP_oth = (TH2F*)tempfile->Get("gapnmpbac");
105  tempfile->Close();
106  }
::xsd::cxx::tree::exception< char > exception
Definition: Database.h:225
enum BeamMode string
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::consumes ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::consumes ( InputTag const &  it)
inherited

Definition at line 146 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

147 {
148  if (!moduleContext_)
149  return ProductToken<T>::invalid();
150 
151  consumables_[BT].emplace_back(ConsumableType::Product,
152  TypeID{typeid(T)},
153  it.label(),
154  it.instance(),
155  it.process());
156  return ProductToken<T>{it};
157 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::consumesMany ( )
inherited

Definition at line 161 of file Consumer.h.

References T.

162 {
163  if (!moduleContext_)
164  return;
165 
166  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
167 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::consumesView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::consumesView ( InputTag const &  it)
inherited

Definition at line 171 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

172 {
173  if (!moduleContext_)
174  return ViewToken<T>::invalid();
175 
176  consumables_[BT].emplace_back(ConsumableType::ViewElement,
177  TypeID{typeid(T)},
178  it.label(),
179  it.instance(),
180  it.process());
181  return ViewToken<T>{it};
182 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make 
)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make,
label_t const &  engine_label 
)
inherited
CurrentProcessingContext const* art::EDProducer::currentContext ( ) const
protectedinherited
seed_t art::EngineCreator::get_seed_value ( fhicl::ParameterSet const &  pset,
char const  key[] = "seed",
seed_t const  implicit_seed = -1 
)
inherited
double xsrec::MakeXSecCCPi0Inc::GetBPI ( art::Ptr< rb::Prong prng)
protected

Calc #Delta LL score input.

Get a BPI value for each prong - input to #Delta LL.

Definition at line 128 of file MakeXSecCCPi0Inc_module.cc.

References rb::RecoHit::GeV(), makeTrainCVSamples::int, rb::RecoHit::IsCalibrated(), submit_hadd::l, make_pair(), std::min(), rb::Cluster::NCell(), util::pythag(), rb::Cluster::RecoHit(), febshutoff_auto::start, rb::Prong::Start(), rb::RecoHit::X(), rb::RecoHit::Y(), and rb::RecoHit::Z().

Referenced by produce().

129  {
130  TVector3 start = prng->Start();
131  // Stores (dist to prong start, GeV) for each hit
132  std::vector< std::pair<double,double> > hitinfo;
133  // Loop over RecoHits
134  for (int rhIdx = 0; rhIdx < int(prng->NCell()); rhIdx++){
135  // Need to grap RecoHits for GeV / (x,y,z) estimate
136  rb::RecoHit rhit = prng->RecoHit(rhIdx);
137  if (!rhit.IsCalibrated()) continue;
138  double gev = rhit.GeV();
139  double l = util::pythag(start[0]-rhit.X(),
140  start[1]-rhit.Y(),
141  start[2]-rhit.Z()); // Cur hit to prong start
142  hitinfo.push_back(std::make_pair(l,gev));
143  }
144  // Default comparison is on first element (l), with second tie-breaking
145  std::sort(hitinfo.begin(),hitinfo.end());
146 
147  if (hitinfo.size() < 4) return -1; // Not defined for fewer than 4 hits
148  // Choose how many hits to consider "the end" and "the bulk"
149  int NHit = hitinfo.size();
150  int NEnd = std::min(6,NHit/2);
151  int NBulk = hitinfo.size()-NEnd;
152 
153  double endEPH = 0; double bulkEPH = 0;
154  for (int hIdx = 0; hIdx < NHit; hIdx++){
155  if (hIdx >= NHit-NEnd) // we're within NEnd cells of furthest
156  endEPH += hitinfo[hIdx].second / NEnd;
157  else // we're in the first NBulk cells
158  bulkEPH += hitinfo[hIdx].second / NBulk;
159  }
160  return bulkEPH > 0 ? endEPH / bulkEPH : -1; // guard against / by 0
161  }
unsigned int NCell(geo::View_t view) const
Number of cells in view view.
Definition: Cluster.cxx:134
float Z() const
Definition: RecoHit.h:38
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
Definition: DataMCLoad.C:336
virtual TVector3 Start() const
Definition: Prong.h:73
Calibrated quantities relying on position in the orthogonal view. To generate a rb::CellHit from a rb...
Definition: RecoHit.h:19
rb::RecoHit RecoHit(const art::Ptr< rb::CellHit > &chit) const
Return calibrated hit based on assumed W coordinate.
Definition: Cluster.cxx:259
bool IsCalibrated() const
You MUST check here before accessing PECorr, MIP or GeV.
Definition: RecoHit.cxx:35
float GeV() const
Definition: RecoHit.cxx:69
double pythag(double x, double y)
2D Euclidean distance
Definition: MathUtil.h:29
float X() const
Definition: RecoHit.h:36
float Y() const
Definition: RecoHit.h:37
T min(const caf::Proxy< T > &a, T b)
int xsrec::MakeXSecCCPi0Inc::GetMuIdx ( std::vector< art::Ptr< rb::Prong > >  ps,
TVector3  trkdir 
)
protected

Find prong corresponding to muon.

Determine which prong is the remid track, the most colinear.

Definition at line 110 of file MakeXSecCCPi0Inc_module.cc.

References dir.

Referenced by produce().

112  {
113  double maxcos = -2;
114  unsigned int muIdx = -1;
115  for (unsigned int pIdx = 0; pIdx < prngs.size(); pIdx++){
116  TVector3 dir = prngs[pIdx]->Dir().Unit();
117  // If current prong is more parallel to trk dir, update cos and muIdx
118  if (dir.Dot(trkdir) > maxcos){
119  maxcos = dir.Dot(trkdir);
120  muIdx = pIdx;
121  }
122  }
123  return muIdx;
124  }
TDirectory * dir
Definition: macro.C:5
double xsrec::MakeXSecCCPi0Inc::GetPhLL ( art::Ptr< rb::Prong prng,
double  bpi,
double  gap 
)
protected

Calc #Delta LL.

PhLL - the #Delta LL prong-level score calculator.

Definition at line 165 of file MakeXSecCCPi0Inc_module.cc.

References rb::Cluster::CalorimetricEnergy(), xsrec::CCPi0LLInput::fBPIEPH_oth, xsrec::CCPi0LLInput::fBPIEPH_phot, fCCPi0LLInput, xsrec::CCPi0LLInput::fGapNMP_oth, xsrec::CCPi0LLInput::fGapNMP_phot, geo::kXorY, test_ParserArtEvents::log, rb::Cluster::MostMissingPlanes(), and rb::Cluster::NCell().

Referenced by produce().

167  {
168  if (prng->NCell() < 4) return -20;
169  double eph = prng->CalorimetricEnergy()/prng->NCell();
170  int nmp = prng->MostMissingPlanes(geo::kXorY);
171 
172  // Get bin #'s for each var
173  int bpibin = fCCPi0LLInput.fBPIEPH_phot->GetXaxis()->FindBin(bpi);
174  int ephbin = fCCPi0LLInput.fBPIEPH_phot->GetYaxis()->FindBin(eph);
175  int gapbin = fCCPi0LLInput.fGapNMP_phot->GetXaxis()->FindBin(gap);
176  int nmpbin = fCCPi0LLInput.fGapNMP_phot->GetYaxis()->FindBin(nmp);
177  if (nmpbin > 10) nmpbin = 10; // Cap at max
178 
179  // Use input hists
180  double pphot = fCCPi0LLInput.fBPIEPH_phot->GetBinContent(bpibin,ephbin) *
181  fCCPi0LLInput.fGapNMP_phot->GetBinContent(gapbin,nmpbin);
182  double poth = fCCPi0LLInput.fBPIEPH_oth ->GetBinContent(bpibin,ephbin) *
183  fCCPi0LLInput.fGapNMP_oth ->GetBinContent(gapbin,nmpbin);
184 
185  // If we don't have any information, set to low number
186  if (pphot <= 0 || poth <= 0) return -20;
187 
188  // return #Delta LL
189  return std::log(pphot)-std::log(poth);
190  }
unsigned int NCell(geo::View_t view) const
Number of cells in view view.
Definition: Cluster.cxx:134
X or Y views.
Definition: PlaneGeo.h:30
int MostMissingPlanes(geo::View_t view) const
Longest run of adjacent planes with no hits.
Definition: Cluster.cxx:668
double CalorimetricEnergy(EEnergyCalcScheme escheme=kRecomputeEnergy) const
Simple estimate of neutrino energy.
Definition: Cluster.cxx:439
template<typename PROD , BranchType B>
ProductID art::EDProducer::getProductID ( std::string const &  instanceName = {}) const
inlineinherited

Definition at line 123 of file EDProducer.h.

References art::EDProducer::moduleDescription_.

Referenced by skim::NueSkimmer::CopyMichelSlice(), and skim::NueSkimmer::CopyMichelTrack().

124  {
125  return ProducerBase::getProductID<PROD, B>(moduleDescription_,
126  instanceName);
127  }
ModuleDescription moduleDescription_
Definition: EDProducer.h:115
template<typename PROD , BranchType B>
ProductID art::ProducerBase::getProductID ( ModuleDescription const &  moduleDescription,
std::string const &  instanceName 
) const
inherited

Definition at line 56 of file ProducerBase.h.

References art::ModuleDescription::moduleLabel().

Referenced by art::ProducerBase::modifiesEvent().

58  {
59  auto const& pd =
60  get_ProductDescription<PROD>(B, md.moduleLabel(), instanceName);
61  return pd.productID();
62  }
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::mayConsume ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::mayConsume ( InputTag const &  it)
inherited

Definition at line 189 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

190 {
191  if (!moduleContext_)
192  return ProductToken<T>::invalid();
193 
194  consumables_[BT].emplace_back(ConsumableType::Product,
195  TypeID{typeid(T)},
196  it.label(),
197  it.instance(),
198  it.process());
199  return ProductToken<T>{it};
200 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::mayConsumeMany ( )
inherited

Definition at line 204 of file Consumer.h.

References T.

205 {
206  if (!moduleContext_)
207  return;
208 
209  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
210 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::mayConsumeView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::mayConsumeView ( InputTag const &  it)
inherited

Definition at line 214 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

215 {
216  if (!moduleContext_)
217  return ViewToken<T>::invalid();
218 
219  consumables_[BT].emplace_back(ConsumableType::ViewElement,
220  TypeID{typeid(T)},
221  it.label(),
222  it.instance(),
223  it.process());
224  return ViewToken<T>{it};
225 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
bool art::ProducerBase::modifiesEvent ( ) const
inlineinherited

Definition at line 40 of file ProducerBase.h.

References art::ProducerBase::getProductID(), and string.

41  {
42  return true;
43  }
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
void xsrec::MakeXSecCCPi0Inc::produce ( art::Event evt)
virtual

Implements art::EDProducer.

Definition at line 195 of file MakeXSecCCPi0Inc_module.cc.

References util::CreateAssn(), DEFINE_ART_MODULE(), evt, fParams, GetBPI(), art::DataViewImpl::getByLabel(), GetMuIdx(), GetPhLL(), remid::HighestPIDTrack(), MECModelEnuComparisons::i, makeTrainCVSamples::int, Mag(), xsrec::XSecCCPi0IncParams::prong3DAssn, xsrec::XSecCCPi0IncParams::prongInput, art::Event::put(), xsrec::XSecCCPi0IncParams::remidInput, xsrec::XSecCCPi0Inc::SetBPI(), xsrec::XSecCCPi0Inc::SetIsMuProng(), xsrec::XSecCCPi0Inc::SetPhLL(), xsrec::XSecCCPi0IncParams::slicerInput, febshutoff_auto::start, xsrec::XSecCCPi0IncParams::trackInput, Unit(), and xsrec::XSecCCPi0IncParams::vertexInput.

196  {
197  // We make a vector of XSecCCPi0Inc, associating each with a prong
198  std::unique_ptr< std::vector<XSecCCPi0Inc> >
199  xsecccpi0col(new std::vector<XSecCCPi0Inc>);
200  std::unique_ptr< art::Assns<XSecCCPi0Inc, rb::Prong> >
201  xsecccpi0assncol(new art::Assns<XSecCCPi0Inc, rb::Prong>);
202 
203  // Pull out slice info, and associated tracks / vertices
205  evt.getByLabel(fParams.slicerInput(), slcs);
206  art::FindManyP<rb::Vertex> fmVertex(slcs, evt, fParams.vertexInput());
207  art::FindManyP<rb::Track> fmTrack(slcs, evt, fParams.trackInput());
208 
209  // Loop over slices
210  for (unsigned int sIdx = 0; sIdx < slcs->size(); sIdx++){
211  art::Ptr<rb::Cluster> slPtr(slcs,sIdx);
212  // Find vec of vertices, 3D prongs, trks
213  std::vector< art::Ptr<rb::Vertex> > vertexs = fmVertex.at(sIdx);
214  if (vertexs.size() == 0) continue; // We only get prongs if we see vertex
216  std::vector< art::Ptr<rb::Prong> > prngs = fmProng3d.at(0); // 1st entry
217 
218  std::vector< art::Ptr<rb::Track> > trks = fmTrack.at(sIdx);
219 
220  // Works on a prong-by-prong level, need to have a prong
221  if (prngs.size() == 0)
222  continue; // Don't bother calculating without a prong
223 
224  // Now, find the prong most parallel to muon
225  art::FindManyP<remid::ReMId> fmReMId(trks, evt, fParams.remidInput());
226  unsigned int bestReMIdIdx =
228 
229  // Start setting up BPI calculator //
230  ////////////////////////////////////////////////////////////////////
231 
232 
233  // Set muIdx = -1 if there is no track / suitable remid
234  int muIdx = bestReMIdIdx >= trks.size() ?
235  -1 : GetMuIdx(prngs,trks[bestReMIdIdx]->Dir().Unit());
236 
237  // Need to calculate vtx-prong gap
238  TVector3 vtx = vertexs[0]->GetXYZ();
239  for (int i = 0; i < int(prngs.size()); i++){
240 
241  TVector3 start = prngs[i]->Start();
242  double gap = (vtx-start).Mag(); // #Delta LL input
243  double bpi = GetBPI(prngs[i]); // #Delta LL input
244  double phll = GetPhLL(prngs[i],bpi,gap); // Calc #Delta LL
245  XSecCCPi0Inc curPID;
246 
247  curPID.SetBPI(bpi); // Can't calc this input var in CAFs
248  curPID.SetPhLL(phll);
249  curPID.SetIsMuProng(i==muIdx); // For convenience
250 
251  // Add to list of prong PID's / associations
252  xsecccpi0col->emplace_back(curPID);
253  util::CreateAssn(*this,evt,*(xsecccpi0col.get()),
254  prngs[i],*(xsecccpi0assncol.get()));
255 
256  } // End loop over prongs
257 
258  } // End loop over slices
259  evt.put(std::move(xsecccpi0col));
260  evt.put(std::move(xsecccpi0assncol));
261  } // End produce
static bool CreateAssn(art::EDProducer const &prod, art::Event &evt, std::vector< T > &a, art::Ptr< U > b, art::Assns< T, U > &assn, size_t indx=UINT_MAX, std::string const &instance=std::string())
Create a 1 to 1 association between a new product and one already in the event.
ProductID put(std::unique_ptr< PROD > &&product)
Definition: Event.h:102
int evt
double GetPhLL(art::Ptr< rb::Prong > prng, double bpi, double gap)
Calc #Delta LL.
TVector3 Unit() const
double GetBPI(art::Ptr< rb::Prong > prng)
Calc #Delta LL score input.
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
Definition: DataViewImpl.h:344
float Mag() const
int GetMuIdx(std::vector< art::Ptr< rb::Prong > > ps, TVector3 trkdir)
Find prong corresponding to muon.
unsigned int HighestPIDTrack(const std::vector< art::Ptr< rb::Track > > &sliceTracks, const std::string &remidModuleLabel, const art::Event &e)
Definition: ReMId.cxx:249
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

Referenced by art::RootOutput::endJob().

void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited

Member Data Documentation

CCPi0LLInput xsrec::MakeXSecCCPi0Inc::fCCPi0LLInput
protected

Definition at line 76 of file MakeXSecCCPi0Inc_module.cc.

Referenced by beginJob(), and GetPhLL().

XSecCCPi0IncParams xsrec::MakeXSecCCPi0Inc::fParams
protected

Definition at line 74 of file MakeXSecCCPi0Inc_module.cc.

Referenced by beginJob(), and produce().


The documentation for this class was generated from the following file: