00001 00002 // NtpMCFluxInfo 00003 // 00004 // NtpMCFluxInfo is an ntuple to hold the gnumi flux information 00005 // 00006 // Author: P. Vahle 11/05 00008 00009 #ifndef NTPMCFLUXINFO_H 00010 #define NTPMCFLUXINFO_H 00011 00012 #include "TObject.h" 00013 00014 class NtpMCFluxInfo; 00015 std::ostream &operator << (std::ostream& os, const NtpMCFluxInfo& mc); 00016 00017 class NtpMCFluxInfo : public TObject { 00018 00019 public: 00020 // Constructors & Destructors 00021 NtpMCFluxInfo(); 00022 virtual ~NtpMCFluxInfo() {} 00023 00024 // State testing methods 00025 virtual std::ostream& Print(std::ostream& os) const; 00026 virtual void Print(const Option_t* option = "") const; 00027 00028 00029 public: 00030 // Ntuple is treated like a C-struct with public data members 00031 //these variables are a direct copy of the variables in REROOT_FluxInfo, 00032 // but I've gotten rid of the annoying m_ prefix 00033 //see gnumi doc for more precise description of variables: 00034 //http://enrico1.physics.indiana.edu/messier/gnumi/v17/ntuples.html 00035 00036 Int_t index; // C index 00037 Int_t fluxrun; // gnumi flux run number 00038 Int_t fluxevtno; // gnumi flux event number 00039 Float_t ndxdz; // dx/dz slope, neutrino rndm decay 00040 Float_t ndydz; // dy/dz slope, neutrino rndm decay 00041 Float_t npz; // Pz of neutrino (GeV) rndm decay 00042 Float_t nenergy; // E(neutrino) (GeV) rndm decay 00043 Float_t ndxdznear; // dx/dz slope, neutrino NearDet center 00044 Float_t ndydznear; // dy/dz slope, neutrino NearDet center 00045 Float_t nenergynear; // E(neutrino) (GeV) NearDet center 00046 Float_t nwtnear; // Weight of nu NearDet center 00047 Float_t ndxdzfar; // dx/dz slope, neutrino FarDet center 00048 Float_t ndydzfar; // dy/dz slope, neutrino FarDet center 00049 Float_t nenergyfar; // E(neutrino) (GeV) FarDet center 00050 Float_t nwtfar; // Weight of nu FarDet center 00051 Int_t norig; // (ignore) 00052 Int_t ndecay; // Tag of decay mode 00053 Int_t ntype; // Neutrino type (translated to PDG) 00054 Float_t vx; // x vertex of hadron (cm) 00055 Float_t vy; // y vertex of hadron (cm) 00056 Float_t vz; // z vertex of hadron (cm) 00057 Float_t pdpx; // nu parent px at decay point 00058 Float_t pdpy; // nu parent py at decay point 00059 Float_t pdpz; // nu parent pz at decay point 00060 Float_t ppdxdz; // nu parent slope at production 00061 Float_t ppdydz; // nu parent slope at production 00062 Float_t pppz; // nu parent pz at production 00063 Float_t ppenergy; // nu parent energy at production 00064 Int_t ppmedium; // GEANT medium of nu parent at parent production 00065 Int_t ptype; // nu parent type (translated to PDG) 00066 Float_t ppvx; // nu parent production vtx x 00067 Float_t ppvy; // nu parent production vtx y 00068 Float_t ppvz; // nu parent production vtx z 00069 Float_t muparpx; // if parent=mu, hadron parent px 00070 Float_t muparpy; // if parent=mu, hadron parent py 00071 Float_t muparpz; // if parent=mu, hadron parent pz 00072 Float_t mupare; // if parent=mu, hadron parent energy 00073 Float_t necm; // E(nu) in parent cm 00074 Float_t nimpwt; // importance weight 00075 Float_t xpoint; // (unused) 00076 Float_t ypoint; // (unused) 00077 Float_t zpoint; // (unused) 00078 Float_t tvx; // target exit point (x) of parent 00079 Float_t tvy; // target exit point (y) of parent 00080 Float_t tvz; // target exit point (z) of parent 00081 Float_t tpx; // parent px at target exit 00082 Float_t tpy; // parent py at target exit 00083 Float_t tpz; // parent pz at target exit 00084 Int_t tptype; // parent particle type (translated to PDG) 00085 Int_t tgen; // parent generation in cascade 00086 // above is NEUTRINO block, below is NUGPINFO block from gnumi flux ntuples 00087 Int_t tgptype; // parent type of particle out of target (PDG) 00088 Float_t tgppx; // px of particle off the target at interaction 00089 Float_t tgppy; // py of particle off the target at interaction 00090 Float_t tgppz; // pz of particle off the target at interaction 00091 Float_t tprivx; // primary particle interaction vtx x 00092 Float_t tprivy; // primary particle interaction vtx y 00093 Float_t tprivz; // primary particle interaction vtx z 00094 Float_t beamx; // primary proton orgin x 00095 Float_t beamy; // primary proton orgin y 00096 Float_t beamz; // primary proton orgin z 00097 Float_t beampx; // primary proton px 00098 Float_t beampy; // primary proton py 00099 Float_t beampz; // primary proton pz 00100 00101 ClassDef(NtpMCFluxInfo,2) 00102 }; 00103 00104 #endif // NTPMCFLUXINFO_H
1.3.9.1