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

NtpMREvent.h

Go to the documentation of this file.
00001 
00002 //
00003 // NtpMREvent
00004 //
00005 // NtpMREvent is an ntuple class to hold MR track data
00006 //
00008 
00009 #ifndef NTPMREVENT_H
00010 #define NTPMREVENT_H
00011 
00012 #include <iosfwd> // ostream fwd decl'
00013 #include "TObject.h"
00014 
00015 class NtpMREvent;
00016 std::ostream &operator << (std::ostream& os, const NtpMREvent& mrevt);
00017 
00018 class NtpMREvent : public TObject {
00019 
00020  public:
00021   NtpMREvent(); //def const'r
00022   NtpMREvent(Int_t ninit); // normal const'r
00023   virtual ~NtpMREvent() { this -> Clear(); }
00024 
00025   // State testing methods
00026   virtual std::ostream& Print(std::ostream& os) const;
00027   virtual void Print(Option_t* option = "") const; 
00028 
00029   // State changing methods
00030   void AddStripAt(Int_t stripindex, Int_t mrinfo, Int_t ind);
00031   void Clear(Option_t* = "") { 
00032     if(stp) delete [] stp; stp=0; 
00033     if(mrstp) delete [] mrstp; mrstp=0;
00034   }
00035 
00036   Bool_t  StpIsTrueMu(Int_t stripindex);    // true muon hit
00037   Bool_t  StpIsTrueShw(Int_t stripindex);   // true shower hit
00038   Bool_t  StpIsScaled(Int_t stripindex);    // Scaled by MR procedure
00039   Bool_t  StpIsInRecoTrk(Int_t stripindex); // Is in reco'd track
00040   Float_t StpScaleFactor(Int_t stripindex); // scaled by...
00041   Bool_t  StpIsRetained(Int_t stripindex);  // retained from original event
00042   Bool_t  StpIsMCElec(Int_t stripindex);    // MC electron added in
00043 
00044  public:
00045   // Ntuple is treated like a C-struct with public data members and
00046   // rule-breaking field data members not prefaced by "f" and all
00047   // lowercase, by popular demand.
00048   
00049   UShort_t index; // index of this mr track
00050   Int_t ndigit;   // number of kept digits in original event
00051   Int_t nstrip;   // number of kept strips in original event
00052   Int_t* stp;       //[nstrip]  indices to associated strips in strip array
00053   Int_t* mrstp;     //[nstrip]  information about strips retained
00054   Int_t orig_event;  // original event index track was removed from
00055   Int_t best_event;   // index of best matched event in new event array 
00056   Float_t best_purity;   // purity of kept event fragment in best_event 
00057   Float_t best_complete; // completeness of kept event fragment in best_event
00058   Float_t best_purity_phw;   // PH purity of kept event fragment in best_event 
00059   Float_t best_complete_phw; // PH completeness of kept event fragment in best_event
00060 
00061   Float_t elec_complete;     // completeness of electron only
00062   Float_t elec_complete_phw; // PH completeness of electron only
00063 
00064   Float_t best_elec_complete_phw;  
00065   Float_t best_elec_complete; // sometimes the remnant and elec get split
00066   Float_t best_elec_event;    //   this tracks where the electron wants to be
00067 
00068   Float_t comb_complete;
00069   Float_t comb_complete_phw;
00070   Float_t best_comb_complete;
00071   Float_t best_comb_complete_phw;
00072   Float_t best_comb_event;
00073 
00074   // added by J. Ling
00075   // details of the shower
00076   Float_t shwvtxx;  // shower vertex x
00077   Float_t shwvtxy;  // shower vertex y
00078   Float_t shwvtxz;  // shower vertex z
00079   Float_t shwendx;  // shower end x
00080   Float_t shwendy;  // shower end y
00081   Float_t shwendz;  // shower end z
00082   Int_t   shwvtxplane;  // shower vertex plane
00083   Int_t   shwendplane;  // shower end plane
00084   Int_t   shwnplane;    // shower plane length
00085   Float_t   shwcharge;    // shower charge, mip
00086   
00087   //details of removed track:
00088   Float_t vtxx;  //track vertex x
00089   Float_t vtxy;  //track vertex y
00090   Float_t vtxz;  //track vertex z
00091   Float_t vtxdistance;  // track vetext distance to the edge
00092   Float_t endx;  //track end x
00093   Float_t endy;  //track end y
00094   Float_t endz;  //track end z
00095   Float_t enddistance;  // track end distance to the edge
00096   Int_t vtxp;  //track vertex plane
00097   Int_t endp;  //track end plane
00098   Int_t   npln;  //track end - begin plane + 1
00099   Float_t prng;  //track mom from range
00100   Float_t pcrv;  //track mom from curvature
00101   Float_t pvdx;  //track vertex dir cos x
00102   Float_t pvdy;  //track vertex dir cos y
00103   Float_t pvdz;  //track vertex dir cos z
00104   Float_t zenith;  // Zenith angle  
00105   Float_t azimuth; // azimuth angle
00106   Int_t   fitp;  //track fit pass
00107   Int_t   endc;  //track contained?
00108   Int_t   pass;  //is track contained or, if not, fit is good
00109   Float_t pmux;  //track x momentum (using appropriate momentum)
00110   Float_t pmuy;  //track y momentum (using appropriate momentum)
00111   Float_t pmuz;  //track z momentum (using appropriate momentum)
00112   Int_t   mxpl;  //max track plane (beyond which all hits are killed by MR)
00113   Double_t qp;   //q over pcurve
00114   //variables for MRM study
00115   Float_t mrmpmux;   //true muon x momentum
00116   Float_t mrmpmuy;   //true muon y momentum
00117   Float_t mrmpmuz;   //true muon z momentum
00118   Float_t mrmQ2;     //converted Q2
00119   Float_t mrmEshw;   //converted Eshw
00120 
00121   ClassDef(NtpMREvent,6)
00122 };
00123 
00124 #endif // NTPMREVENT_H

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