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

FCPCFilterModule.h

Go to the documentation of this file.
00001 
00002 //FCPCFilterModule.cxx
00003 // A first pass Partially and fully contained Filter
00004 // John Chapman chapman@hep.phy.cam.ac.uk
00005 // (Original Code by Caius Howcroft)
00007 #ifndef FCPCFILTERMODULE_H
00008 #define FCPCFILTERMODULE_H
00009 #ifndef JOBCMODULE_H
00010 #include "JobControl/JobCModule.h"
00011 #endif
00012 
00013 #include <string>
00014 #include "TString.h"
00015 
00016 class TTree;
00017 class TFile;
00018 
00019 class FCPCFilterModule : public JobCModule
00020 {
00021 public:
00022   FCPCFilterModule();
00023   ~FCPCFilterModule();
00024 
00025 public:
00026   // Handle job status changes
00027   void BeginJob();
00028   void EndJob();
00029 
00030   // Analysis and Reconstruction methods
00031   JobCResult Ana(const MomNavigator* mom);
00032 
00033   // Module configuration
00034   const Registry& DefaultConfig() const;
00035   void            Config(const Registry& r);
00036 
00037 
00038 private:
00039   void ResetParams();
00040   Float_t TimeWalk(float adc);
00041   //Configuration data
00042   bool cDoPC;
00043   bool cDoFC;
00044   bool cDoUC;
00045   bool cDoUp;
00046   std::string cListIn;
00047   double cMinDmxWeight;
00048   double cMinDigitCharge;
00049   double cFidRadius;
00050   double cMinFidCharge;
00051 
00052   //Detector config
00053   int cSM1StartPlane;
00054   int cSM1StopPlane;
00055   int cSM2StartPlane;
00056   int cSM2StopPlane;
00057 
00058 
00059   //Cut config
00060   int cMinPlaneCut;        //Min required plane cut
00061   double cMinPlaneCharge;  
00062   int cEndPlaneVeto;       //The number of planes to veto on
00063   double cEndPlaneVetoCharge; //the cut on charge
00064   double cMaxFidPctChargeCut;  
00065   double cMaxRegionSep; //the maximum allowed distance between the mean hit postions in 2 adjacent regions
00066   
00067   //output variables
00068   int cMakeTree; //whether or not to make a tree of the results of FCPCFilter
00069   TFile* fFile;
00070   TTree* fTree;
00071   TString fFileName;
00072   //Event Info
00073   int fRun;
00074   int fSnarl;
00075   int fMinPlane;        //the max plane used in this module
00076   int fMaxPlane;        // the min plane used in this module
00077   double fCharge;       //total charge used (see above cuts)
00078   int fNPlane;          //Number of planes above some charge treshold
00079   double fFidCharge[8]; //the charge next to each side
00080   double fFidU[12];     //charge weighted mean U position in each side/end region
00081   double fFidV[12];     //charge weighted mean V position in each side/end region
00082   double fFidZ[12];     //charge weighted mean Z position in each side/end region
00083   double fSumFidCharge; //the total charge on all sides
00084   double fChargeInSM1;  //the charge within the SM1 fiducial volume
00085   double fChargeInSM2;  //the charge within the SM2 fiducial volum
00086   double fSM1begPlaneQ; //the low plane charge (SM1 beg)
00087   double fSM1endPlaneQ; //the SM1 end plane charge
00088   double fSM2begPlaneQ; //the SM2 beg charge
00089   double fSM2endPlaneQ; //the high plane charge (SM2 end)
00090   int fEventClass;      //the classification of the event 0=UC, 1=PC, 2=FC
00091 
00092   //some work areas
00093   double wPlaneChargePE[500];
00094   double wPlaneMeanTPos[500];
00095   double wPlaneZPos[500];
00096   int wPlaneContainment[2][2][2][2];
00097   double wMeanTime[12]; //upward going mus
00098 
00099 };
00100 #endif // FCPCFILTERMODULE_H
00101 

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