Skip to content

Commit 05e17df

Browse files
authored
Merge pull request #209 from sarahgaiser/fix_event_processor_trigger
remove dependence on VTPBank collection
2 parents 0c6bc69 + 408b473 commit 05e17df

4 files changed

Lines changed: 48 additions & 33 deletions

File tree

processors/config/recoTuple_cfg.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@
5555
header.parameters["headCollRoot"] = "EventHeader"
5656
header.parameters["trigCollLcio"] = "TriggerBank"
5757
header.parameters["rfCollLcio"] = "RFHits"
58-
header.parameters["vtpCollLcio"] = "VTPBank"
59-
header.parameters["vtpCollRoot"] = "VTPBank"
58+
#header.parameters["vtpCollLcio"] = "VTPBank"
59+
#header.parameters["vtpCollRoot"] = "VTPBank"
6060
header.parameters["tsCollLcio"] = "TSBank"
6161
header.parameters["tsCollRoot"] = "TSBank"
6262

processors/config/recoTuple_noHitColl_cfg.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@
5555
header.parameters["headCollRoot"] = "EventHeader"
5656
header.parameters["trigCollLcio"] = "TriggerBank"
5757
header.parameters["rfCollLcio"] = "RFHits"
58-
header.parameters["vtpCollLcio"] = "VTPBank"
59-
header.parameters["vtpCollRoot"] = "VTPBank"
58+
#header.parameters["vtpCollLcio"] = "VTPBank"
59+
#header.parameters["vtpCollRoot"] = "VTPBank"
6060
header.parameters["tsCollLcio"] = "TSBank"
6161
header.parameters["tsCollRoot"] = "TSBank"
6262

processors/include/EventProcessor.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ class EventProcessor : public Processor {
9999

100100
/** Containers for vtp data */
101101
VTPData* vtpData{nullptr};
102-
std::string vtpCollLcio_{"VTPBank"}; //!< description
103-
std::string vtpCollRoot_{"VTPBank"}; //!< description
102+
std::string vtpCollLcio_{""}; //!< description
103+
std::string vtpCollRoot_{""}; //!< description
104104

105105
/** Containers for ts data */
106106
TSData* tsData{nullptr};
@@ -117,6 +117,7 @@ class EventProcessor : public Processor {
117117
std::map<int,std::vector<int >> run_evts_map_; //!< description
118118

119119
int debug_{0}; //!< Debug Level
120+
int year_{2021};
120121

121122
}; // EventProcessor
122123

processors/src/EventProcessor.cxx

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ void EventProcessor::configure(const ParameterSet& parameters) {
2828
vtpCollRoot_ = parameters.getString("vtpCollRoot", vtpCollRoot_ );
2929
tsCollLcio_ = parameters.getString("tsCollLcio", tsCollLcio_);
3030
tsCollRoot_ = parameters.getString("tsCollRoot", tsCollRoot_);
31-
31+
year_ = parameters.getInteger("year", year_);
32+
3233
//For single events debugging pass a txt list of <runN> <evtN> to only select specific events
3334
run_evt_list_ = parameters.getString("debugSingleEvents",run_evt_list_);
3435
}
@@ -40,10 +41,10 @@ void EventProcessor::configure(const ParameterSet& parameters) {
4041

4142
void EventProcessor::initialize(TTree* tree) {
4243
header_ = new EventHeader();
43-
vtpData = new VTPData();
44+
if (vtpCollLcio_ != "") vtpData = new VTPData();
4445
tsData = new TSData();
4546
tree->Branch(headCollRoot_.c_str(), &header_);
46-
tree->Branch(vtpCollRoot_.c_str(), &vtpData);
47+
if (vtpCollLcio_ != "") tree->Branch(vtpCollRoot_.c_str(), &vtpData);
4748
tree->Branch(tsCollRoot_.c_str(), &tsData);
4849

4950
//Cache everything in a map
@@ -112,38 +113,50 @@ bool EventProcessor::process(IEvent* ievent) {
112113
// Set the SVT event header state
113114
header_->setSvtEventHeaderState(lc_event->getParameters().getIntVal("svt_event_header_good"));
114115

115-
// First try to read "new/2019" trigger format, if not available assume it is "old/2016"
116-
try {
117-
EVENT::LCCollection* vtp_data
118-
= static_cast<EVENT::LCCollection*>(event->getLCCollection(vtpCollLcio_.c_str()));
119-
120-
EVENT::LCGenericObject* vtp_datum
121-
= static_cast<EVENT::LCGenericObject*>(vtp_data->getElementAt(0));
116+
if (year_ >= 2019) {
117+
if (vtpCollLcio_ != "") {
118+
try {
119+
EVENT::LCCollection* vtp_data
120+
= static_cast<EVENT::LCCollection*>(event->getLCCollection(vtpCollLcio_.c_str()));
122121

123-
EVENT::LCCollection* ts_data
124-
= static_cast<EVENT::LCCollection*>(event->getLCCollection(tsCollLcio_.c_str()));
122+
123+
EVENT::LCGenericObject* vtp_datum
124+
= static_cast<EVENT::LCGenericObject*>(vtp_data->getElementAt(0));
125125

126-
EVENT::LCGenericObject* ts_datum
127-
= static_cast<EVENT::LCGenericObject*>(ts_data->getElementAt(0));
128-
129-
parseVTPData(vtp_datum);
130-
parseTSData(ts_datum);
131-
132-
}
133-
catch(EVENT::DataNotAvailableException e)
134-
{
126+
parseVTPData(vtp_datum);
127+
}
128+
catch (EVENT::DataNotAvailableException e) {
129+
std::cout << "EventProcessor::process: 2019/2021 VTP trigger collection requested but missing!" << std::endl;
130+
return false;
131+
}
132+
}
133+
try {
134+
EVENT::LCCollection* ts_data
135+
= static_cast<EVENT::LCCollection*>(event->getLCCollection(tsCollLcio_.c_str()));
136+
137+
EVENT::LCGenericObject* ts_datum
138+
= static_cast<EVENT::LCGenericObject*>(ts_data->getElementAt(0));
139+
140+
parseTSData(ts_datum);
141+
}
142+
catch (EVENT::DataNotAvailableException e) {
143+
std::cout << "EventProcessor::process: 2019/2021 TSBank trigger collection is missing!" << std::endl;
144+
return false;
145+
}
146+
}
147+
else if (year_ == 2016 or year_ == 2015) {
135148
// Get old version of trigger data
136-
EVENT::LCCollection* trigger_data
149+
EVENT::LCCollection* trigger_data
137150
= static_cast<EVENT::LCCollection*>(event->getLCCollection(trigCollLcio_.c_str()));
138151

139-
for (int itrigger = 0; itrigger < trigger_data->getNumberOfElements(); ++itrigger) {
152+
for (int itrigger = 0; itrigger < trigger_data->getNumberOfElements(); ++itrigger) {
140153

141-
EVENT::LCGenericObject* trigger_datum
154+
EVENT::LCGenericObject* trigger_datum
142155
= static_cast<EVENT::LCGenericObject*>(trigger_data->getElementAt(itrigger));
143156

144-
if (trigger_datum->getIntVal(0) == 0xe10a) {
157+
if (trigger_datum->getIntVal(0) == 0xe10a) {
145158

146-
TriggerData* tdata = new TriggerData(trigger_datum);
159+
TriggerData* tdata = new TriggerData(trigger_datum);
147160
header_->setSingle0Trigger(static_cast<int>(tdata->isSingle0Trigger()));
148161
header_->setSingle1Trigger(static_cast<int>(tdata->isSingle1Trigger()));
149162
header_->setPair0Trigger(static_cast<int>(tdata->isPair0Trigger()));
@@ -153,9 +166,10 @@ bool EventProcessor::process(IEvent* ievent) {
153166
delete tdata;
154167
break;
155168
}
156-
}
169+
}
157170
}
158171

172+
159173
try {
160174
// Get the LCIO GenericObject collection containing the RF times
161175
EVENT::LCCollection* rf_hits

0 commit comments

Comments
 (0)