| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

ValidationTree.cc

Go to the documentation of this file.
00001 
00008 #include "ValidationTree.h"
00009 
00010 using namespace std;
00011 
00012 ValidationTree::ValidationTree()
00013 {}
00014 
00015 ValidationTree::~ValidationTree()
00016 {}
00017 
00018 int ValidationTree::create()
00019 {
00020 
00021   m_tree=new TTree("DetSimValiTree","DetSim Validation Tree");    
00022 
00024   m_tree->Branch("SimHitsEntries",&SimHitsEntries,"SimHitsEntries/I");
00025   m_tree->Branch("hitTime",hitTime,"hitTime[SimHitsEntries]/D");
00026   m_tree->Branch("hitx",hitx,"hitx[SimHitsEntries]/D");
00027   m_tree->Branch("hity",hity,"hity[SimHitsEntries]/D");
00028   m_tree->Branch("hitz",hitz,"hitz[SimHitsEntries]/D");
00029   m_tree->Branch("sensID",sensID,"sensID[SimHitsEntries]/I");
00030   m_tree->Branch("ancestor",ancestorPdg,"ancestor[SimHitsEntries]/I");
00031   m_tree->Branch("wavelength",wavelength,"wavelength[SimHitsEntries]/D");
00032   m_tree->Branch("polx",polx,"polx[SimHitsEntries]/D");
00033   m_tree->Branch("poly",poly,"poly[SimHitsEntries]/D");
00034   m_tree->Branch("polz",polz,"polz[SimHitsEntries]/D");
00035   m_tree->Branch("px",px,"px[SimHitsEntries]/D");
00036   m_tree->Branch("py",py,"py[SimHitsEntries]/D");
00037   m_tree->Branch("pz",pz,"pz[SimHitsEntries]/D");
00038   m_tree->Branch("weight",weight,"weight[SimHitsEntries]/F");
00039 
00040   //Muon vertex Info
00041   m_tree->Branch("MuonE",&MuonE,"MuonE/D");
00042   m_tree->Branch("MuonX",&MuonX,"MuonX/D");
00043   m_tree->Branch("MuonY",&MuonY,"MuonY/D");
00044   m_tree->Branch("MuonZ",&MuonZ,"MuonZ/D");
00045   m_tree->Branch("MuonPx",&MuonPx,"MuonPx/D");
00046   m_tree->Branch("MuonPy",&MuonPy,"MuonPy/D");
00047   m_tree->Branch("MuonPz",&MuonPz,"MuonPz/D");
00048   m_tree->Branch("MuonTime",&MuonTime,"MuonTime/D");
00049   m_tree->Branch("StopFlag",&StopFlag,"StopFlag/I");
00050 
00051 
00053   m_tree->Branch("MuonTrkLengthInOws",&MuonTrkLengthInOws,"MuonTrkLengthInOws/D");
00054   m_tree->Branch("MuonTrkLengthInIws",&MuonTrkLengthInIws,"MuonTrkLengthInIws/D");
00055   m_tree->Branch("MuonTrkLengthInLS",&MuonTrkLengthInLS,"MuonTrkLengthInLS/D");
00056   m_tree->Branch("MuonTrkLengthInGdLS",&MuonTrkLengthInGdLS,"MuonTrkLengthInGdLS/D");
00057   m_tree->Branch("dEInn",&dEInn,"dEInn/D");
00058   m_tree->Branch("dEOut",&dEOut,"dEOut/D");
00059   
00061   m_tree->Branch("EDepInGdLS",   &EDepInGdLS,    "EDepInGdLS/D");
00062   m_tree->Branch("EDepInLS",   &EDepInLS,    "EDepInLS/D");
00063   m_tree->Branch("EDepInIAV",   &EDepInIAV,    "EDepInIAV/D");
00064   m_tree->Branch("EDepInOAV",   &EDepInOAV,    "EDepInOAV/D");
00065   m_tree->Branch("EDepInOIL",   &EDepInOIL,    "EDepInOIL/D");
00066   
00067   m_tree->Branch("QEDepInGdLS",   &QEDepInGdLS,    "QEDepInGdLS/D");
00068   m_tree->Branch("QEDepInLS",   &QEDepInLS,    "QEDepInLS/D");
00069   m_tree->Branch("QEDepInIAV",   &QEDepInIAV,    "QEDepInIAV/D");
00070   m_tree->Branch("QEDepInOAV",   &QEDepInOAV,    "QEDepInOAV/D");
00071   m_tree->Branch("QEDepInOIL",   &QEDepInOIL,    "QEDepInOIL/D");
00072   
00073   m_tree->Branch("tQESumGdLS", &tQESumGdLS, "tQESumGdLS/D");
00074   m_tree->Branch("xQESumGdLS", &xQESumGdLS, "xQESumGdLS/D");
00075   m_tree->Branch("yQESumGdLS", &yQESumGdLS, "yQESumGdLS/D");
00076   m_tree->Branch("zQESumGdLS", &zQESumGdLS, "zQESumGdLS/D");
00077 
00078   m_tree->Branch("tQESumLS", &tQESumLS, "tQESumLS/D");
00079   m_tree->Branch("xQESumLS", &xQESumLS, "xQESumLS/D");
00080   m_tree->Branch("yQESumLS", &yQESumLS, "yQESumLS/D");
00081   m_tree->Branch("zQESumLS", &zQESumLS, "zQESumLS/D");
00082 
00083   m_tree->Branch("tQESumMO", &tQESumMO, "tQESumMO/D");
00084   m_tree->Branch("xQESumMO", &xQESumMO, "xQESumMO/D");
00085   m_tree->Branch("yQESumMO", &yQESumMO, "yQESumMO/D");
00086   m_tree->Branch("zQESumMO", &zQESumMO, "zQESumMO/D");
00087 
00088   m_tree->Branch("tCtrQE", &tCtrQE, "tCtrQE/D");
00089   m_tree->Branch("xCtrQE", &xCtrQE, "xCtrQE/D");
00090   m_tree->Branch("yCtrQE", &yCtrQE, "yCtrQE/D");
00091   m_tree->Branch("zCtrQE", &zCtrQE, "zCtrQE/D");
00092   
00093   // generation and capture information
00094   
00095   m_tree->Branch("t_gen", &t_gen, "t_gen/D");
00096   m_tree->Branch("x_gen", &x_gen, "x_gen/D");
00097   m_tree->Branch("y_gen", &y_gen, "y_gen/D");
00098   m_tree->Branch("z_gen", &z_gen, "z_gen/D");
00099 
00100   m_tree->Branch("t_cap", &t_cap, "t_cap/D");
00101   m_tree->Branch("x_cap", &x_cap, "x_cap/D");
00102   m_tree->Branch("y_cap", &y_cap, "y_cap/D");
00103   m_tree->Branch("z_cap", &z_cap, "z_cap/D");
00104 
00105   m_tree->Branch("capTarget", &capTarget, "capTarget/I");
00106   
00108   m_tree->Branch("pdgId_Trk1",  &pdgId_Trk1,   "pdgId_Trk1/I");  
00109   
00110   m_tree->Branch("t_Trk1",   &t_Trk1,    "t_Trk1/D");   
00111   m_tree->Branch("x_Trk1",   &x_Trk1,    "x_Trk1/D");   
00112   m_tree->Branch("y_Trk1",   &y_Trk1,    "y_Trk1/D");   
00113   m_tree->Branch("z_Trk1",   &z_Trk1,    "z_Trk1/D");   
00114                                                                               
00115   m_tree->Branch("e_Trk1",   &e_Trk1,    "e_Trk1/D");   
00116   m_tree->Branch("px_Trk1",  &px_Trk1,   "px_Trk1/D");  
00117   m_tree->Branch("py_Trk1",  &py_Trk1,   "py_Trk1/D");  
00118   m_tree->Branch("pz_Trk1",  &pz_Trk1,   "pz_Trk1/D");  
00119                                                                               
00120   m_tree->Branch("ke_Trk1",  &ke_Trk1,   "ke_Trk1/D");   // kinematic energy
00121                                                                               
00122   m_tree->Branch("tEnd_Trk1",   &tEnd_Trk1,    "tEnd_Trk1/D");   
00123   m_tree->Branch("xEnd_Trk1",   &xEnd_Trk1,    "xEnd_Trk1/D");   
00124   m_tree->Branch("yEnd_Trk1",   &yEnd_Trk1,    "yEnd_Trk1/D");   
00125   m_tree->Branch("zEnd_Trk1",   &zEnd_Trk1,    "zEnd_Trk1/D");   
00126 
00127   m_tree->Branch("TrkLength_GD_Trk1", &TrkLength_GD_Trk1,  "TrkLength_GD_Trk1/D");  // pathlength in GDLS
00128   m_tree->Branch("TrkLength_iAV_Trk1",&TrkLength_iAV_Trk1, "TrkLength_iAV_Trk1/D"); // pathlength in inner AV
00129   m_tree->Branch("TrkLength_LS_Trk1", &TrkLength_LS_Trk1,  "TrkLength_LS_Trk1/D");  // pathlength in LS
00130   m_tree->Branch("TrkLength_oAV_Trk1",&TrkLength_oAV_Trk1, "TrkLength_oAV_Trk1/D"); // pathlength in outer AV
00131   m_tree->Branch("TrkLength_Oil_Trk1",&TrkLength_Oil_Trk1, "TrkLength_Oil_Trk1/D"); // pathlength in oil
00132 
00134   m_tree->Branch("pdgId_Trk2",  &pdgId_Trk2, "pdgId_Trk2/I");
00135 
00136   m_tree->Branch("t_Trk2",   &t_Trk2,    "t_Trk2/D");
00137   m_tree->Branch("x_Trk2",   &x_Trk2,    "x_Trk2/D");
00138   m_tree->Branch("y_Trk2",   &y_Trk2,    "y_Trk2/D");
00139   m_tree->Branch("z_Trk2",   &z_Trk2,    "z_Trk2/D");
00140 
00141   m_tree->Branch("e_Trk2",   &e_Trk2,    "e_Trk2/D");
00142   m_tree->Branch("px_Trk2",  &px_Trk2,   "px_Trk2/D");
00143   m_tree->Branch("py_Trk2",  &py_Trk2,   "py_Trk2/D");
00144   m_tree->Branch("pz_Trk2",  &pz_Trk2,   "pz_Trk2/D");
00145 
00146   m_tree->Branch("ke_Trk2",  &ke_Trk2,   "ke_Trk2/D");   // kinematic energy
00147 
00148   m_tree->Branch("tEnd_Trk2",   &tEnd_Trk2,    "tEnd_Trk2/D");   
00149   m_tree->Branch("xEnd_Trk2",   &xEnd_Trk2,    "xEnd_Trk2/D");   
00150   m_tree->Branch("yEnd_Trk2",   &yEnd_Trk2,    "yEnd_Trk2/D");   
00151   m_tree->Branch("zEnd_Trk2",   &zEnd_Trk2,    "zEnd_Trk2/D");   
00152 
00153   m_tree->Branch("TrkLength_GD_Trk2", &TrkLength_GD_Trk2,  "TrkLength_GD_Trk2/D");  // pathlength in GDLS
00154   m_tree->Branch("TrkLength_iAV_Trk2",&TrkLength_iAV_Trk2, "TrkLength_iAV_Trk2/D"); // pathlength in inner AV
00155   m_tree->Branch("TrkLength_LS_Trk2", &TrkLength_LS_Trk2,  "TrkLength_LS_Trk2/D");  // pathlength in LS
00156   m_tree->Branch("TrkLength_oAV_Trk2",&TrkLength_oAV_Trk2, "TrkLength_oAV_Trk2/D"); // pathlength in outer AV
00157   m_tree->Branch("TrkLength_Oil_Trk2",&TrkLength_Oil_Trk2, "TrkLength_Oil_Trk2/D"); // pathlength in oil
00158 
00159   // initial optical photons
00160   m_tree->Branch("number_opti_pho", &number_opti_pho, "number_opti_pho/I");
00161   m_tree->Branch("wavelength_opti_pho",wavelength_opti_pho,",wavelength_opti_pho[number_opti_pho]/D");
00162 
00163   m_tree->Branch("tBuff1",   &tBuff1,    "tBuff1/D");   
00164   m_tree->Branch("xBuff1",   &xBuff1,    "xBuff1/D");   
00165   m_tree->Branch("yBuff1",   &yBuff1,    "yBuff1/D");   
00166   m_tree->Branch("zBuff1",   &zBuff1,    "zBuff1/D");   
00167 
00168   m_tree->Branch("tBuff2",   &tBuff2,    "tBuff2/D");   
00169   m_tree->Branch("xBuff2",   &xBuff2,    "xBuff2/D");   
00170   m_tree->Branch("yBuff2",   &yBuff2,    "yBuff2/D");   
00171   m_tree->Branch("zBuff2",   &zBuff2,    "zBuff2/D");   
00172 
00173   return  1; // 1 for SUCCESS;
00174 }
00175 
00176 int ValidationTree::reset()
00177 {
00179   SimHitsEntries=0;
00180 
00181   //muon vertex information.
00182   MuonE=0;
00183   MuonX=0;
00184   MuonY=0;
00185   MuonZ=0;
00186   MuonPx=0;
00187   MuonPy=0;
00188   MuonPz=0;
00189   MuonTime=0;
00190   StopFlag=0;
00191   
00193   MuonTrkLengthInOws=0;
00194   MuonTrkLengthInIws=0;
00195   MuonTrkLengthInLS=0;
00196   MuonTrkLengthInGdLS=0;
00197   dEInn=0;
00198   dEOut=0;
00199   
00201   pdgId_Trk1=0;
00202 
00203   t_Trk1=0;
00204   x_Trk1=0;
00205   y_Trk1=0;
00206   z_Trk1=0;
00207 
00208   e_Trk1=0;
00209   px_Trk1=0;
00210   py_Trk1=0;
00211   pz_Trk1=0;
00212 
00213   ke_Trk1=0;  // kinematic energy
00214 
00215   TrkLength_GD_Trk1=0;  // pathlength in GDLS
00216   TrkLength_iAV_Trk1=0; //            in inner AV
00217   TrkLength_LS_Trk1=0;  //            in LS
00218   TrkLength_oAV_Trk1=0; //            in outer AV
00219   TrkLength_Oil_Trk1=0; //            in oil
00220 
00222   pdgId_Trk2=0;
00223 
00224   t_Trk2=0;
00225   x_Trk2=0;
00226   y_Trk2=0;
00227   z_Trk2=0;
00228 
00229   e_Trk2=0;
00230   px_Trk2=0;
00231   py_Trk2=0;
00232   pz_Trk2=0;
00233 
00234   ke_Trk2=0;  // kinematic energy
00235 
00236   TrkLength_GD_Trk2=0;  // pathlength in GDLS
00237   TrkLength_iAV_Trk2=0; //            in inner AV
00238   TrkLength_LS_Trk2=0;  //            in LS
00239   TrkLength_oAV_Trk2=0; //            in outer AV
00240   TrkLength_Oil_Trk2=0; //            in oil
00241 
00242   number_opti_pho=0;
00243 
00244   // generation and capture info
00245 
00246   t_gen = 0.;
00247   x_gen = 0.;
00248   y_gen = 0.;
00249   z_gen = 0.;
00250 
00251   t_cap = 0.;
00252   x_cap = 0.;
00253   y_cap = 0.;
00254   z_cap = 0.;
00255 
00256   capTarget = 0;
00257 
00258   return 1;  // 1 for SUCCESS;
00259 }
00260 
00261 int ValidationTree::fill()
00262 {
00263   m_tree->Fill();
00264 
00265   return  1; // 1 for SUCCESS;
00266 }
00267 
00268 int ValidationTree::close()
00269 {
00270   return  1; // 1 for SUCCESS;
00271 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:56:26 2011 for DetSimValidation by doxygen 1.4.7