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

DmxDeMuxModule.h

Go to the documentation of this file.
00001 
00002 // $Id: DmxDeMuxModule.h,v 1.18 2004/11/01 20:12:03 brebel Exp $
00003 //
00004 // A module used for demultiplexing the far detector
00005 //
00006 // Author:  B. Rebel 10/2000
00008 #ifndef DMXDEMUXMODULE_H
00009 #define DMXDEMUXMODULE_H
00010 
00011 #include "TROOT.h"
00012 #include "TObject.h"
00013 #include "DeMux/DmxStatus.h"
00014 #include "Registry/Registry.h"
00015 #include "TTree.h"
00016 #include "TFile.h"
00017 #include "TFolder.h"
00018 
00019 #ifndef JOBCMODULE_H
00020 #include "JobControl/JobCModule.h"
00021 #endif
00022 
00023 class MomNavigator;
00024 class JobCommand;
00025 class TObjectItr;
00026 class CandDeMuxDigitHandleItr;
00027 
00028 //......................................................................
00029 
00030 class DmxDeMuxModule : public JobCModule, public TObject
00031 {
00032 
00033  public:
00034   DmxDeMuxModule();
00035   ~DmxDeMuxModule();
00036   
00037   void BeginJob();
00038   JobCResult Reco(MomNavigator *mom);
00039   JobCResult Ana(const MomNavigator *mom);
00040   void HandleCommand(JobCommand *command);
00041   const Registry& DefaultConfig() const;
00042   void Config(const Registry& r);
00043   void Help();
00044   void EndJob();
00045 //  void ClearStatusObject();
00046 
00047 private:
00048 
00049   Float_t fAverageTimingOffset;
00050   Int_t fCrate;
00051   Int_t fDataType;  //type of data used - real==0 or monte carlo==1
00052   Int_t fDeltaStrips;  //number of strips a digit can be off of a track
00053   Int_t fDeMuxedStrip;
00054   Int_t fDeMuxedStripW;
00055   Float_t fDigitCharge;
00056   Int_t fDigitDeMuxedCorrectly;
00057   Int_t fDigitsInEvent;
00058   Int_t fDigitSide; //0 = east, 1 = west
00059   Int_t fDirection;
00060   bool fDontUseCandDigitMasks;
00061   Int_t fDoubleEnded;
00062   Int_t fEndPlane;
00063   Float_t fEventCharge;
00064   Int_t fEventDeMuxed;
00065   bool fEventLength;
00066   Int_t fEventNumber;
00067   bool fFilter;
00068   Float_t fFractionChargeNearTrack;
00069   const Char_t *fHistoFileName; //name of root file containing histograms from Ana()
00070   Float_t fHoughSlope;
00071   Float_t fHoughIntercept;
00072   Float_t fHoughPeak;
00073   Float_t fHypothesisCoG;
00074   Float_t fHypothesisCoGTPos;
00075   Float_t fHypothesisMatedSignalRatio;
00076   Int_t fHypothesisNumber;
00077   Int_t fHypothesisRank;
00078   Float_t fHypothesisStat;
00079   Float_t fHypothesisTieBreaker;
00080   Int_t fHypothesisValid;
00081   bool fMakeTrees;
00082   Int_t fMated;
00083   Double_t fMatedSignalForValid;
00084   Float_t fMCDigitCharge;
00085   Int_t fMCDigitSide;  
00086   Float_t fMCChargeCorrect;
00087   Float_t fMCChargeCorrect1Hyp;
00088   Float_t fMCCoG;
00089   Float_t fMCCoGTPos;
00090   Double_t fMCInitialSlopeU;
00091   Double_t fMCInitialSlopeV;
00092   Float_t fMCTotalCharge;
00093   Float_t fMCTotalCharge1Hyp;
00094   Float_t fMCStripsCorrect;
00095   Int_t fMCVertexPlane;
00096   Int_t fMCEndPlane;
00097   Int_t fMultiple;
00098   Int_t fMuonStartPlane;
00099   Int_t fNonPhysicalFailure;
00100   Int_t fNonPhysicalPlanes;
00101   Int_t fNoVertexFailure;
00102   Int_t fNumberOfPlanesInEvent;
00103   Int_t fOneSidedUPlanes;
00104   Int_t fOneSidedVPlanes;
00105   Int_t fPlane;
00106   Float_t fPlaneZ;
00107   Float_t fPlaneDeMuxedCoG;
00108   Int_t fPlaneStray;
00109   Int_t fPlanesInWindow;
00110   Int_t fPlaneType;
00111   Float_t fSignalFractionLimit;
00112   bool fSingleModuleDeMux;
00113   Float_t fSingleModuleCharge;
00114   Float_t fSingleModuleCorrectCharge;
00115   Float_t fSingleModuleDigits;
00116   Float_t fSingleModuleCorrectDigits;
00117   DmxStatus fStatus;  //object containing info about the event
00118   Int_t fStrayDeltaStripLimit;
00119   Int_t fStrip0;
00120   Int_t fStrip1;
00121   Int_t fStrip2;
00122   Int_t fStrip3;
00123   Int_t fStrip4;
00124   Int_t fStrip5;
00125   Int_t fStrip6;
00126   Int_t fStrip7;
00127   Double_t fTime;
00128   Int_t fTruthStripE;
00129   Int_t fTruthStripW;
00130   Double_t fUSlope;
00131   Double_t fUIntercept;
00132   Double_t fUSlopeRMS;
00133   Int_t fUStrayPlanes;
00134   Int_t fUValidPlanes;
00135   Int_t fUOverlap;
00136   Double_t fUInterceptRMS;
00137   Double_t fUChiSq;
00138   Double_t fVSlope;
00139   Double_t fVIntercept;
00140   Double_t fVSlopeRMS;
00141   Int_t fVStrayPlanes;
00142   Int_t fVValidPlanes;
00143   Int_t fVOverlap;
00144   Double_t fVInterceptRMS;
00145   Double_t fVChiSq;
00146   Int_t fXTalkDigit;
00147   TString fTrackFitter; // type of track fitter to use
00148   bool fUnsetDigitCheck;
00149   Int_t fValidPlanesFailure;
00150   Int_t fVertexPlane;
00151   Float_t fVertexPlaneZ;
00152   bool fWriteHistos;
00153   Double_t fXTalkSignalRatio; //xtalk signal ratio
00154   bool fUseStrayPlaneCheck;
00155   Int_t fStrayPlanesLimit;
00156   Float_t fUMuonMatedFraction;
00157   Float_t fVMuonMatedFraction;
00158   Float_t fUShowerMatedFraction;
00159   Float_t fVShowerMatedFraction;
00160   
00161   TFile *fDeMuxFile;
00162 
00163   //TTrees to hold test information
00164   TTree *fDeMuxTree;  //holds all information that only occurs once per event
00165                      //ie fraction of correctly demuxed charge, event length, total signal
00166   TTree *fDeMuxedDigitTree; //tree to hold info about digit - crate, plane, demuxed strip, charge
00167   TTree *fDmxPlaneTree; //tree to hold info about digit - crate, plane, demuxed strip, charge
00168   TTree *fTrackDigitsTree; //tree to hold info about digits from DigitsAlongTrack test
00169   TTree *fUnusedDigitsTree; //tree to hold info about digits from UnusedDigits test
00170   TTree *fMCDeMuxTree; //tree to hold mc demuxing info
00171   TTree *fMCDeMuxDigitTree; //tree to hold mc demuxed digit info
00172   TFolder *fTFolder;
00173 
00174   ClassDef(DmxDeMuxModule, 0) //DmxDeMuxModule
00175 };
00176 
00177 #endif // DMXDEMUXMODULE_H
00178 
00179 

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