WCSimRecoNtuple.hh

Go to the documentation of this file.
00001 #ifndef WCSIMRECONTUPLE_HH
00002 #define WCSIMRECONTUPLE_HH
00003 
00004 #include "TObject.h"
00005 #include "TString.h"
00006 
00007 #include "TFile.h"
00008 #include "TTree.h"
00009 
00010 #include "WCSimNtuple.hh"
00011 
00012 class WCSimRecoNtuple : public WCSimNtuple
00013 {
00014  public:
00015 
00016   WCSimRecoNtuple();
00017   ~WCSimRecoNtuple();
00018 
00019   void Fill( WCSimTrueEvent* trueEvent, 
00020              WCSimRecoEvent* recoEvent );
00021 
00022   void CloseFile();
00023   void Reset();
00024 
00025  private:
00026 
00027   void ResetVariables();
00028   void WriteVariables( WCSimTrueEvent* trueEvent, 
00029                        WCSimRecoEvent* recoEvent);
00030   void WriteToFile();
00031 
00032   // TFile/TTree
00033   TFile* fRecoFile;
00034   TTree* fRecoTree;
00035 
00036   // True Quantities
00037   Int_t fRunNum;
00038   Int_t fEventNum;
00039   Int_t fTriggerNum;
00040 
00041   Int_t fTruePDG;
00042   Double_t fTrueP;
00043   Double_t fTrueE; 
00044   Double_t fTrueG4VtxX;
00045   Double_t fTrueG4VtxY;
00046   Double_t fTrueG4VtxZ;
00047   Double_t fTrueG4EndX;
00048   Double_t fTrueG4EndY;
00049   Double_t fTrueG4EndZ;
00050   Double_t fTrueVtxX;
00051   Double_t fTrueVtxY;
00052   Double_t fTrueVtxZ;
00053   Double_t fTrueEndX;
00054   Double_t fTrueEndY;
00055   Double_t fTrueEndZ;
00056   Double_t fTrueDirX;
00057   Double_t fTrueDirY;
00058   Double_t fTrueDirZ;
00059   Double_t fTrueLength;
00060   
00061   Double_t fTrueVtxTraceFwd;
00062   Double_t fTrueVtxTraceBwd;
00063   Double_t fTrueVtxDistToEdge;
00064   Double_t fTrueEndDistToEdge;
00065 
00066   // Reconstructed Quantities
00067   Int_t fNDigits;
00068   Int_t fNFilterDigits;
00069   Int_t fNRings;
00070 
00071   Int_t fFoundVertex;
00072   Int_t fFoundDirection;
00073   Int_t fFoundRings;
00074 
00075   Double_t fRecoVtxX;
00076   Double_t fRecoVtxY;
00077   Double_t fRecoVtxZ;
00078   Double_t fRecoVtxTime;
00079   Double_t fRecoDirX;
00080   Double_t fRecoDirY;
00081   Double_t fRecoDirZ;
00082   Double_t fRecoConeAngle;
00083   Double_t fRecoTrackLength;
00084 
00085   Double_t fRecoVtxFOM;
00086   Int_t fRecoVtxSteps;
00087   Int_t fRecoVtxPass;
00088   Int_t fRecoVtxStatus;
00089 
00090   Double_t fRecoVtxTraceFwd;
00091   Double_t fRecoVtxTraceBwd;
00092   Double_t fRecoVtxDistToEdge;
00093 
00094   Double_t fRecoRingVtxX;
00095   Double_t fRecoRingVtxY;
00096   Double_t fRecoRingVtxZ;  
00097   Double_t fRecoRingDirX;
00098   Double_t fRecoRingDirY;
00099   Double_t fRecoRingDirZ;
00100   Double_t fRecoRingAngle;
00101   Double_t fRecoRingHeight;
00102   Double_t fRecoRingHeightFrac;
00103 
00104   // Vertex: Reco minus True
00105   Double_t fRecoDelta;
00106   Double_t fRecoDeltaTrans;
00107   Double_t fRecoDeltaLong;
00108   Double_t fRecoDeltaAngle;
00109   Double_t fRecoRingDeltaAngle;
00110 
00111   // Vertex: Reconstruction Chain
00112   Double_t fSimplePositionX;
00113   Double_t fSimplePositionY;
00114   Double_t fSimplePositionZ;
00115   Double_t fSimplePositionDelta;
00116   Double_t fSimplePositionDeltaTrans;
00117   Double_t fSimplePositionDeltaLong;
00118 
00119   Double_t fPointPositionX;
00120   Double_t fPointPositionY;
00121   Double_t fPointPositionZ;
00122   Double_t fPointPositionFOM;
00123   Int_t fPointPositionSteps;
00124   Int_t fPointPositionPass;
00125   Double_t fPointPositionDelta;
00126   Double_t fPointPositionDeltaTrans;
00127   Double_t fPointPositionDeltaLong;
00128 
00129   Double_t fSimpleDirectionX;
00130   Double_t fSimpleDirectionY;
00131   Double_t fSimpleDirectionZ;
00132   Double_t fSimpleDirectionDeltaAngle;
00133 
00134   Double_t fPointDirectionX;
00135   Double_t fPointDirectionY;
00136   Double_t fPointDirectionZ;
00137   Double_t fPointDirectionFOM;
00138   Int_t fPointDirectionSteps;
00139   Int_t fPointDirectionPass;  
00140   Double_t fPointDirectionDeltaAngle;
00141 
00142   Double_t fPointVtxX;
00143   Double_t fPointVtxY;
00144   Double_t fPointVtxZ;
00145   Double_t fPointDirX;
00146   Double_t fPointDirY;
00147   Double_t fPointDirZ; 
00148   Double_t fPointConeAngle;
00149   Double_t fPointTrackLength;
00150   Double_t fPointVtxFOM;
00151   Int_t fPointVtxSteps;
00152   Int_t fPointVtxPass;  
00153   Double_t fPointVtxDelta;
00154   Double_t fPointVtxDeltaTrans;
00155   Double_t fPointVtxDeltaLong;
00156   Double_t fPointVtxDeltaAngle;
00157 
00158   Double_t fExtendedVtxX;
00159   Double_t fExtendedVtxY;
00160   Double_t fExtendedVtxZ;
00161   Double_t fExtendedDirX;
00162   Double_t fExtendedDirY;
00163   Double_t fExtendedDirZ;  
00164   Double_t fExtendedConeAngle;
00165   Double_t fExtendedTrackLength;
00166   Double_t fExtendedVtxFOM;
00167   Int_t fExtendedVtxSteps;
00168   Int_t fExtendedVtxPass;  
00169   Double_t fExtendedVtxDelta;
00170   Double_t fExtendedVtxDeltaTrans;
00171   Double_t fExtendedVtxDeltaLong;
00172   Double_t fExtendedVtxDeltaAngle;
00173 
00174   // --- debug ---
00175   Double_t fExtendedVtxTimeParam0;
00176   Double_t fExtendedVtxConeParam0;
00177   Double_t fExtendedVtxConeParam1;
00178   Double_t fExtendedVtxConeParam2;
00179 
00180   ClassDef(WCSimRecoNtuple,0)
00181 };
00182 
00183 #endif 
00184