1442   std::string ShowerLabel = showerLabel;
 
 1443   std::string BranchName;
 
 1445   BranchName = 
"nshowers_" + ShowerLabel;
 
 1446   CreateBranch(BranchName, &
nshowers, BranchName + 
"/S");
 
 1447   std::string NShowersIndexStr = 
"[" + BranchName + 
"]";
 
 1449   BranchName = 
"shwId_" + ShowerLabel;
 
 1450   CreateBranch(BranchName, 
shwId, BranchName + NShowersIndexStr + 
"/I");
 
 1452   BranchName = 
"shwbestplane_" + ShowerLabel;
 
 1453   CreateBranch(BranchName, 
shwbestplane, BranchName + NShowersIndexStr + 
"/I");
 
 1455   BranchName = 
"shwlength_" + ShowerLabel;
 
 1456   CreateBranch(BranchName, 
shwlength, BranchName + NShowersIndexStr + 
"/F");
 
 1458   BranchName = 
"shwlength_" + ShowerLabel;
 
 1459   CreateBranch(BranchName, 
shwlength, BranchName + NShowersIndexStr + 
"/F");
 
 1461   BranchName = 
"shwopenangle_" + ShowerLabel;
 
 1462   CreateBranch(BranchName, 
shwopenangle, BranchName + NShowersIndexStr + 
"/F");
 
 1464   BranchName = 
"shwstartx_" + ShowerLabel;
 
 1465   CreateBranch(BranchName, 
shwstartx, BranchName + NShowersIndexStr + 
"/F");
 
 1467   BranchName = 
"shwstarty_" + ShowerLabel;
 
 1468   CreateBranch(BranchName, 
shwstarty, BranchName + NShowersIndexStr + 
"/F");
 
 1470   BranchName = 
"shwstartz_" + ShowerLabel;
 
 1471   CreateBranch(BranchName, 
shwstartz, BranchName + NShowersIndexStr + 
"/F");
 
 1473   BranchName = 
"shwdirx_" + ShowerLabel;
 
 1474   CreateBranch(BranchName, 
shwdirx, BranchName + NShowersIndexStr + 
"/F");
 
 1476   BranchName = 
"shwdiry_" + ShowerLabel;
 
 1477   CreateBranch(BranchName, 
shwdiry, BranchName + NShowersIndexStr + 
"/F");
 
 1479   BranchName = 
"shwdirz_" + ShowerLabel;
 
 1480   CreateBranch(BranchName, 
shwdirz, BranchName + NShowersIndexStr + 
"/F");
 
 1482   if(saveHierarchyInfo){
 
 1483     BranchName = 
"shwisprimary_" + ShowerLabel;
 
 1484     CreateBranch(BranchName, 
shwisprimary, BranchName + NShowersIndexStr + 
"/O");
 
 1486     BranchName = 
"shwndaughters_" + ShowerLabel;
 
 1487     CreateBranch(BranchName, 
shwndaughters, BranchName + NShowersIndexStr + 
"/I");
 
 1489     BranchName = 
"shwpfpid_" + ShowerLabel;
 
 1490     CreateBranch(BranchName, 
shwpfpid, BranchName + NShowersIndexStr + 
"/I");
 
 1492     BranchName = 
"shwparentpfpid_" + ShowerLabel;
 
 1493     CreateBranch(BranchName, 
shwparentpfpid, BranchName + NShowersIndexStr + 
"/I");
 
Little helper functor class to create or reset branches in a tree. 
 
ShowerData_t< Int_t > shwpfpid
 
ShowerData_t< Int_t > shwId
 
ShowerData_t< Float_t > shwlength
 
ShowerData_t< Float_t > shwopenangle
 
ShowerData_t< Int_t > shwndaughters
 
size_t MaxShowers
maximum number of storable showers 
 
ShowerData_t< Int_t > shwisprimary
If SaveHierarchyInfo is true, there are additional variables: 
 
ShowerData_t< Float_t > shwdirz
 
ShowerData_t< Float_t > shwstarty
 
ShowerData_t< Float_t > shwdiry
 
ShowerData_t< Float_t > shwstartx
 
ShowerData_t< Int_t > shwbestplane
 
ShowerData_t< Float_t > shwstartz
 
ShowerData_t< Int_t > shwparentpfpid
 
ShowerData_t< Float_t > shwdirx