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

AltDeMuxModule.h

Go to the documentation of this file.
00001 
00002 // $Id: AltDeMuxModule.h,v 1.2 2003/12/10 15:53:29 thomson Exp $
00003 //
00004 // An alternative multi-purpose demultiplexing algorithm module for 
00005 // demultiplexing events in the far detector
00006 //
00007 // Author:  M. Thosmson April 2003
00009 #ifndef ALTDEMUXMODULE_H
00010 #define ALTDEMUXMODULE_H
00011 
00012 #include "TObject.h"
00013 #include "TTree.h"
00014 #include "TFile.h"
00015 #include "TCanvas.h"
00016 #include "TH2.h"
00017 #include "TH1.h"
00018 #include "TPolyLine.h"
00019 #include "AltDeMuxDisplay.h"
00020 #include "UgliGeometry/UgliStripHandle.h"
00021 #include "Registry/Registry.h"
00022 
00023 #ifndef JOBCMODULE_H
00024 #include "JobControl/JobCModule.h"
00025 #endif
00026 
00027 class MomNavigator;
00028 class JobCommand;
00029 class TObjectItr;
00030 class TFolder;
00031 class CandDeMuxDigitHandleItr;
00032 class AltDeMuxCalc;
00033 
00034 //......................................................................
00035 
00036 class AltDeMuxModule : public JobCModule, public TObject
00037 {
00038 
00039  public:
00040   AltDeMuxModule();
00041   ~AltDeMuxModule();
00042   
00043   void BeginJob();
00044   JobCResult Reco(MomNavigator *mom);
00045   JobCResult Ana(const MomNavigator *mom);
00046   void HandleCommand(JobCommand *command);
00047   const Registry& DefaultConfig() const;
00048   void Config(const Registry& r);
00049   void EndJob();
00050   void Help();
00051   void BookHistos();
00052   //void TimeAnalysis();
00053   void GetFibreLengths();
00054   bool SelectCleanMuons();
00055   //  void MakeCandDeMuxDigitList(MomNavigator *mom);
00056 
00057 private:
00058 
00059   Int_t fDraw;
00060   bool fDiagnosticPlots;
00061   const Char_t *fDeMuxAlg;      //name of algorithm to be used for demuxing
00062   const Char_t *fHistoFileName; //name of root file containing histograms from Ana()
00063 
00064   TCanvas* fCanvasAltDeMux;
00065   TH2F* fUviewAltDeMux;
00066   TH2F* fVviewAltDeMux;  
00067   AltDeMuxDisplay* fAltDeMuxDisplay;
00068   std::vector<PlexSEIdAltL*>fPlanesAltLists[MAX_NUMBER_OF_PLANES][2];
00069   std::vector<DeMuxedPair>fDeMuxedPairs;
00070   AltDeMuxCalc*          pCalculator;
00071 
00072   UgliGeomHandle* pUgh;
00073 
00074   // -------------- Constants --------------
00075   Float_t fClearFibreC;
00076   Float_t fWLSFibreC;
00077   Float_t fScintillatorC;
00078   Float_t fClearFibreN;
00079   Float_t fWLSFibreN;
00080   Float_t fScintillatorN;
00081   Int_t   fNumberOfStrips;
00082 
00083   TH1F*    fUG;  // Histogram of VZ View
00084   TH1F*    fVG;   // Histogram of VZ View
00085   TH1F*    fUsdt;  // Histogram of VZ View
00086   TH1F*    fVsdt;   // Histogram of VZ View
00087   TH1F*    fUsdtH;  // Histogram of VZ View
00088   TH1F*    fVsdtH;   // Histogram of VZ View
00089   TH1F*    fUsdq;  // Histogram of VZ View
00090   TH1F*    fVsdq;   // Histogram of VZ View
00091   TH2F*    fVsdqQ;   // Histogram of VZ View
00092   TH2F*    fVsdqV;   // Histogram of VZ View
00093 
00094   TH1F*    fUsdq1;  // Histogram of VZ View
00095   TH1F*    fVsdq1;   // Histogram of VZ View
00096   TH1F*    fUsdq2;  // Histogram of VZ View
00097   TH1F*    fVsdq2;   // Histogram of VZ View
00098   TH1F*    fUsdq3;  // Histogram of VZ View
00099   TH1F*    fVsdq3;   // Histogram of VZ View
00100   TH1F*    fVsdtc;   // Histogram of VZ View
00101   TH1F*    fUsdtc;   // Histogram of VZ View
00102   TH2F*    fUrat;  // Histogram of VZ View
00103   TH2F*    fVrat;  // Histogram of VZ View
00104   TH2F*    fUdt;  // Histogram of VZ View
00105   TH2F*    fVdt;  // Histogram of VZ View
00106   TH2F*    fUcleardt;  // Histogram of VZ View
00107   TH2F*    fVcleardt;  // Histogram of VZ View
00108   TH2F*    fUwlsdt;  // Histogram of VZ View
00109   TH2F*    fVwlsdt;  // Histogram of VZ View
00110   TH2F*    fUclearNdt;  // Histogram of VZ View
00111   TH2F*    fVclearNdt;  // Histogram of VZ View
00112   TH2F*    fUwlsNdt;  // Histogram of VZ View
00113   TH2F*    fVwlsNdt;  // Histogram of VZ View
00114   TH2F*    fUQdl;  // Histogram of VZ View
00115   TH2F*    fVQdl;  // Histogram of VZ View
00116 
00117   TH2F*    fQ1Q2Good;  // Histogram of VZ View
00118   TH2F*    fQ1Q2All;   // Histogram of VZ View
00119   TH2F*    fDStripVsPlaneU;
00120   TH2F*    fDStripVsPlaneV;
00121 
00122   TPolyLine* fUZFitTSM1;
00123   TPolyLine* fVZFitTSM1;
00124   TPolyLine* fUZFitSSM1;
00125   TPolyLine* fVZFitSSM1;
00126 
00127   TPolyLine* fUZFitTSM2;
00128   TPolyLine* fVZFitTSM2;
00129   TPolyLine* fUZFitSSM2;
00130   TPolyLine* fVZFitSSM2;
00131 
00132 
00133 
00134 ClassDef(AltDeMuxModule, 0) //AltDeMuxModule
00135 };
00136 
00137 #endif // ALTDEMUXMODULE_H
00138 

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