BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/EmcRec/EmcRec-01-02-58/EmcRec/EmcRec.h
Go to the documentation of this file.
1//
2// Emc Rec
3//
4// Created by Zhe Wang, May 31, 2004
5//
6#ifndef EMC_REC_A_H
7#define EMC_REC_A_H
8
9#include "GaudiKernel/Algorithm.h"
10#include "GaudiKernel/PropertyMgr.h"
11
12#include "EmcRecEventModel/RecEmcEventModel.h"
13#include "EmcRec/EmcRecDigit2Hit.h"
14#include "EmcRec/EmcRecHit2Cluster.h"
15#include "EmcRec/EmcRecCluster2ShowerAbs.h"
16
17//Ntuple
18#include "GaudiKernel/NTuple.h"
19
21
22class EmcRec:public Algorithm {
23 public:
24 EmcRec(const std::string& name, ISvcLocator* pSvcLocator);
25 StatusCode initialize();
26 StatusCode execute();
27 StatusCode finalize();
28
29 private:
30 // functionality members
31 EmcRecDigit2Hit fDigit2Hit;
32 EmcRecHit2Cluster fHit2Cluster;
33 EmcRecCluster2ShowerAbs *fCluster2Shower;
34
35 // data members
36 RecEmcDigitMap fDigitMap;
37 RecEmcHitMap fHitMap;
38 RecEmcClusterMap fClusterMap;
39 RecEmcShowerMap fShowerMap;
40
41 // some control parameters
42 IRawDataProviderSvc *m_rawDataProviderSvc;
43 PropertyMgr m_propMgr;
44 int m_event;
45 int fOutput;
46 int fEventNb;
47 bool fDigiCalib;
48 bool fTofEnergy;
49 bool fOnlineMode;
50 double fTimeMin;
51 double fTimeMax;
52 double fMethodMode;
53 double fPosCorr;
54
55 //MC reconstruction for electronics saturation
56 // 0: using Bhabha calibration constants
57 // 1: using Emaxdata from data
58 int fElecSaturation;
59
60 std::vector<std::string> fPositionMode;
61
62#ifndef OnlineMode
63 // others
64 NTuple::Tuple* m_tuple;
65 // mc truth
66 NTuple::Item<long> pid;
67 NTuple::Item<float> tp;
68 NTuple::Item<float> ttheta;
69 NTuple::Item<float> tphi;
70 //
71 NTuple::Item<long> nrun;
72 NTuple::Item<long> nrec;
73 //
74 NTuple::Item<long> nneu;
75 NTuple::Item<long> npart;
76 NTuple::Item<long> ntheta;
77 NTuple::Item<long> nphi;
78 NTuple::Item<long> ndigi;
79 NTuple::Item<long> nhit;
80 NTuple::Item<long> ncluster;
81 // track 1
82 NTuple::Array<float> pp1;
83 NTuple::Item<float> theta1;
84 NTuple::Item<float> phi1;
85 NTuple::Item<float> dphi1;
86 NTuple::Item<float> eseed;
87 NTuple::Item<float> e3x3;
88 NTuple::Item<float> e5x5;
89 NTuple::Item<float> enseed;
90 NTuple::Item<float> etof2x1;
91 NTuple::Item<float> etof2x3;
92 NTuple::Item<float> cluster2ndMoment;
93 NTuple::Item<float> secondMoment;
94 NTuple::Item<float> latMoment;
95 NTuple::Item<float> a20Moment;
96 NTuple::Item<float> a42Moment;
97 NTuple::Item<float> mpi0;
98 NTuple::Item<long> thtgap1;
99 NTuple::Item<long> phigap1;
100
101 // track 2
102 NTuple::Array<float> pp2;
103#endif
104};
105
106#endif /// EMC_REC_A_H
107
map< RecEmcID, RecEmcCluster, less< RecEmcID > > RecEmcClusterMap
map< RecEmcID, RecEmcDigit, less< RecEmcID > > RecEmcDigitMap
map< RecEmcID, RecEmcHit, less< RecEmcID > > RecEmcHitMap
map< RecEmcID, RecEmcShower, less< RecEmcID > > RecEmcShowerMap
StatusCode initialize()
StatusCode finalize()
EmcRec(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode execute()