/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/EmcRec/EmcRec-01-02-57/EmcRec/EmcRec.h

Go to the documentation of this file.
00001 //
00002 //  Emc Rec
00003 //  
00004 //  Created by Zhe Wang, May 31, 2004
00005 //
00006 #ifndef EMC_REC_A_H
00007 #define EMC_REC_A_H
00008 
00009 #include "GaudiKernel/Algorithm.h"
00010 #include "GaudiKernel/PropertyMgr.h"
00011 
00012 #include "EmcRecEventModel/RecEmcEventModel.h"
00013 #include "EmcRec/EmcRecDigit2Hit.h"
00014 #include "EmcRec/EmcRecHit2Cluster.h"
00015 #include "EmcRec/EmcRecCluster2ShowerAbs.h"
00016 
00017 //Ntuple
00018 #include "GaudiKernel/NTuple.h"
00019 
00020 class IRawDataProviderSvc;
00021 
00022 class EmcRec:public Algorithm {
00023  public:
00024    EmcRec(const std::string& name, ISvcLocator* pSvcLocator);
00025    StatusCode initialize();
00026    StatusCode execute();
00027    StatusCode finalize();
00028    
00029  private:
00030    // functionality members
00031    EmcRecDigit2Hit      fDigit2Hit;
00032    EmcRecHit2Cluster    fHit2Cluster;
00033    EmcRecCluster2ShowerAbs *fCluster2Shower;
00034    
00035    // data members
00036    RecEmcDigitMap   fDigitMap;
00037    RecEmcHitMap     fHitMap;
00038    RecEmcClusterMap fClusterMap;
00039    RecEmcShowerMap  fShowerMap;   
00040    
00041    // some control parameters
00042    IRawDataProviderSvc *m_rawDataProviderSvc;
00043    PropertyMgr   m_propMgr;
00044    int  m_event;
00045    int  fOutput;
00046    int  fEventNb;
00047    bool fDigiCalib;
00048    bool fTofEnergy;
00049    bool fOnlineMode;
00050    double fTimeMin;
00051    double fTimeMax;
00052    double fMethodMode;
00053    double fPosCorr;
00054 
00055    //MC reconstruction for electronics saturation
00056    // 0: using Bhabha calibration constants
00057    // 1: using Emaxdata from data
00058    int fElecSaturation;
00059 
00060    std::vector<std::string> fPositionMode;
00061 
00062 #ifndef OnlineMode
00063    // others 
00064    NTuple::Tuple*  m_tuple;
00065    // mc truth
00066    NTuple::Item<long>  pid;
00067    NTuple::Item<float> tp;
00068    NTuple::Item<float> ttheta;
00069    NTuple::Item<float> tphi;
00070    //
00071    NTuple::Item<long> nrun;
00072    NTuple::Item<long> nrec;
00073    //
00074    NTuple::Item<long> nneu;
00075    NTuple::Item<long> npart;
00076    NTuple::Item<long> ntheta;
00077    NTuple::Item<long> nphi;
00078    NTuple::Item<long> ndigi;
00079    NTuple::Item<long> nhit;
00080    NTuple::Item<long> ncluster;
00081    // track 1
00082    NTuple::Array<float> pp1;
00083    NTuple::Item<float> theta1;
00084    NTuple::Item<float> phi1;
00085    NTuple::Item<float> dphi1;
00086    NTuple::Item<float> eseed;
00087    NTuple::Item<float> e3x3;
00088    NTuple::Item<float> e5x5;
00089    NTuple::Item<float> enseed;
00090    NTuple::Item<float> etof2x1;
00091    NTuple::Item<float> etof2x3;
00092    NTuple::Item<float> cluster2ndMoment;
00093    NTuple::Item<float> secondMoment;
00094    NTuple::Item<float> latMoment;
00095    NTuple::Item<float> a20Moment;
00096    NTuple::Item<float> a42Moment;
00097    NTuple::Item<float> mpi0;
00098    NTuple::Item<long> thtgap1;
00099    NTuple::Item<long> phigap1;   
00100    
00101    // track 2
00102    NTuple::Array<float> pp2; 
00103 #endif
00104 };
00105 
00106 #endif 
00107 

Generated on Tue Nov 29 23:13:14 2016 for BOSS_7.0.2 by  doxygen 1.4.7