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

In This Package:

MuonTree.cc

Go to the documentation of this file.
00001 
00008 #include "MuonTree.h"
00009 
00010 #include <sstream>
00011 
00012 MuonTree::MuonTree()
00013 {}
00014 
00015 MuonTree::~MuonTree()
00016 {}
00017 
00018 int MuonTree::create(const char* filename)
00019 {
00020   cout<<"TTree Created"<<endl;
00021   
00022   m_file=new TFile(filename,"recreate");
00023   m_tree=new TTree("t","Analysis Tree");    
00024 
00026   m_tree->Branch("run",      &run,      "run/I");
00027   m_tree->Branch("evt",      &evt,      "evt/I");
00028 
00030   m_tree->Branch("nhits_RPC",&nhits_RPC,"nhits_RPC/I");
00031   m_tree->Branch("nhits_AD1",&nhits_AD1,"nhits_AD1/I");
00032   m_tree->Branch("nhits_AD2",&nhits_AD2,"nhits_AD2/I");
00033   m_tree->Branch("nhits_IWS",&nhits_IWS,"nhits_IWS/I");
00034   m_tree->Branch("nhits_OWS",&nhits_OWS,"nhits_OWS/I");
00035 
00037   m_tree->Branch("trk1_pdgId",  &trk1_pdgId, "trk1_pdgId/I");
00038 
00039   m_tree->Branch("trk1_t",   &trk1_t,  "trk1_t/D");
00040   m_tree->Branch("trk1_x",   &trk1_x,  "trk1_x/D");
00041   m_tree->Branch("trk1_y",   &trk1_y,  "trk1_y/D");
00042   m_tree->Branch("trk1_z",   &trk1_z,  "trk1_z/D");
00043   m_tree->Branch("trk1_r",   &trk1_r,  "trk1_r/D");
00044 
00045   m_tree->Branch("trk1_e",   &trk1_e,  "trk1_e/D");
00046   m_tree->Branch("trk1_px",  &trk1_px, "trk1_px/D");
00047   m_tree->Branch("trk1_py",  &trk1_py, "trk1_py/D");
00048   m_tree->Branch("trk1_pz",  &trk1_pz, "trk1_pz/D");
00049   m_tree->Branch("trk1_phi", &trk1_phi,"trk1_phi/D");
00050 
00051   m_tree->Branch("trk1_ke",  &trk1_ke, "trk1_ke/D");   // kinematic energy
00052   m_tree->Branch("trk1_ve",  &trk1_ve, "trk1_ve/D");   // visible energy 
00053 
00055   m_tree->Branch("npe",npe,"npe[8][24]/D");   // npe                                                                                 
00056   m_tree->Branch("tpe",tpe,"tpe[8][24]/D");   // tpe 
00057 
00059   m_tree->Branch("TotDeInOil1", &TotDeInOil1, "TotDeInOil1/D");
00060   m_tree->Branch("TotDeInOil2", &TotDeInOil2, "TotDeInOil2/D");
00061   m_tree->Branch("TotDeInLso1", &TotDeInLso1, "TotDeInLso1/D");
00062   m_tree->Branch("TotDeInLso2", &TotDeInLso2, "TotDeInLso2/D");
00063 
00064   m_tree->Branch("MuDeInOil1",  &MuDeInOil1,  "MuDeInOil1/D"); 
00065   m_tree->Branch("MuDeInOil2",  &MuDeInOil2,  "MuDeInOil2/D"); 
00066   m_tree->Branch("MuDeInLso1",  &MuDeInLso1,  "MuDeInLso1/D"); 
00067   m_tree->Branch("MuDeInLso2",  &MuDeInLso2,  "MuDeInLso2/D"); 
00068 
00069   m_tree->Branch("MuDxInOil1",  &MuDxInOil1,  "MuDxInOil1/D"); 
00070   m_tree->Branch("MuDxInOil2",  &MuDxInOil2,  "MuDxInOil2/D"); 
00071   m_tree->Branch("MuDxInLso1",  &MuDxInLso1,  "MuDxInLso1/D"); 
00072   m_tree->Branch("MuDxInLso2",  &MuDxInLso2,  "MuDxInLso2/D"); 
00073 
00075   m_tree->Branch("his_t1",   &his_t1,  "his_t1/D");
00076   m_tree->Branch("his_x1",   &his_x1,  "his_x1/D");
00077   m_tree->Branch("his_y1",   &his_y1,  "his_y1/D");
00078   m_tree->Branch("his_z1",   &his_z1,  "his_z1/D");
00079 
00081   m_tree->Branch("oil1_p_x",  &oil1_p_x, "oil1_p_x/D");
00082   m_tree->Branch("oil1_p_y",  &oil1_p_y, "oil1_p_y/D");
00083   m_tree->Branch("oil1_p_z",  &oil1_p_z, "oil1_p_z/D");
00085   m_tree->Branch("oil1_e_x",  &oil1_e_x, "oil1_e_x/D");
00086   m_tree->Branch("oil1_e_y",  &oil1_e_y, "oil1_e_y/D");
00087   m_tree->Branch("oil1_e_z",  &oil1_e_z, "oil1_e_z/D");
00089   m_tree->Branch("oil1_p_px",  &oil1_p_px, "oil1_p_px/D");
00090   m_tree->Branch("oil1_p_py",  &oil1_p_py, "oil1_p_py/D");
00091   m_tree->Branch("oil1_p_pz",  &oil1_p_pz, "oil1_p_pz/D");
00092 
00094   m_tree->Branch("oil2_p_x",  &oil2_p_x, "oil2_p_x/D");
00095   m_tree->Branch("oil2_p_y",  &oil2_p_y, "oil2_p_y/D");
00096   m_tree->Branch("oil2_p_z",  &oil2_p_z, "oil2_p_z/D");
00098   m_tree->Branch("oil2_e_x",  &oil2_e_x, "oil2_e_x/D");
00099   m_tree->Branch("oil2_e_y",  &oil2_e_y, "oil2_e_y/D");
00100   m_tree->Branch("oil2_e_z",  &oil2_e_z, "oil2_e_z/D");
00102   m_tree->Branch("oil2_p_px",  &oil2_p_px, "oil2_p_px/D");
00103   m_tree->Branch("oil2_p_py",  &oil2_p_py, "oil2_p_py/D");
00104   m_tree->Branch("oil2_p_pz",  &oil2_p_pz, "oil2_p_pz/D");
00105 
00106 
00108   m_tree->Branch("phiRec",&phiRec,"phiRec/D");   // recontructed phi
00109   //
00110   m_tree->Branch("oil1_p_x_rec",  &oil1_p_x_rec, "oil1_p_x_rec/D");
00111   m_tree->Branch("oil1_p_y_rec",  &oil1_p_y_rec, "oil1_p_y_rec/D");
00112   m_tree->Branch("oil1_p_z_rec",  &oil1_p_z_rec, "oil1_p_z_rec/D");
00113   //
00114   m_tree->Branch("oil2_p_x_rec",  &oil2_p_x_rec, "oil2_p_x_rec/D");
00115   m_tree->Branch("oil2_p_y_rec",  &oil2_p_y_rec, "oil2_p_y_rec/D");
00116   m_tree->Branch("oil2_p_z_rec",  &oil2_p_z_rec, "oil2_p_z_rec/D");
00117 
00118   // Number of neutrons
00119   m_tree->Branch("nNeutron",      &nNeutron,     "nNeutron/I");
00120   m_tree->Branch("nInOws",      &nInOws,     "nInOws/I");
00121   m_tree->Branch("nInOil1",      &nInOil1,     "nInOil1/I");
00122   m_tree->Branch("nInOil2",      &nInOil2,     "nInOil2/I");
00123   m_tree->Branch("nInLso1",      &nInLso1,     "nInLso1/I");
00124   m_tree->Branch("nInLso2",      &nInLso2,     "nInLso2/I");
00125 
00126 
00127   return  1; // 1 for SUCCESS;
00128 }
00129 
00130 int MuonTree::reset()
00131 {
00132   run=0;
00133   evt=0;
00134 
00136   nhits_RPC=0;
00137   nhits_AD1=0;
00138   nhits_AD2=0;
00139   nhits_IWS=0;
00140   nhits_OWS=0;
00141 
00143   trk1_pdgId=0;
00144 
00145   trk1_t=0;
00146   trk1_x=0;
00147   trk1_y=0;
00148   trk1_z=0;
00149   trk1_r=0;
00150 
00151   trk1_e=0;
00152   trk1_px=0;
00153   trk1_py=0;
00154   trk1_pz=0;
00155   trk1_phi=0;
00156 
00157   trk1_ke=0;  // kinematic energy                                               
00158   trk1_ve=0;  // visible energy 
00159 
00160   TotDeInOil1=0;
00161   TotDeInOil2=0;
00162   TotDeInLso1=0;
00163   TotDeInLso2=0;
00164 
00165   MuDeInOil1=0;
00166   MuDeInOil2=0;
00167   MuDeInLso1=0;
00168   MuDeInLso2=0;
00169 
00170   MuDxInOil1=0;
00171   MuDxInOil2=0;
00172   MuDxInLso1=0;
00173   MuDxInLso2=0;
00174 
00175 
00176   oil1_p_x=0;
00177   oil1_p_y=0;
00178   oil1_p_z=0;
00179 
00180   oil1_e_x=0;
00181   oil1_e_y=0;
00182   oil1_e_z=0;
00183 
00184   oil1_p_px=0;
00185   oil1_p_py=0;
00186   oil1_p_pz=0;
00187 
00188   oil2_p_x=0;
00189   oil2_p_y=0;
00190   oil2_p_z=0;
00191 
00192   oil2_e_x=0;
00193   oil2_e_y=0;
00194   oil2_e_z=0;
00195 
00196   oil2_p_px=0;
00197   oil2_p_py=0;
00198   oil2_p_pz=0;
00199 
00200   phiRec=0;
00201 
00202   oil1_p_x_rec=0;
00203   oil1_p_y_rec=0;
00204   oil1_p_z_rec=0;
00205 
00206   oil2_p_x_rec=0;
00207   oil2_p_y_rec=0;
00208   oil2_p_z_rec=0;
00209 
00211   for(int ring=0;ring<8;ring++) {
00212     for(int column=0;column<24;column++) {
00213       npe[ring][column]=0;  // something invalid                                                                                     
00214       tpe[ring][column]=99999;  // something invalid                                                                                 
00215     }
00216   }
00217 
00219   nNeutron = 0;
00220   nInOws = 0;
00221   nInOil1 = 0;
00222   nInOil2 = 0;
00223   nInLso1 = 0;
00224   nInLso2 = 0;
00225 
00226   return 1;  // 1 for SUCCESS;
00227 }
00228 
00229 int MuonTree::fill()
00230 {
00231   m_tree->Fill();
00232 
00233   return  1; // 1 for SUCCESS;
00234 }
00235 
00236 int MuonTree::close()
00237 {
00238   m_file->Write();
00239 
00240   return  1; // 1 for SUCCESS;
00241 }
00242 
00243 string MuonTree::IntToString(int intValue) {
00244 
00245   ostringstream oss (ostringstream::out);
00246 
00247   oss <<intValue;
00248 
00249   string strRetVal=oss.str();
00250 
00251   return(strRetVal);
00252 }
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:34:58 2011 for MDC09b by doxygen 1.4.7