StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StEStructQAHists.h
1 /**********************************************************************
2  *
3  * $Id: StEStructQAHists.h,v 1.8 2012/11/16 21:19:07 prindle Exp $
4  *
5  * Author: Jeff Porter
6  *
7  **********************************************************************
8  *
9  * Description: base class for QA histogramming
10  *
11  ***********************************************************************/
12 #ifndef _STEStructQAHists_H
13 #define _STEStructQAHists_H
14 
15 #include "StEStructEventReader.h"
16 #include "TROOT.h"
17 
18 class TH1D;
19 class TH1F;
20 class TH2F;
21 class StEStructTrack;
22 
23 class StEStructQAHists : public TObject {
24 
25  protected:
26 
27  int mEType; //event type: 0=data, 1=hij, 2=pyth, 3... organize as you need
28 
29  TH1D * mCents[2];
30  TH1D * mptCents[3];
31  TH1D * mTotMult;
32  TH1D * mRefMult;
33  TH1D * mPosMult;
34  TH1D * mNegMult;
35  TH1D * mTotMult4;
36  TH1D * mPosMult4;
37  TH1D * mNegMult4;
38 
39  // --- a base set for aa event generators (e.g. hijing)
40 
41  TH1D * aaGenImpact;
42  TH2F * aaGen[2];
43  TH1D ** aaGenBin;
44  TH1D ** aaGenPart;
45 
46  // --- a base set for aa event generators (e.g. hijing)
47 
48  TH1F ** ppELines;
49  TH1F ** ppALines;
50 
51  //--- a basic track set
52 
53  bool mhasAIndex;
54  int mntBins;
55  TH1F ** mHEta;
56  TH1F ** mHPhi;
57  TH1F ** mHPt;
58  TH1F ** mHYt;
59  TH1F ** mHMass;
60  TH2F ** mHdEdxPtot;
61  TH2F ** mHToFPtot;
62  TH2F ** mHEtaPt;
63 
64  void initBaseHistograms();
65  void fillBaseHistograms(StEStructEvent* event, StEStructEventReader* reader);
66  void writeBaseHistograms(TFile* tf);
67 
68  public:
69 
70  StEStructQAHists(int itype=0);
71  virtual ~StEStructQAHists();
72 
73  virtual void initHistograms();
74  virtual void fillHistograms(StEStructEvent* event, StEStructEventReader* reader);
75  virtual void writeHistograms(TFile* tf);
76 
77  virtual void initTrackHistograms(int numBins, int analysisIndex=-1);
78  virtual void fillTrackHistograms(StEStructTrack* track, int ibin);
79  virtual void writeTrackHistograms(TFile* tf);
80 
81 // virtual void initPairHistograms(int numBins, int analysisIndex=-1);
82 // virtual void fillPairHistograms(StEStructTrack* track1, StEStructTrack* track2, int ibin, int after);
83 // virtual void writePairHistograms(TFile* tf);
84 
85  ClassDef(StEStructQAHists,1)
86 };
87 
88 #endif
89 
90 /**********************************************************************
91  *
92  * $Log: StEStructQAHists.h,v $
93  * Revision 1.8 2012/11/16 21:19:07 prindle
94  * Moved EventCuts, TrackCuts to EventReader. Affects most readers.
95  * Added support to write and read EStructEvents.
96  * Cuts: 3D histo support, switch to control filling of histogram for reading EStructEvents
97  * EventCuts: A few new cuts
98  * MuDstReader: Add 2D to some histograms, treat ToFCut, PrimaryCuts, VertexRadius histograms like other cut histograms.
99  * QAHists: Add refMult
100  * TrackCuts: Add some hijing cuts.
101  *
102  * Revision 1.7 2011/08/02 20:31:25 prindle
103  * Change string handling
104  * Added event cuts for VPD, good fraction of global tracks are primary, vertex
105  * found only from tracks on single side of TPC, good fraction of primary tracks have TOF hits..
106  * Added methods to check if cuts imposed
107  * Added 2010 200GeV and 62 GeV, 2011 19 GeV AuAu datasets, 200 GeV pp2pp 2009 dataset.
108  * Added TOF vs. dEdx vs. p_t histograms
109  * Fix participant histograms in QAHists.
110  * Added TOFEMass cut in TrackCuts although I think we want to supersede this.
111  *
112  * Revision 1.6 2010/09/02 21:20:09 prindle
113  * Cuts: Add flag to not fill histograms. Important when scanning files for sorting.
114  * EventCuts: Add radius cut on vertex, ToF fraction cut. Merge 2004 AuAu 200 GeV datasets.
115  * Add 7, 11 and 39 GeV dataset selections
116  * MuDstReader: Add 2D histograms for vertex radius and ToF fraction cuts.
117  * Modify countGoodTracks to return number of dEdx and ToF pid identified tracks.
118  * Include code to set track pid information from Dst.
119  * QAHists: New ToF QA hists. Modify dEdx to include signed momentum.
120  *
121  * Revision 1.5 2010/06/23 22:29:50 prindle
122  * Hadd typo of 2004B instead of B2004 in EventCuts.cxx
123  * Added a couple of histograms in QAHists.
124  *
125  * Revision 1.4 2008/03/19 22:02:00 prindle
126  * Updated some dataset definitions.
127  *
128  * Revision 1.3 2007/11/26 19:52:25 prindle
129  * Add cucu62, cucu200 2007ib production datasets.
130  * Included vertex cuts for case of ranked vertices. (Pass muDst pointer to EventCuts)
131  * Add n^(1/4) histograms to QAHists
132  *
133  * Revision 1.2 2006/04/27 22:20:12 prindle
134  * Some changes in trigger names for run periods.
135  * Changed a couple of the Hijing QA histograms.
136  *
137  * Revision 1.1 2006/04/04 22:05:06 porter
138  * a handful of changes:
139  * - changed the StEStructAnalysisMaker to contain 1 reader not a list of readers
140  * - added StEStructQAHists object to contain histograms that did exist in macros or elsewhere
141  * - made centrality event cut taken from StEStructCentrality singleton
142  * - put in ability to get any max,min val from the cut class - one must call setRange in class
143  *
144  *
145  *********************************************************************/