1180 AutoResettingStringSteam sstr;
1182 std::string MaxTrackHitsIndexStr(
"[" + sstr.str() +
"]");
1184 std::string TrackLabel = tracker;
1185 std::string BranchName;
1187 BranchName =
"ntracks_" + TrackLabel;
1188 CreateBranch(BranchName, &
ntracks, BranchName +
"/S");
1189 std::string NTracksIndexStr =
"[" + BranchName +
"]";
1191 BranchName =
"trkId_" + TrackLabel;
1192 CreateBranch(BranchName,
trkId, BranchName + NTracksIndexStr +
"/S");
1194 BranchName =
"trkncosmictags_tagger_" + TrackLabel;
1197 BranchName =
"trkcosmicscore_tagger_" + TrackLabel;
1200 BranchName =
"trkcosmictype_tagger_" + TrackLabel;
1203 BranchName =
"trkncosmictags_flashmatch_" + TrackLabel;
1206 BranchName =
"trkcosmicscore_flashmatch_" + TrackLabel;
1209 BranchName =
"trkcosmictype_flashmatch_" + TrackLabel;
1212 BranchName =
"trkke_" + TrackLabel;
1213 CreateBranch(BranchName,
trkke, BranchName + NTracksIndexStr +
"[3]/F");
1215 BranchName =
"trkrange_" + TrackLabel;
1216 CreateBranch(BranchName,
trkrange, BranchName + NTracksIndexStr +
"[3]/F");
1218 BranchName =
"trkidtruth_recoutils_totaltrueenergy_" + TrackLabel;
1221 BranchName =
"trkidtruth_recoutils_totalrecocharge_" + TrackLabel;
1224 BranchName =
"trkidtruth_recoutils_totalrecohits_" + TrackLabel;
1227 BranchName =
"trkidtruth_" + TrackLabel;
1228 CreateBranch(BranchName,
trkidtruth, BranchName + NTracksIndexStr +
"[3]/I");
1230 BranchName =
"trkorigin_" + TrackLabel;
1231 CreateBranch(BranchName,
trkorigin, BranchName + NTracksIndexStr +
"[3]/S");
1233 BranchName =
"trkpdgtruth_" + TrackLabel;
1234 CreateBranch(BranchName,
trkpdgtruth, BranchName + NTracksIndexStr +
"[3]/I");
1236 BranchName =
"trkefftruth_" + TrackLabel;
1237 CreateBranch(BranchName,
trkefftruth, BranchName + NTracksIndexStr +
"[3]/F");
1239 BranchName =
"trksimIDEenergytruth_" + TrackLabel;
1242 BranchName =
"trksimIDExtruth_" + TrackLabel;
1243 CreateBranch(BranchName,
trksimIDExtruth, BranchName + NTracksIndexStr +
"[3]/F");
1245 BranchName =
"trksimIDEytruth_" + TrackLabel;
1246 CreateBranch(BranchName,
trksimIDEytruth, BranchName + NTracksIndexStr +
"[3]/F");
1248 BranchName =
"trksimIDEztruth_" + TrackLabel;
1249 CreateBranch(BranchName,
trksimIDEztruth, BranchName + NTracksIndexStr +
"[3]/F");
1251 BranchName =
"trkpurtruth_" + TrackLabel;
1252 CreateBranch(BranchName,
trkpurtruth, BranchName + NTracksIndexStr +
"[3]/F");
1254 BranchName =
"trkpitchc_" + TrackLabel;
1255 CreateBranch(BranchName,
trkpitchc, BranchName + NTracksIndexStr +
"[3]/F");
1257 BranchName =
"ntrkhits_" + TrackLabel;
1258 CreateBranch(BranchName,
ntrkhits, BranchName + NTracksIndexStr +
"[3]/S");
1261 BranchName =
"trkdedx_" + TrackLabel;
1262 CreateBranch(BranchName,
trkdedx, BranchName + NTracksIndexStr +
"[3]" + MaxTrackHitsIndexStr +
"/F");
1264 BranchName =
"trkdqdx_" + TrackLabel;
1265 CreateBranch(BranchName,
trkdqdx, BranchName + NTracksIndexStr +
"[3]" + MaxTrackHitsIndexStr +
"/F");
1267 BranchName =
"trkresrg_" + TrackLabel;
1268 CreateBranch(BranchName,
trkresrg, BranchName + NTracksIndexStr +
"[3]" + MaxTrackHitsIndexStr +
"/F");
1270 BranchName =
"trkxyz_" + TrackLabel;
1271 CreateBranch(BranchName,
trkxyz, BranchName + NTracksIndexStr +
"[3]" + MaxTrackHitsIndexStr +
"/F");
1274 BranchName =
"trkstartx_" + TrackLabel;
1275 CreateBranch(BranchName,
trkstartx, BranchName + NTracksIndexStr +
"/F");
1277 BranchName =
"trkstarty_" + TrackLabel;
1278 CreateBranch(BranchName,
trkstarty, BranchName + NTracksIndexStr +
"/F");
1280 BranchName =
"trkstartz_" + TrackLabel;
1281 CreateBranch(BranchName,
trkstartz, BranchName + NTracksIndexStr +
"/F");
1283 BranchName =
"trkstartd_" + TrackLabel;
1284 CreateBranch(BranchName,
trkstartd, BranchName + NTracksIndexStr +
"/F");
1286 BranchName =
"trkendx_" + TrackLabel;
1287 CreateBranch(BranchName,
trkendx, BranchName + NTracksIndexStr +
"/F");
1289 BranchName =
"trkendy_" + TrackLabel;
1290 CreateBranch(BranchName,
trkendy, BranchName + NTracksIndexStr +
"/F");
1292 BranchName =
"trkendz_" + TrackLabel;
1293 CreateBranch(BranchName,
trkendz, BranchName + NTracksIndexStr +
"/F");
1295 BranchName =
"trkendd_" + TrackLabel;
1296 CreateBranch(BranchName,
trkendd, BranchName + NTracksIndexStr +
"/F");
1298 BranchName =
"trktheta_" + TrackLabel;
1299 CreateBranch(BranchName,
trktheta, BranchName + NTracksIndexStr +
"/F");
1301 BranchName =
"trkphi_" + TrackLabel;
1302 CreateBranch(BranchName,
trkphi, BranchName + NTracksIndexStr +
"/F");
1304 BranchName =
"trkstartdcosx_" + TrackLabel;
1305 CreateBranch(BranchName,
trkstartdcosx, BranchName + NTracksIndexStr +
"/F");
1307 BranchName =
"trkstartdcosy_" + TrackLabel;
1308 CreateBranch(BranchName,
trkstartdcosy, BranchName + NTracksIndexStr +
"/F");
1310 BranchName =
"trkstartdcosz_" + TrackLabel;
1311 CreateBranch(BranchName,
trkstartdcosz, BranchName + NTracksIndexStr +
"/F");
1313 BranchName =
"trkenddcosx_" + TrackLabel;
1314 CreateBranch(BranchName,
trkenddcosx, BranchName + NTracksIndexStr +
"/F");
1316 BranchName =
"trkenddcosy_" + TrackLabel;
1317 CreateBranch(BranchName,
trkenddcosy, BranchName + NTracksIndexStr +
"/F");
1319 BranchName =
"trkenddcosz_" + TrackLabel;
1320 CreateBranch(BranchName,
trkenddcosz, BranchName + NTracksIndexStr +
"/F");
1322 BranchName =
"trkthetaxz_" + TrackLabel;
1323 CreateBranch(BranchName,
trkthetaxz, BranchName + NTracksIndexStr +
"/F");
1325 BranchName =
"trkthetayz_" + TrackLabel;
1326 CreateBranch(BranchName,
trkthetayz, BranchName + NTracksIndexStr +
"/F");
1328 BranchName =
"trkmom_" + TrackLabel;
1329 CreateBranch(BranchName,
trkmom, BranchName + NTracksIndexStr +
"/F");
1331 BranchName =
"trkmomrange_" + TrackLabel;
1332 CreateBranch(BranchName,
trkmomrange, BranchName + NTracksIndexStr +
"/F");
1334 BranchName =
"trkmommschi2_" + TrackLabel;
1335 CreateBranch(BranchName,
trkmommschi2, BranchName + NTracksIndexStr +
"/F");
1337 BranchName =
"trkmommsllhd_" + TrackLabel;
1338 CreateBranch(BranchName,
trkmommsllhd, BranchName + NTracksIndexStr +
"/F");
1340 BranchName =
"trklen_" + TrackLabel;
1341 CreateBranch(BranchName,
trklen, BranchName + NTracksIndexStr +
"/F");
1343 BranchName =
"trksvtxid_" + TrackLabel;
1344 CreateBranch(BranchName,
trksvtxid, BranchName + NTracksIndexStr +
"/S");
1346 BranchName =
"trkevtxid_" + TrackLabel;
1347 CreateBranch(BranchName,
trkevtxid, BranchName + NTracksIndexStr +
"/S");
1349 BranchName =
"trkpidpdg_" + TrackLabel;
1350 CreateBranch(BranchName,
trkpidpdg, BranchName + NTracksIndexStr +
"[3]/I");
1352 BranchName =
"trkpidchi_" + TrackLabel;
1353 CreateBranch(BranchName,
trkpidchi, BranchName + NTracksIndexStr +
"[3]/F");
1355 BranchName =
"trkpidchipr_" + TrackLabel;
1356 CreateBranch(BranchName,
trkpidchipr, BranchName + NTracksIndexStr +
"[3]/F");
1358 BranchName =
"trkpidchika_" + TrackLabel;
1359 CreateBranch(BranchName,
trkpidchika, BranchName + NTracksIndexStr +
"[3]/F");
1361 BranchName =
"trkpidchipi_" + TrackLabel;
1362 CreateBranch(BranchName,
trkpidchipi, BranchName + NTracksIndexStr +
"[3]/F");
1364 BranchName =
"trkpidchimu_" + TrackLabel;
1365 CreateBranch(BranchName,
trkpidchimu, BranchName + NTracksIndexStr +
"[3]/F");
1367 BranchName =
"trkpidpida_" + TrackLabel;
1368 CreateBranch(BranchName,
trkpidpida, BranchName + NTracksIndexStr +
"[3]/F");
1370 BranchName =
"trkpidbestplane_" + TrackLabel;
1371 CreateBranch(BranchName,
trkpidbestplane, BranchName + NTracksIndexStr +
"/S");
1373 if(saveHierarchyInfo){
1374 BranchName =
"trkisprimary_" + TrackLabel;
1375 CreateBranch(BranchName,
trkisprimary, BranchName + NTracksIndexStr +
"/O");
1377 BranchName =
"trkndaughters_" + TrackLabel;
1378 CreateBranch(BranchName,
trkndaughters, BranchName + NTracksIndexStr +
"/I");
1380 BranchName =
"trkpfpid_" + TrackLabel;
1381 CreateBranch(BranchName,
trkpfpid, BranchName + NTracksIndexStr +
"/I");
1383 BranchName =
"trkparentpfpid_" + TrackLabel;
1384 CreateBranch(BranchName,
trkparentpfpid, BranchName + NTracksIndexStr +
"/I");
TrackData_t< Float_t > trkenddcosz
TrackData_t< Float_t > trkmommsllhd
Little helper functor class to create or reset branches in a tree.
TrackData_t< Float_t > trkstarty
PlaneData_t< Int_t > trkpidpdg
PlaneData_t< Float_t > trkpidchimu
TrackData_t< Short_t > trkcosmictype_flashmatch
TrackData_t< Float_t > trkmom
PlaneData_t< Short_t > ntrkhits
TrackData_t< Int_t > trkparentpfpid
TrackData_t< Float_t > trkphi
TrackData_t< Float_t > trkstartz
TrackData_t< Float_t > trkstartdcosy
PlaneData_t< Float_t > trkke
TrackData_t< Float_t > trkcosmicscore_tagger
TrackData_t< Int_t > trkpfpid
TrackData_t< Float_t > trkenddcosx
HitData_t< Float_t > trkdedx
TrackData_t< Int_t > trkisprimary
If SaveHierarchyInfo is true, there are additional variables:
TrackData_t< Short_t > trkncosmictags_tagger
PlaneData_t< Float_t > trkefftruth
TrackData_t< Float_t > trkmomrange
TrackData_t< Float_t > trkstartdcosx
TrackData_t< Float_t > trkstartdcosz
PlaneData_t< Float_t > trksimIDExtruth
PlaneData_t< Float_t > trkpurtruth
size_t MaxTracks
maximum number of storable tracks
PlaneData_t< Float_t > trkrange
PlaneData_t< Float_t > trkpidchipi
HitCoordData_t< Float_t > trkxyz
TrackData_t< Float_t > trkendx
HitData_t< Float_t > trkresrg
TrackData_t< Float_t > trkendy
TrackData_t< Short_t > trkpidbestplane
TrackData_t< Short_t > trkId
HitData_t< Float_t > trkdqdx
PlaneData_t< Float_t > trksimIDEenergytruth
TrackData_t< Short_t > trkevtxid
TrackData_t< Float_t > trkendz
PlaneData_t< Float_t > trksimIDEytruth
TrackData_t< Float_t > trkthetaxz
PlaneData_t< Float_t > trkpidchipr
PlaneData_t< Int_t > trkidtruth_recoutils_totaltrueenergy
constexpr int kMaxTrackHits
TrackData_t< Float_t > trkthetayz
TrackData_t< Float_t > trklen
TrackData_t< Float_t > trkstartd
PlaneData_t< Float_t > trkpitchc
PlaneData_t< Int_t > trkpdgtruth
PlaneData_t< Int_t > trkidtruth_recoutils_totalrecohits
TrackData_t< Float_t > trkendd
PlaneData_t< Float_t > trksimIDEztruth
TrackData_t< Short_t > trksvtxid
TrackData_t< Float_t > trkcosmicscore_flashmatch
TrackData_t< Float_t > trkmommschi2
PlaneData_t< Int_t > trkidtruth_recoutils_totalrecocharge
PlaneData_t< Float_t > trkpidchika
TrackData_t< Short_t > trkncosmictags_flashmatch
TrackData_t< Float_t > trkstartx
TrackData_t< Float_t > trkenddcosy
TrackData_t< Short_t > trkcosmictype_tagger
PlaneData_t< Float_t > trkpidchi
TrackData_t< Int_t > trkndaughters
PlaneData_t< Short_t > trkorigin
TrackData_t< Float_t > trktheta
PlaneData_t< Int_t > trkidtruth
PlaneData_t< Float_t > trkpidpida