StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EEsoloPi0.h
1 // \class EEsoloPi0
2 // \author Jan Balewski
3 #ifndef EEsoloPi0_h
4 #define EEsoloPi0_h
5 /******************************************************
6  * $Id: EEsoloPi0.h,v 1.7 2009/02/04 20:33:21 ogrebeny Exp $
7  ******************************************************
8  * Descripion:
9  * finds pi0 based on EEMC tower response
10  ******************************************************/
11 
12 class EEmcGeomSimple;
13 class TVector3;
14 class TObjArray;
15 class TH1F ;
16 class EEfeeRawEvent;
17 class EEstarTrig;
18 class EEmcEventHeader;
19 class EEmcDbItem;
20 
21 #include "StEEmcUtil/EEfeeRaw/EEdims.h"
22 
23 
25 #ifdef StRootFREE
26  class EEmcDb;
27  typedef EEmcDb EEDB;
28 #else
29  class StEEmcDb;
30  typedef StEEmcDb EEDB;
31 #endif
32 
33 
34 class EEsoloPi0 {
35  protected:
36  enum {MxTwEta=12, MxTwPhi=60, MxTw=12*60};
37  enum {mxTile=4,kT=0,kP=1, kQ=2,kR=3, kU=0, kV=1}; // 0=tower, 1=pres1, 2=pres2, 3=post
38 
39  private:
40  EEmcGeomSimple *geom;
41  protected:
42  int nInpEve;
43  float seedEnergy; // lower limit in search for seeds
44  float shapeLimit; // cut on eHTower/eCluster
45  float mLo, mHi; // define mass of meson
46 
47 
48  int timeSec;// time interval from the first processed event
49  int TotN2g; // total # of gam-gam pairs
50  int totPi0; // total # of real pi0
51  int totXPi0; // total # of pi0 from mixed events
52 
53  int nClust; // counts clusters
54  struct EEsoloMipA{int key,id; float e;};
55  struct Cluster {int k1; float eH,eC,fphi,feta; } clust[MxTw] ,oldClust;
56 
57 
58  float scaleFactor; // converts energy from eeTree --> GeV, old
59 
60  TH1F *hA[32], *hR[64], *hM[64]; // all, real , mixed eve
61  EEsoloMipA soloMip[MxTw]; // stores all towers
62 
63  int dbMapped;
64 
65  void clear();
66  void tagCluster(int k0,int d=1);
67  void sumTwClusterEnergy(int ic,int d=1);
68  float sumPatchEnergy(int k0,int d,EEsoloMipA *soloMipX, float *maxVal=0);
69  int findInvM(Cluster *, Cluster *, TH1F **);
70 
71  EEDB *eeDb;
72  TObjArray *HList;
73 
74  public:
75 
76  EEsoloPi0();
77  virtual ~EEsoloPi0();
78  void print();
79  void finish();
80  int findTowerClust();
81  void findTowerPi0();
82  void init( );
83  void initRun(int runID);// must be called after DB timestamp is known
84 
85  void set(float a, float b, float d, float m1=0.11, float m2=0.16 )
86  {scaleFactor =a; seedEnergy=b; shapeLimit=d; mLo=m1; mHi=m2; }
87 
88  ClassDef(EEsoloPi0,1)
89 };
90 #endif
91 
92 
93 
94 
95 /*****************************************************************
96  * $Log: EEsoloPi0.h,v $
97  * Revision 1.7 2009/02/04 20:33:21 ogrebeny
98  * Moved the EEMC database functionality from StEEmcDbMaker to StEEmcUtil/database. See ticket http://www.star.bnl.gov/rt2/Ticket/Display.html?id=1388
99  *
100  * Revision 1.6 2004/09/03 04:50:52 balewski
101  * big clenup
102  *
103  * Revision 1.5 2004/08/26 04:39:40 balewski
104  * towards pi0
105  *
106  * Revision 1.4 2004/05/07 21:38:38 balewski
107  * gamma finder with SMD
108  *
109  * Revision 1.3 2004/05/05 04:39:45 balewski
110  * works with muDst & ezTree
111  *
112  * Revision 1.2 2004/04/14 19:34:01 balewski
113  * access to trigger data
114  *
115  * Revision 1.1 2004/04/14 17:09:09 balewski
116  * new copy of pi0finder with towers only, should work on ezTree as well (after small cleanup)
117  *
118  * Revision 1.3 2004/03/01 15:23:17 balewski
119  * inv M ves eta added
120  *
121  * Revision 1.2 2004/02/26 04:24:47 balewski
122  * pi0
123  *
124  * Revision 1.1 2004/02/17 03:08:58 balewski
125  * *** empty log message ***
126  *
127  * Revision 1.1 2003/06/24 04:22:01 balewski
128  * pi0-reco with towers only
129  *
130  *
131  ********************************************************************/
132 
EEsoloPi0()
output histo access point
Definition: EEsoloPi0.cxx:37
TObjArray * HList
DB access point.
Definition: EEsoloPi0.h:72
EEMC simple geometry.