//____________________________________________________________________________ /*! \class genie::SeaNtpWriter \brief A class to write gSeaGen output in a ROOT file \author Carla Distefano LNS-INFN, Catania \created November 25, 2015 \cpright Copyright (c) 2015-2019, The KM3NeT Collaboration For the full text of the license see $GSEAGEN/LICENSE */ //____________________________________________________________________________ #ifndef _SEANTPWRITE_H__ #define _SEANTPWRITE_H__ #include #include #include #include #include #include #include #include #include #include #ifdef _GENIEVERSIONGTEQ3__ #include "Framework/Conventions/Constants.h" #ifndef __CINT__ #include "Framework/Messenger/Messenger.h" #endif #else #include "Conventions/Constants.h" #ifndef __CINT__ #include "Messenger/Messenger.h" #endif #endif #include "SeaEvent/GBinParam.h" #include "SeaEvent/GSeaEvent.h" using namespace std; using namespace genie; #define NTOTMAX 1000 #define NSYSMAX 100 namespace genie { class SeaNtpWriter { public : SeaNtpWriter(GenParam * GenPar, string Format); ~SeaNtpWriter(); void WriteEvent(GSeaEvent * SeaEvt); protected: string fOutFileName; string fTreeFormat; TFile * fOutFile; TTree * fTHeader; TTree * fTEvent; GenParam * fGenPar; GSeaEvent * fSeaEvt; int fNTracks; int fTrackId[NTOTMAX]; int fTrackSt[NTOTMAX]; int fTrackPdg[NTOTMAX]; int fTrackMotherId[NTOTMAX]; double fTrackE[NTOTMAX]; double fTrackVx[NTOTMAX]; double fTrackVy[NTOTMAX]; double fTrackVz[NTOTMAX]; double fTrackDx[NTOTMAX]; double fTrackDy[NTOTMAX]; double fTrackDz[NTOTMAX]; double fTrackT[NTOTMAX]; int fNSysWgt; double fSysWgt[NSYSMAX]; int fNSysWgt_NormCCQE; double fSysWgt_NormCCQE[NSYSMAX]; int fNSysWgt_MaCCQEshape; double fSysWgt_MaCCQEshape[NSYSMAX]; int fNSysWgt_NormCCRES; double fSysWgt_NormCCRES[NSYSMAX]; int fNSysWgt_VecFFCCQEshape; double fSysWgt_VecFFCCQEshape[NSYSMAX]; int fNSysWgt_MaCCRESshape; double fSysWgt_MaCCRESshape[NSYSMAX]; int fNSysWgt_MvCCRESshape; double fSysWgt_MvCCRESshape[NSYSMAX]; int fNSysWgt_NormNCRES; double fSysWgt_NormNCRES[NSYSMAX]; int fNSysWgt_MaNCRESshape; double fSysWgt_MaNCRESshape[NSYSMAX]; int fNSysWgt_MvNCRESshape; double fSysWgt_MvNCRESshape[NSYSMAX]; int fNSysWgt_NonRESBGvpCC1pi; double fSysWgt_NonRESBGvpCC1pi[NSYSMAX]; int fNSysWgt_NonRESBGvnCC1pi; double fSysWgt_NonRESBGvnCC1pi[NSYSMAX]; int fNSysWgt_MaCOHpi; double fSysWgt_MaCOHpi[NSYSMAX]; int fNSysWgt_MFP_pi; double fSysWgt_MFP_pi[NSYSMAX]; int fNSysWgt_MFP_N; double fSysWgt_MFP_N[NSYSMAX]; int fNSysWgt_FrPiProd_pi; double fSysWgt_FrPiProd_pi[NSYSMAX]; int fNSysWgt_AGKYxF1pi; double fSysWgt_AGKYxF1pi[NSYSMAX]; int fNSysWgt_AGKYpT1pi; double fSysWgt_AGKYpT1pi[NSYSMAX]; int fNSysWgt_FormZone; double fSysWgt_FormZone[NSYSMAX]; int fNSysWgt_Theta_Delta2Npi; double fSysWgt_Theta_Delta2Npi[NSYSMAX]; void Initialize(string EvFilePrefix); void OpenFile(void); void CreateTreeEvent(void); void CreateTreeHeader(void); void CreateEventBranch(void); }; } // genie namespace #endif // _SEANTPWRITE_H__