6 void TofBaseData::Fill(BetaR *betaPtr, BetaHR *betahPtr,
bool standalone) {
7 if (betaPtr && !standalone) {
12 Beta[
BetaType::BetaH] = _isMC ? betahPtr->GetMCBeta() : betahPtr->GetBeta();
16 if (betahPtr->IsGoodQPathL(0) || betahPtr->IsGoodQPathL(1))
18 betahPtr->GetQ(nlayers, qrms, 2, TofClusterHR::DefaultQOptIon,
19 1000 * betahPtr->IsGoodQPathL(0) + 100 * betahPtr->IsGoodQPathL(1), Beta[
BetaType::BetaH]);
20 if (betahPtr->IsGoodQPathL(2) || betahPtr->IsGoodQPathL(3))
22 betahPtr->GetQ(nlayers, qrms, 2, TofClusterHR::DefaultQOptIon,
23 10 * betahPtr->IsGoodQPathL(2) + 1 * betahPtr->IsGoodQPathL(3), Beta[
BetaType::BetaH]);
24 if ((betahPtr->IsGoodQPathL(0) || betahPtr->IsGoodQPathL(1)) &&
25 (betahPtr->IsGoodQPathL(2) || betahPtr->IsGoodQPathL(3)))
26 Charge[
ChargeType::Total] = betahPtr->GetQ(nlayers, qrms, 2, TofClusterHR::DefaultQOptIon,
27 1000 * betahPtr->IsGoodQPathL(0) + 100 * betahPtr->IsGoodQPathL(1) +
28 10 * betahPtr->IsGoodQPathL(2) + 1 * betahPtr->IsGoodQPathL(3),
34 betahPtr->TInterpolate(
tofRefZ, tofh_point, tofh_dir, tofh_time,
false);
35 m_pointAndDir.emplace_back(tofh_point.x(), tofh_point.y(), tofh_point.z());
36 m_pointAndDir.emplace_back(tofh_dir.x(), tofh_dir.y(), tofh_dir.z());
41 LayerGoodPathl.resize(4);
42 LayerCharge.resize(4);
45 void TofPlusData::Fill(BetaR *betaPtr, BetaHR *betahPtr,
bool standalone) {
46 auto *evPtr = AMSEventR::Head();
48 if (betaPtr && !standalone) {
53 short tofhbetapatt = 0;
54 for (
int i = 0; i < 4; i++) {
55 if (!(betahPtr->TestExistHL(i))) {
56 tofhbetapatt =
static_cast<short>(tofhbetapatt | (1 << i));
61 Chi2Coo = betahPtr->GetNormChi2C();
62 Chi2Time = betahPtr->GetNormChi2T();
64 NTrkClusters =
static_cast<short>(betahPtr->GetSumHit());
65 NBetaClusters =
static_cast<short>(betahPtr->GetUseHit());
70 betahPtr->GetQ(nhit, qrms);
71 NChargeClusters =
static_cast<short>(nhit);
74 betahPtr->GetZ(nhit, ChargeLikelihood);
77 for (
int ip = 0; ip < 4; ip++) {
78 LayerGoodPathl[ip] = betahPtr->IsGoodQPathL(ip);
79 LayerCharge[ip] = betahPtr->GetQL(ip);
80 if (betahPtr->GetClusterHL(ip)) {
81 LayerEdep[ip] = betahPtr->GetClusterHL(ip)->GetEdep();
85 if (betahPtr->TestExistHL(ip)) {
86 float ltime = betahPtr->GetTime(ip);
87 for (
auto &cluster : evPtr->TofClusterH()) {
88 if (cluster.Layer != ip || (cluster.NBetaHUsed() > 0) || !cluster.IsGoodTime())
91 float dt = cluster.Time - ltime;
92 float tcut = ip < 2 ? 10 : 4;
95 if (std::fabs(dt) <= tcut)
Charge estimated using the upper half of the TRD.
Tof container class description.
Charge estimated using the whole TRD.
Charge estimated using the lower half of the TRD.