Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MergeCalCollections::MergeCalCollections Class Reference
Inheritance diagram for MergeCalCollections::MergeCalCollections:
art::EDProducer art::ProducerBase art::Consumer art::EngineCreator art::ProductRegistryHelper

Public Types

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

Public Member Functions

 MergeCalCollections (fhicl::ParameterSet const &pset)
 
virtual ~MergeCalCollections ()
 
void produce (art::Event &evt)
 
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

CurrentProcessingContext const * currentContext () const
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Protected Attributes

std::string fFirstCollection
 
std::string fSecondCollection
 Label on the main collection. More...
 
bool fFirstCollectionIsMC
 Label on the main collection. More...
 
bool fSecondCollectionIsMC
 First collection is MC. More...
 
bool fRemoveFirstCollectionNoise
 Second collection is MC. More...
 
bool fRemoveSecondCollectionNoise
 Don't mix in noise hits from first collection, if it is MC. More...
 
std::string fInstanceLabel
 Don't mix in noise hits from second collection, if it is MC. More...
 

Detailed Description

Definition at line 31 of file MergeCalCollections_module.cc.

Member Typedef Documentation

using art::EDProducer::ModuleType = EDProducer
inherited

Definition at line 34 of file EDProducer.h.

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

MergeCalCollections::MergeCalCollections::MergeCalCollections ( fhicl::ParameterSet const &  pset)
explicit

Definition at line 56 of file MergeCalCollections_module.cc.

56  :
57  fFirstCollection (pset.get< std::string >("FirstCollection")),
58  fSecondCollection (pset.get< std::string >("SecondCollection")),
59  fFirstCollectionIsMC (pset.get< bool >("FirstCollectionIsMC")),
60  fSecondCollectionIsMC (pset.get< bool >("SecondCollectionIsMC")),
61  fRemoveFirstCollectionNoise (pset.get< bool >("RemoveFirstCollectionNoise")),
62  fRemoveSecondCollectionNoise(pset.get< bool >("RemoveSecondCollectionNoise")),
63  fInstanceLabel (pset.get< std::string >("InstanceLabel"))
64  {
65  produces< std::vector<rb::CellHit> >(fInstanceLabel);
66  }
bool fFirstCollectionIsMC
Label on the main collection.
bool fRemoveFirstCollectionNoise
Second collection is MC.
bool fRemoveSecondCollectionNoise
Don&#39;t mix in noise hits from first collection, if it is MC.
std::string fInstanceLabel
Don&#39;t mix in noise hits from second collection, if it is MC.
std::string fSecondCollection
Label on the main collection.
enum BeamMode string
MergeCalCollections::MergeCalCollections::~MergeCalCollections ( )
virtual

Definition at line 69 of file MergeCalCollections_module.cc.

70  {
71  }

Member Function Documentation

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
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 MergeCalCollections::MergeCalCollections::produce ( art::Event evt)
virtual

Second collection

Implements art::EDProducer.

Definition at line 74 of file MergeCalCollections_module.cc.

References DEFINE_ART_MODULE(), art::DataViewImpl::getByLabel(), MECModelEnuComparisons::i, cheat::BackTracker::IsNoise(), art::Event::put(), and rawdata::RawDigit::SetMC().

75  {
76 
77  std::unique_ptr< std::vector<rb::CellHit> > digitcol (new std::vector<rb::CellHit>);
78 
81 
82  // Pull the MC generator information out of the event
84  evt.getByLabel(fFirstCollection, digitlist);
85 
86  for(unsigned int i = 0; i < digitlist->size(); ++i){
87 
88  rb::CellHit digit ((*digitlist)[i]);
89  digit.SetMC(fFirstCollectionIsMC);
91  // Make a cell hit out of this daw hit. Needed because
92  // truth matching needs to know the hit time to some
93  // accuracy to match it to a truth particle
94  if(!bt->IsNoise(digit))
95  digitcol->push_back(digit);
96  }
97  else
98  digitcol->push_back(digit);
99  }
100 
101  ///Second collection
103  evt.getByLabel(fSecondCollection, digit2list);
104 
105  for(unsigned int i = 0; i < digit2list->size(); ++i){
106 
107  rb::CellHit digit ((*digit2list)[i]);
108  digit.SetMC(fSecondCollectionIsMC);
109 
111  // Make a cell hit out of this daw hit. Needed because
112  // truth matching needs to know the hit time to some
113  // accuracy to match it to a truth particle
114  if(!bt->IsNoise(digit))
115  digitcol->push_back(digit);
116  }
117  else{
118  digitcol->push_back(digit);
119  }
120  }
121 
122  // put the collections in the event
123  evt.put(std::move(digitcol), fInstanceLabel);
124 
125  }
bool fFirstCollectionIsMC
Label on the main collection.
bool IsNoise(const art::Ptr< rb::CellHit > &hit) const
Is this hit not associated with any particles?
ProductID put(std::unique_ptr< PROD > &&product)
Definition: Event.h:102
bool fRemoveFirstCollectionNoise
Second collection is MC.
A rawdata::RawDigit with channel information decoded.
Definition: CellHit.h:27
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const
Definition: DataViewImpl.h:344
bool fRemoveSecondCollectionNoise
Don&#39;t mix in noise hits from first collection, if it is MC.
std::string fInstanceLabel
Don&#39;t mix in noise hits from second collection, if it is MC.
std::string fSecondCollection
Label on the main collection.
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

std::string MergeCalCollections::MergeCalCollections::fFirstCollection
protected

Definition at line 42 of file MergeCalCollections_module.cc.

bool MergeCalCollections::MergeCalCollections::fFirstCollectionIsMC
protected

Label on the main collection.

Definition at line 45 of file MergeCalCollections_module.cc.

std::string MergeCalCollections::MergeCalCollections::fInstanceLabel
protected

Don't mix in noise hits from second collection, if it is MC.

Definition at line 51 of file MergeCalCollections_module.cc.

bool MergeCalCollections::MergeCalCollections::fRemoveFirstCollectionNoise
protected

Second collection is MC.

Definition at line 48 of file MergeCalCollections_module.cc.

bool MergeCalCollections::MergeCalCollections::fRemoveSecondCollectionNoise
protected

Don't mix in noise hits from first collection, if it is MC.

Definition at line 49 of file MergeCalCollections_module.cc.

std::string MergeCalCollections::MergeCalCollections::fSecondCollection
protected

Label on the main collection.

Definition at line 43 of file MergeCalCollections_module.cc.

bool MergeCalCollections::MergeCalCollections::fSecondCollectionIsMC
protected

First collection is MC.

Definition at line 46 of file MergeCalCollections_module.cc.


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