Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-09-27 07:03:27

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2023 Gregory Matousek
0003 
0004 /* ParticleTree
0005  * - provides a particle tree for storing reconstructed particle kinematics + pid
0006  * - helpful for debugging matching algorithm
0007  */
0008 #pragma once
0009 
0010 #include <stdio.h>
0011 #include <stdlib.h>
0012 #include <iostream>
0013 #include <sstream>
0014 
0015 // epic-analysis
0016 
0017 // ROOT
0018 #include <TTree.h>
0019 #include <TLorentzVector.h>
0020 
0021 class ParticleTree
0022 {
0023   public:
0024     ParticleTree(TString treeName_);
0025     ~ParticleTree();
0026 
0027     TTree *GetTree() { return T; };
0028     void FillTree(TLorentzVector recopart, TLorentzVector mcpart, int pid, int status) {
0029       recopart_ = recopart;
0030       mcpart_   = mcpart;
0031       pid_      = pid;
0032       status_   = status;
0033       T->Fill(); };
0034     void WriteTree() { T->Write(); };
0035 
0036   private:
0037   
0038     TTree *T;
0039     TString treeName;
0040     TLorentzVector recopart_;
0041     TLorentzVector mcpart_;
0042     int status_;
0043     int pid_;
0044   
0045   ClassDef(ParticleTree,1);
0046 };