Skip to content
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public void setWedgeHits(ArrayList<ATOFHit> wedge_hits) {
* @param atof the {@link Detector} representing the atof geometry to match
* the sector/layer/component to x/y/z.
*/
public void findHits(DataEvent event, Detector atof) {
public void findHits(DataEvent event, Detector atof, float startTime) {
//For each event a list of bar hits and a list of wedge hits are filled
this.barHits.clear();
this.wedgeHits.clear();
Expand All @@ -72,7 +72,6 @@ public void findHits(DataEvent event, Detector atof) {
//Check that the event start time is defined are done in the engine
//if (event.hasBank("REC::Event") &&
// event.getBank("REC::Event").getFloat("startTime", 0)!=-1000)
float startTime = event.getBank("REC::Event").getFloat("startTime", 0);

int nt = bank.rows(); // number of hits
//Hits in the bar downstream and upstream will be matched
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.jlab.service.atof;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;

import org.jlab.clas.reco.ReconstructionEngine;
import org.jlab.io.base.DataBank;
Expand Down Expand Up @@ -38,6 +38,8 @@ public ATOFEngine() {

private Detector ATOF;
private double b; //Magnetic field
private boolean useStartTime = true;
static final Logger LOGGER = Logger.getLogger(ATOFEngine.class.getName());

public void setB(double B) {
this.b = B;
Expand All @@ -56,15 +58,20 @@ public Detector getATOF() {

@Override
public boolean processDataEvent(DataEvent event) {

if (!event.hasBank("RUN::config")) {
return true;
}

//This assumes the FD reconstruction produced an event with good startTime
//All start time handling could be moved as an EB-type step later
if (!event.hasBank("REC::Event") || event.getBank("REC::Event").getFloat("startTime", 0)==-1000) {
return true;
float startTime = 0;
if(useStartTime)
{
//This assumes the FD reconstruction produced an event with good startTime
//All start time handling could be moved as an EB-type step later
if (!event.hasBank("REC::Event")) {
LOGGER.severe("REC::Event bank could not be read in ATOF engine while requestign starttime");
return true;
}
//Deal with FT TODO : if(event.getBank("REC::Event").getFloat("startTime", 0)==-1000)
else startTime = event.getBank("REC::Event").getFloat("startTime", 0);
}

DataBank bank = event.getBank("RUN::config");
Expand Down Expand Up @@ -98,7 +105,7 @@ public boolean processDataEvent(DataEvent event) {
// Why do we have to "find" hits?
//Hit finder init
HitFinder hitfinder = new HitFinder();
hitfinder.findHits(event, ATOF);
hitfinder.findHits(event, ATOF, startTime);

ArrayList<ATOFHit> WedgeHits = hitfinder.getWedgeHits();
ArrayList<BarHit> BarHits = hitfinder.getBarHits();
Expand Down Expand Up @@ -149,15 +156,19 @@ public boolean init() {
}

requireConstants(tableMap);

this.getConstantsManager().setVariation("default");

this.registerOutputBank("ATOF::hits", "ATOF::clusters");

String useStartTimeString = "UseStartTime";
if(this.getEngineConfigString(useStartTimeString)!=null) {
if ("true".equals(this.getEngineConfigString(useStartTimeString)))
this.useStartTime = true;
else if ("false".equals(this.getEngineConfigString(useStartTimeString)))
this.useStartTime = false;
else {LOGGER.severe("Invalid option parsed for ATOF UseStartTime"); return false;}
}
return true;
}

public static void main(String arg[]) {

}
}