Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

NtpMCTruth.h

Go to the documentation of this file.
00001 
00002 // NtpMCTruth
00003 //
00004 // NtpMCTruth is an ntuple class to hold mc truth data.
00005 //
00006 // Based on Roy Lee's CandEventSR/MCTruthSR class
00007 //
00009 
00010 #ifndef NTPMCTRUTH_H
00011 #define NTPMCTRUTH_H
00012 
00013 #include "TObject.h"       // base class
00014 #include "NtpMCFluxInfo.h" // data member
00015 #include "NtpMCFluxWgt.h"  // data member
00016 
00017 class NtpMCTruth;
00018 std::ostream &operator << (std::ostream& os, const NtpMCTruth& mc);
00019 
00020 class NtpMCTruth : public TObject {
00021 
00022  public:
00023   // Constructors & Destructors
00024   NtpMCTruth();
00025   virtual ~NtpMCTruth();
00026 
00027   // State testing methods
00028   virtual std::ostream& Print(std::ostream& os) const;
00029   virtual void Print(const Option_t* option = "") const;
00030 
00031  public:
00032   // Ntuple is treated like a C-struct with public data members and
00033   // rule-breaking field data members not prefaced by "f" and all
00034   // lowercase, by popular demand.
00035 
00036   UShort_t index; // index of this mctruth entry in mc array
00037   Int_t stdhep[2]; // index range in stdhep array of associated particles
00038   Int_t inu;      // PDG id of neutrino, nu_e=12, nu_mu=14, nu_tau=16, anti=-
00039   Int_t inunoosc; // PDG id of un-oscillated neutrino
00040   Int_t itg;      // PDG id of target nucleon, p=2212, n=2112
00041   Int_t iboson;   // PDG id of exchange boson, Z0=23, W+=24
00042   // resonance code: 1001=QE, 1002=resonance prod., 1003=deep inelastic
00043   // 1004=coherent pion production, 1005=inverse muon decay
00044   Int_t iresonance; // resonance code
00045   Int_t iaction;    // 0=NC 1=CC (2=QE 3=QE+pi)
00046   Int_t istruckq;   // PDG id of struck quark
00047   // for Daikon (w/ neugen3 v3_5_0) iflags can be interpreted as:
00048   //  0: non-DIS,  1: old KNO hadronization, 2: modified KNO, 3: charm
00049   // 11: JETSET/string frag, 12: JETSET/cluster frag, 13: JETSET/other frag
00050   Int_t iflags;     // generator flags
00051   Int_t ndigu;      // total number of digits in u-view
00052   Int_t ndigv;      // total number of digits in v-view
00053   Float_t tphu;     // summed pulse height u-view
00054   Float_t tphv;     // summed pulse height v-view
00055   Float_t a;        // nucleus A
00056   Float_t z;        // nucleus Z
00057   Float_t sigma;    // total cross section for this interaction
00058   Float_t sigmadiff; // differential cross section
00059   Float_t x;        // Bj x
00060   Float_t y;        // y
00061   Float_t q2;       // Q**2
00062   Float_t w2;       // W**2
00063   Float_t emfrac;   // fraction of "shower" energy which is EM
00064   Float_t vtxx;     // vertex x-pos in meters (was cm previous to 8/31/04)     
00065   Float_t vtxy;     // vertex y-pos in meters (was cm previous to 8/31/04)
00066   Float_t vtxz;     // vertex z-pos in meters (was cm previous to 8/31/04)
00067   Float_t p4neu[4]; // neutrino momentum+energy (GeV) 4-vector
00068   Float_t p4neunoosc[4]; // unoscillated neutrino 4-vector
00069   // p4tgt Note: Fermi motion may mean that target is not at rest in lab frame 
00070   Float_t p4tgt[4];     // target nucleon 4-vector
00071   Float_t p4shw[4];     // shower (hadronic+em) 
00072   Float_t p4mu1[4];     // primary muon
00073   Float_t p4mu2[4];     // secondary muon (e.g. from charm production & decay)
00074   Float_t p4el1[4];     // first electron
00075   Float_t p4el2[4];     // highest E second electron
00076   Float_t p4tau[4];     // highest E tau (may have decayed)
00077 
00078   NtpMCFluxInfo flux;     // flux info associated with primary
00079   NtpMCFluxWgt fluxwgt;   // flux weight associated with primary
00080 
00081   ClassDef(NtpMCTruth,7)
00082 };
00083 
00084 #endif // NTPMCTRUTH_H

Generated on Mon Feb 15 11:07:06 2010 for loon by  doxygen 1.3.9.1