StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEEmcPi0Analysis.h
1 #ifndef __StEEmcPi0Analysis_h__
2 #define __StEEmcPi0Analysis_h__
3 
4 #include "StMaker.h"
5 
6 #include "StMuDSTMaker/COMMON/StMuDstMaker.h"
7 #include "StMuDSTMaker/COMMON/StMuDst.h"
8 #include "StMuDSTMaker/COMMON/StMuEvent.h"
9 #include "StMuDSTMaker/COMMON/StMuTriggerIdCollection.h"
10 #include "StMuDSTMaker/COMMON/StMuPrimaryVertex.h"
11 #include "StEvent/StTriggerId.h"
12 
13 #include "StSpinPool/StSpinDbMaker/StSpinDbMaker.h"
14 
15 #include "StEEmcMixEvent.h"
16 
17 class StEEmcMixMaker;
18 class StEEmcPointMaker;
19 class StRFEmcTrigMaker;
20 class TH1F;
21 class TH2F;
22 class TFile;
23 class SpinCuts;
24 class EEmcGeomSimple;
25 class StEEmcA2EMaker;
26 class TTree;
27 
28 #include <vector>
29 #include "StEEmcPair.h"
30 #include "SpinHistos.h"
31 #include "TString.h"
32 
33 class StEEmcPi0Analysis : public StMaker
34 {
35 
36  public:
38  StEEmcPi0Analysis(const Char_t *name);
40  ~StEEmcPi0Analysis(){ /* nada */ };
41 
43  Int_t Init();
45  Int_t Make();
47  Int_t InitRun(Int_t);
49  void Clear(Option_t *opts="");
52  void mixer(const Char_t *name);
54  void points(const Char_t *name);
56  void mudst(const Char_t *name);
58  void analysis(const Char_t *name);
60  void spin(const Char_t *name);
61 
63  void trigger(Int_t trig){ mTriggerList.push_back(trig); }
64 
66  void minbias(Int_t trig){ mMinBias = trig; }
67 
68  SpinCuts *cuts(){ return mCuts; }
69 
70  void filename(const Char_t *fname){ mFilename=fname; }
71 
72  void triggerSim( const Char_t *name, Int_t t ) { mTrigSim=(StRFEmcTrigMaker*)GetMaker(name); mTrigSimThreshold=t; }
73 
74  private:
75  protected:
76 
79  Bool_t twoBodyCut( StEEmcPair &p );
80 
91 
92  std::vector<Int_t> mTriggerList;
93  Int_t mMinBias;
95  enum SpinStates { kAny=0, kUpUp, kUpDn, kDnUp, kDnDn };
96 
99  SpinHistos *mBackgrounds[100];
100  SpinCuts *mCuts;
102  TH1F *hSpin4;
103  TH1F *hBx7;
104  TH1F *hBx48;
105  TH2F *hBx7diffBx48;
106  TH1F *hBxStar;
107  TH1F *hBxStarPi0;
109  TH2F *hMassBx;
110  TH2F *hZvertBx;
111  TH2F *hZggBx;
112  TH2F *hEtaBx;
114  TH1F *hSpin4mb;
117  enum EventCutTypes {
118  kEvent=0,
119  kMinBias,
120  kTrig,
121  kSoftTrig,
122  kSoftTrig36,
123  kVertex,
124  kCandidate
125  };
126 
127  enum PairCutTypes {
128  kPair=1,
129  kTwoBody,
130  kAdcTow,
131  kEtTow,
132  kKinematics
133  };
134 
137 
139  TH1F *hPairCounter;
140 
142  Bool_t accept(StMuDst *mu);
143  Bool_t accept(StEEmcPair pair, Bool_t fill=true );
144 
146  Int_t getSpinState(StMuDst *mu, Int_t &bxs);
147 
148  TString mFilename;
149  TFile *mFile;
150 
153  Int_t mTrigSimThreshold;
154 
155  Int_t mRunNumber;
156  Bool_t mSpinSort;
157 
160 
161  StEEmcMixEvent *mRealEvent;
162  StEEmcMixEvent *mMixedEvent;
163 
164  TTree *mRealTree;
165  TTree *mMixedTree;
166 
169 
170 };
171 
172 #endif
SpinHistos * mHistograms[100]
Spin-sorted pi0 histograms.
StSpinDbMaker * mSpinDb
pointer to the spin database
Bool_t twoBodyCut(StEEmcPair &p)
EEmc ADC –&gt; energy maker.
void minbias(Int_t trig)
Sets the appropriate minbias trig id.
Bool_t accept(StMuDst *mu)
method to cut events
StRFEmcTrigMaker * mTrigSim
Trigger simulation for MC.
A maker for creating pi0 histograms.
void analysis(const Char_t *name)
specifies the name of the analysis maker
Int_t Init()
initializes the maker
Class for building points from smd clusters.
Int_t Make()
processes a single event
copied from muDst
~StEEmcPi0Analysis()
destructor
Int_t InitRun(Int_t)
init run
EEmcGeomSimple * mEEgeom
EEMC tower geometry.
void mudst(const Char_t *name)
specifies the name of the mudst maker
void points(const Char_t *name)
specifies the name of the point maker
StEEmcPi0Analysis(const Char_t *name)
constructor
StEEmcPointMaker * mEEpoints
pointer to the point maker
StMuDstMaker * mMuDst
pointer to mudst
Int_t getSpinState(StMuDst *mu, Int_t &bxs)
method to retrieve 4bit spin state
void trigger(Int_t trig)
Add trigger ID to process.
TH1F * hEventCounter
histogram to keep track of where events get cut
ClassDef(StEEmcPi0Analysis, 1)
Makes class availabel to root.
EEMC simple geometry.
void Clear(Option_t *opts="")
clears the maker
std::vector< Int_t > mTriggerList
TH1F * hPairCounter
histogram to keep track of where candidates get cut
void mixer(const Char_t *name)
StEEmcMixMaker * mEEmixer
Pointer to the pi0 mixer.
A class for mixing pi0 candidates.
void spin(const Char_t *name)
specifies the name of the spin db maker
StEEmcA2EMaker * mEEanalysis
pointer to analysis maker
A class to represent pairs of points.
Definition: StEEmcPair.h:9
Spin sorted pi0 histograms.
Definition: SpinHistos.h:22