Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions include/LcfiplusProcessor.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,8 @@ class LcfiplusProcessor : public Processor, public lcfiplus::EventStoreObserver

private:

// lciostorer singleton
static lcfiplus::LCIOStorer* _lcio;
bool _lcioowner;
// lciostorer
lcfiplus::LCIOStorer* _lcio;

int _useMcp;

Expand Down
34 changes: 9 additions & 25 deletions src/LcfiplusProcessor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@ using namespace lcfiplus ;

LcfiplusProcessor aLcfiplusProcessor ;

// static object initialization
LCIOStorer* LcfiplusProcessor::_lcio = 0;

LcfiplusProcessor::LcfiplusProcessor() : Processor("LcfiplusProcessor") {

_inInit = false;
Expand Down Expand Up @@ -139,26 +136,13 @@ void LcfiplusProcessor::init() {
_param->add(keys[i].c_str(), vals);
}

// initialize LCIOStorer
if (!_lcio) {
_lcio = new LCIOStorer(0,0,true,false,0); // no file
_lcio->setReadSubdetectorEnergies(_readSubdetectorEnergies);
_lcio->setTrackHitOrdering(_trackHitOrdering);
_lcio->setUpdateVertexRPDaughters(_updateVertexRPDaughters);
_lcio->setIgnoreLackOfVertexRP(_ignoreLackOfVertexRP);
_lcio->setParticleIDAlgorithmName(_pidAlgoName.c_str());

_lcioowner = true;
} else {
_lcioowner = false;

if ((_lcio->getReadSubdetectorEnergies() != _readSubdetectorEnergies)
||(_lcio->getTrackHitOrdering() != _trackHitOrdering)
||(_lcio->getUpdateVertexRPDaughters() != _updateVertexRPDaughters)
||(_lcio->getIgnoreLackOfVertexRP() != _ignoreLackOfVertexRP)) {
throw (lcfiplus::Exception("Global parameters do not match to previous processors: specify the same for all LcfiplusProcessors."));
}
}
// init LCIOStorer
_lcio = new LCIOStorer(0,0,true,false,0); // no file
_lcio->setReadSubdetectorEnergies(_readSubdetectorEnergies);
_lcio->setTrackHitOrdering(_trackHitOrdering);
_lcio->setUpdateVertexRPDaughters(_updateVertexRPDaughters);
_lcio->setIgnoreLackOfVertexRP(_ignoreLackOfVertexRP);
_lcio->setParticleIDAlgorithmName(_pidAlgoName.c_str());

// load basic collection
if (_useMcp)
Expand Down Expand Up @@ -226,9 +210,9 @@ void LcfiplusProcessor::processEvent( LCEvent* evt ) {
if(_autoJet)
_lcio->InitJetCollectionsAuto(evt);
*/

// set LCEvent
if (_lcioowner)
_lcio->SetEvent(evt);
_lcio->SetEvent(evt);

// set deafult mcp/track/netural
Event::Instance()->setDefaultTracks(_pfoCollectionName.c_str());
Expand Down