32 DELTA_T_CLUSTER_MAX = 5;
33 gPARMS->SetDefaultParameter(
"TAGMHit:DELTA_T_CLUSTER_MAX",DELTA_T_CLUSTER_MAX,
34 "Maximum time difference in ns between hits in adjacent"
35 " columns to be merged");
38 gPARMS->SetDefaultParameter(
"TAGMHit:MERGE_HITS",MERGE_HITS,
39 "Merge neighboring hits when true");
43 SetFactoryFlag(NOT_OBJECT_OWNER);
65 vector<const DTAGMHit*> hits;
66 loop->Get(hits,
"Calib");
68 sort(hits.begin(), hits.end(),
SortByCol);
70 set<uint32_t> locHitIndexUsedSoFar;
72 for(uint32_t i = 0; i < hits.size(); ++i)
76 if (hit_i->
row > 0 || !MERGE_HITS)
78 _data.push_back(const_cast<DTAGMHit*>(hit_i));
84 if (locHitIndexUsedSoFar.find(i) != locHitIndexUsedSoFar.end())
continue;
86 for (uint32_t j = i+1; j < hits.size(); ++j)
91 if (hit_j->
row > 0)
continue;
94 double deltaT = hit_i->
t - hit_j->
t;
96 if (abs(colDiff) == 1 && fabs(deltaT) <= DELTA_T_CLUSTER_MAX)
98 locHitIndexUsedSoFar.insert(j);
102 _data.push_back(const_cast<DTAGMHit*>(hit_i));
jerror_t erun(void)
Called everytime run number changes, if brun has been called.
jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber)
Called every event.
bool SortByCol(const DTAGMHit *a, const DTAGMHit *b)
jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber)
Called everytime a new run number is detected.
jerror_t init(void)
Called once at program start.
jerror_t fini(void)
Called after last event of last event source has been processed.