@@ -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
4142void 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