8 #ifndef TrkAnalysisTree_h
9 #define TrkAnalysisTree_h
17 #define MAX_MCPARTICLES 500
18 #define MAX_NTRACKS 500
19 #define MAX_MC_TRACK_RELS 1500
20 #define MAX_TRACK_MC_RELS 1500
21 #define MAX_ALLOWED_TRACK_MC_LINKS 3
265 virtual Int_t
Cut(Long64_t entry);
266 virtual Int_t
GetEntry(Long64_t entry);
267 virtual Long64_t
LoadTree(Long64_t entry);
268 virtual void Init(TTree *tree);
272 virtual void Show(Long64_t entry = -1);
273 virtual void Clear();
279 #ifdef TrkAnalysisTree_cxx
288 delete fChain->GetCurrentFile();
295 return fChain->GetEntry(entry);
301 Long64_t centry =
fChain->LoadTree(entry);
302 if (centry < 0)
return centry;
303 if (!
fChain->InheritsFrom(TChain::Class()))
return centry;
304 TChain *chain = (TChain*)
fChain;
305 if (chain->GetTreeNumber() !=
fCurrent) {
315 tree->Branch(
"nmcp", &
nmcp ,
"nmcp/I" );
317 tree->Branch(
"mcp_pdg",
mcp_pdg ,
"mcp_pdg[nmcp]/I" );
320 tree->Branch(
"mcp_ndaughters",
mcp_ndaughters ,
"mcp_ndaughters[nmcp]/I" );
321 tree->Branch(
"mcp_nparents",
mcp_nparents ,
"mcp_nparents[nmcp]/I" );
322 tree->Branch(
"mcp_mass",
mcp_mass ,
"mcp_mass[nmcp]/F" );
323 tree->Branch(
"mcp_charge",
mcp_charge ,
"mcp_charge[nmcp]/F" );
324 tree->Branch(
"mcp_energy",
mcp_energy ,
"mcp_energy[nmcp]/F" );
325 tree->Branch(
"mcp_px",
mcp_px ,
"mcp_px[nmcp]/F" );
326 tree->Branch(
"mcp_py",
mcp_py ,
"mcp_py[nmcp]/F" );
327 tree->Branch(
"mcp_pz",
mcp_pz ,
"mcp_pz[nmcp]/F" );
328 tree->Branch(
"mcp_vx",
mcp_vx ,
"mcp_vx[nmcp]/F" );
329 tree->Branch(
"mcp_vy",
mcp_vy ,
"mcp_vy[nmcp]/F" );
330 tree->Branch(
"mcp_vz",
mcp_vz ,
"mcp_vz[nmcp]/F" );
331 tree->Branch(
"mcp_fx",
mcp_fx ,
"mcp_fx[nmcp]/F" );
332 tree->Branch(
"mcp_fy",
mcp_fy ,
"mcp_fy[nmcp]/F" );
333 tree->Branch(
"mcp_fz",
mcp_fz ,
"mcp_fz[nmcp]/F" );
334 tree->Branch(
"mcp_d0",
mcp_d0 ,
"mcp_d0[nmcp]/F" );
335 tree->Branch(
"mcp_phi0",
mcp_phi0 ,
"mcp_phi0[nmcp]/F" );
336 tree->Branch(
"mcp_omega",
mcp_omega ,
"mcp_omega[nmcp]/F" );
337 tree->Branch(
"mcp_z0",
mcp_z0 ,
"mcp_z0[nmcp]/F" );
338 tree->Branch(
"mcp_tanL",
mcp_tanL ,
"mcp_tanL[nmcp]/F" );
339 tree->Branch(
"mcp_nhit_vxd",
mcp_nhit_vxd ,
"mcp_nhit_vxd[nmcp]/I" );
340 tree->Branch(
"mcp_nhit_sit",
mcp_nhit_sit ,
"mcp_nhit_sit[nmcp]/I" );
341 tree->Branch(
"mcp_nhit_ftd",
mcp_nhit_ftd ,
"mcp_nhit_ftd[nmcp]/I" );
342 tree->Branch(
"mcp_nhit_tpc",
mcp_nhit_tpc ,
"mcp_nhit_tpc[nmcp]/I" );
343 tree->Branch(
"mcp_nhit_set",
mcp_nhit_set ,
"mcp_nhit_set[nmcp]/I" );
344 tree->Branch(
"mcp_nhit_etd",
mcp_nhit_etd ,
"mcp_nhit_etd[nmcp]/I" );
345 tree->Branch(
"mcp_ntrk_linked",
mcp_ntrk_linked ,
"mcp_ntrk_linked[nmcp]/I" );
364 tree->Branch(
"ntracks", &
ntracks ,
"ntracks/I" );
365 tree->Branch(
"tracks_d0",
tracks_d0 ,
"tracks_d0[ntracks]/F" );
366 tree->Branch(
"tracks_phi0",
tracks_phi0 ,
"tracks_phi0[ntracks]/F" );
367 tree->Branch(
"tracks_omega",
tracks_omega ,
"tracks_omega[ntracks]/F" );
368 tree->Branch(
"tracks_z0",
tracks_z0 ,
"tracks_z0[ntracks]/F" );
369 tree->Branch(
"tracks_tanL",
tracks_tanL ,
"tracks_tanL[ntracks]/F" );
370 tree->Branch(
"tracks_ref_point_x",
tracks_ref_point_x ,
"tracks_ref_point_x[ntracks]/F" );
371 tree->Branch(
"tracks_ref_point_y",
tracks_ref_point_y ,
"tracks_ref_point_y[ntracks]/F" );
372 tree->Branch(
"tracks_ref_point_z",
tracks_ref_point_z ,
"tracks_ref_point_z[ntracks]/F" );
373 tree->Branch(
"tracks_type",
tracks_type ,
"tracks_type[ntracks]/I" );
374 tree->Branch(
"tracks_chi2",
tracks_chi2 ,
"tracks_chi2[ntracks]/F" );
375 tree->Branch(
"tracks_prob",
tracks_prob ,
"tracks_prob[ntracks]/F" );
376 tree->Branch(
"tracks_ndf",
tracks_ndf ,
"tracks_ndf[ntracks]/I" );
378 tree->Branch(
"tracks_nhit_vxd",
tracks_nhit_vxd ,
"tracks_nhit_vxd[ntracks]/I" );
379 tree->Branch(
"tracks_nhit_sit",
tracks_nhit_sit ,
"tracks_nhit_sit[ntracks]/I" );
380 tree->Branch(
"tracks_nhit_ftd",
tracks_nhit_ftd ,
"tracks_nhit_ftd[ntracks]/I" );
381 tree->Branch(
"tracks_nhit_tpc",
tracks_nhit_tpc ,
"tracks_nhit_tpc[ntracks]/I" );
382 tree->Branch(
"tracks_nhit_set",
tracks_nhit_set ,
"tracks_nhit_set[ntracks]/I" );
383 tree->Branch(
"tracks_nhit_etd",
tracks_nhit_etd ,
"tracks_nhit_etd[ntracks]/I" );
384 tree->Branch(
"tracks_cov_d0d0",
tracks_cov_d0d0 ,
"tracks_cov_d0d0[ntracks]/F" );
385 tree->Branch(
"tracks_cov_phi0d0",
tracks_cov_phi0d0 ,
"tracks_cov_phi0d0[ntracks]/F" );
386 tree->Branch(
"tracks_cov_phi0phi0",
tracks_cov_phi0phi0 ,
"tracks_cov_phi0phi0[ntracks]/F" );
387 tree->Branch(
"tracks_cov_omegad0",
tracks_cov_omegad0 ,
"tracks_cov_omegad0[ntracks]/F" );
390 tree->Branch(
"tracks_cov_z0d0",
tracks_cov_z0d0 ,
"tracks_cov_z0d0[ntracks]/F" );
391 tree->Branch(
"tracks_cov_z0phi0",
tracks_cov_z0phi0 ,
"tracks_cov_z0phi0[ntracks]/F" );
392 tree->Branch(
"tracks_cov_z0omega",
tracks_cov_z0omega ,
"tracks_cov_z0omega[ntracks]/F" );
393 tree->Branch(
"tracks_cov_z0z0",
tracks_cov_z0z0 ,
"tracks_cov_z0z0[ntracks]/F" );
394 tree->Branch(
"tracks_cov_tanLd0",
tracks_cov_tanLd0 ,
"tracks_cov_tanLd0[ntracks]/F" );
395 tree->Branch(
"tracks_cov_tanLphi0",
tracks_cov_tanLphi0 ,
"tracks_cov_tanLphi0[ntracks]/F" );
397 tree->Branch(
"tracks_cov_tanLz0",
tracks_cov_tanLz0 ,
"tracks_cov_tanLz0[ntracks]/F" );
398 tree->Branch(
"tracks_cov_tanLtanL",
tracks_cov_tanLtanL ,
"tracks_cov_tanLtanL[ntracks]/F" );
399 tree->Branch(
"tracks_nmcp_linked",
tracks_nmcp_linked ,
"tracks_nmcp_linked[ntracks]/I" );
435 std::cout <<
" tree address is NULL exit 1 called from " << __FILE__ <<
" line " << __LINE__ <<
std::endl;
715 #endif // #ifdef TrkAnalysisTree_cxx
Int_t tracks_ndf[MAX_NTRACKS]
Int_t mcp_track_index_first[MAX_MCPARTICLES]
Int_t mcp_nhit_set[MAX_MCPARTICLES]
TBranch * b_tracks_cov_omegaphi0
Float_t mcp_track_weight_recp_first[MAX_MCPARTICLES]
Float_t mcp_charge[MAX_MCPARTICLES]
Float_t mcp_d0[MAX_MCPARTICLES]
TBranch * b_tracks_ref_point_x
Float_t tracks_cov_phi0phi0[MAX_NTRACKS]
Float_t tracks_cov_omegaomega[MAX_NTRACKS]
TBranch * b_tracks_cov_tanLphi0
TBranch * b_tracks_mcp_weight_recp_first
Float_t mcp_px[MAX_MCPARTICLES]
Int_t mcp_track_index_second[MAX_MCPARTICLES]
TBranch * b_mcp_track_weight_third
TBranch * b_tracks_cov_z0z0
TBranch * b_tracks_cov_tanLz0
Float_t tracks_mcp_weight_recp_first[MAX_NTRACKS]
TBranch * b_tracks_cov_phi0d0
TBranch * b_mcp_track_index_second
TBranch * b_tracks_cov_d0d0
TBranch * b_mcp_track_weight_second
Float_t mcp_pz[MAX_MCPARTICLES]
Int_t mcp_simulator_status[MAX_MCPARTICLES]
Float_t tracks_cov_d0d0[MAX_NTRACKS]
Float_t mcp_z0[MAX_MCPARTICLES]
TBranch * b_tracks_cov_z0d0
TBranch * b_tracks_mcp_weight_recp_third
TBranch * b_tracks_mcp_index_second
TBranch * b_mcp_track_weight_recp_first
TBranch * b_tracks_cov_phi0phi0
TBranch * b_mcp_generator_status
Int_t fCurrent
pointer to the analyzed TTree or TChain
Float_t tracks_cov_tanLtanL[MAX_NTRACKS]
Float_t tracks_ref_point_y[MAX_NTRACKS]
Float_t tracks_z0[MAX_NTRACKS]
TBranch * b_mcp_track_weight_recp_second
Float_t mcp_vy[MAX_MCPARTICLES]
TBranch * b_tracks_cov_tanLtanL
Float_t tracks_radius_innermost_hit[MAX_NTRACKS]
Float_t tracks_cov_omegad0[MAX_NTRACKS]
Float_t tracks_omega[MAX_NTRACKS]
Float_t mcp_fx[MAX_MCPARTICLES]
Float_t tracks_cov_tanLomega[MAX_NTRACKS]
Float_t mcp_track_weight_third[MAX_MCPARTICLES]
Int_t mcp_ntrk_linked[MAX_MCPARTICLES]
Int_t tracks_nhit_etd[MAX_NTRACKS]
Float_t tracks_chi2[MAX_NTRACKS]
virtual void CreateBranches(TTree *tree)
TBranch * b_mcp_track_weight_first
Float_t tracks_cov_z0d0[MAX_NTRACKS]
virtual void Init(TTree *tree)
Int_t mcp_nhit_sit[MAX_MCPARTICLES]
Int_t mcp_nhit_etd[MAX_MCPARTICLES]
Float_t mcp_track_weight_recp_second[MAX_MCPARTICLES]
TBranch * b_tracks_ref_point_y
virtual void Show(Long64_t entry=-1)
Float_t tracks_mcp_weight_recp_third[MAX_NTRACKS]
TBranch * b_tracks_nhit_etd
TBranch * b_tracks_nhit_ftd
TBranch * b_tracks_nhit_set
virtual Int_t Cut(Long64_t entry)
Int_t mcp_pdg[MAX_MCPARTICLES]
Float_t tracks_cov_tanLd0[MAX_NTRACKS]
TBranch * b_tracks_radius_innermost_hit
TBranch * b_tracks_mcp_weight_second
Int_t mcp_ndaughters[MAX_MCPARTICLES]
Float_t tracks_ref_point_z[MAX_NTRACKS]
Float_t mcp_fz[MAX_MCPARTICLES]
Int_t mcp_nparents[MAX_MCPARTICLES]
Int_t tracks_nhit_vxd[MAX_NTRACKS]
Float_t tracks_cov_phi0d0[MAX_NTRACKS]
Float_t tracks_mcp_weight_recp_second[MAX_NTRACKS]
TBranch * b_tracks_mcp_weight_third
Int_t tracks_nmcp_linked[MAX_NTRACKS]
Float_t tracks_mcp_weight_second[MAX_NTRACKS]
TBranch * b_mcp_track_weight_recp_third
Float_t mcp_fy[MAX_MCPARTICLES]
Int_t mcp_nhit_vxd[MAX_MCPARTICLES]
TBranch * b_tracks_mcp_index_third
TBranch * b_tracks_mcp_index_first
Int_t tracks_nhit_set[MAX_NTRACKS]
Int_t mcp_track_index_third[MAX_MCPARTICLES]
Float_t tracks_d0[MAX_NTRACKS]
Float_t tracks_mcp_weight_third[MAX_NTRACKS]
TBranch * b_tracks_nmcp_linked
Float_t mcp_mass[MAX_MCPARTICLES]
Float_t tracks_cov_z0phi0[MAX_NTRACKS]
virtual Int_t GetEntry(Long64_t entry)
Float_t tracks_cov_omegaphi0[MAX_NTRACKS]
Int_t mcp_nhit_ftd[MAX_MCPARTICLES]
TBranch * b_tracks_nhit_sit
Float_t tracks_cov_tanLphi0[MAX_NTRACKS]
Float_t mcp_tanL[MAX_MCPARTICLES]
Float_t mcp_vz[MAX_MCPARTICLES]
Int_t tracks_nhit_tpc[MAX_NTRACKS]
TBranch * b_tracks_cov_tanLomega
Int_t tracks_mcp_index_second[MAX_NTRACKS]
TBranch * b_mcp_track_index_first
Int_t mcp_nhit_tpc[MAX_MCPARTICLES]
Float_t tracks_prob[MAX_NTRACKS]
Int_t tracks_type[MAX_NTRACKS]
Float_t mcp_energy[MAX_MCPARTICLES]
TBranch * b_tracks_cov_omegaomega
Float_t mcp_omega[MAX_MCPARTICLES]
Float_t tracks_cov_tanLz0[MAX_NTRACKS]
Int_t tracks_mcp_index_third[MAX_NTRACKS]
virtual Long64_t LoadTree(Long64_t entry)
Int_t tracks_nhit_ftd[MAX_NTRACKS]
TrkAnalysisTree(TTree *tree=0)
TBranch * b_mcp_simulator_status
Float_t mcp_vx[MAX_MCPARTICLES]
TBranch * b_mcp_ntrk_linked
Float_t mcp_track_weight_recp_third[MAX_MCPARTICLES]
Int_t nmcp
current Tree number in a TChain
Float_t tracks_cov_z0z0[MAX_NTRACKS]
Float_t tracks_phi0[MAX_NTRACKS]
TBranch * b_tracks_ref_point_z
Int_t tracks_nhit_sit[MAX_NTRACKS]
TBranch * b_tracks_nhit_vxd
TBranch * b_tracks_mcp_weight_first
Float_t mcp_py[MAX_MCPARTICLES]
TBranch * b_tracks_cov_tanLd0
Float_t tracks_ref_point_x[MAX_NTRACKS]
Float_t tracks_tanL[MAX_NTRACKS]
TBranch * b_tracks_cov_z0omega
TBranch * b_tracks_cov_omegad0
TBranch * b_tracks_cov_z0phi0
TBranch * b_mcp_track_index_third
TBranch * b_mcp_ndaughters
Int_t mcp_generator_status[MAX_MCPARTICLES]
TBranch * b_tracks_nhit_tpc
Float_t tracks_mcp_weight_first[MAX_NTRACKS]
Float_t mcp_track_weight_first[MAX_MCPARTICLES]
Float_t mcp_phi0[MAX_MCPARTICLES]
TBranch * b_tracks_mcp_weight_recp_second
Int_t tracks_mcp_index_first[MAX_NTRACKS]
Float_t tracks_cov_z0omega[MAX_NTRACKS]
Float_t mcp_track_weight_second[MAX_MCPARTICLES]