107 #ifndef StHbtAnalysis_hh
108 #define StHbtAnalysis_hh
113 #include "StHbtMaker/Base/StHbtBaseAnalysis.h"
114 #include "StHbtMaker/Base/StHbtPairCut.h"
115 #include "StHbtMaker/Base/StHbtEventCut.h"
116 #include "StHbtMaker/Base/StHbtParticleCut.h"
117 #include "StHbtMaker/Base/StHbtCorrFctn.hh"
118 #include "StHbtMaker/Infrastructure/StHbtCorrFctnCollection.hh"
119 #include "StHbtMaker/Infrastructure/StHbtPicoEventCollection.hh"
120 #include "StHbtMaker/Infrastructure/StHbtParticleCollection.hh"
121 #include "StHbtMaker/Infrastructure/StHbtPicoEvent.hh"
141 StHbtCorrFctnCollection* CorrFctnCollection();
150 void SetMinSizePartCollection(
unsigned int minSize);
153 unsigned int NumEventsToMix();
154 void SetNumEventsToMix(
const unsigned int&);
156 StHbtPicoEventCollection* MixingBuffer();
157 bool MixingBufferFull();
159 bool AnalyzeIdenticalParticles();
160 virtual StHbtString Report();
165 int GetNeventsProcessed();
167 virtual void Finish();
173 void AddEventProcessed();
174 void MakePairs(
const char* type,StHbtParticleCollection*,StHbtParticleCollection* p2=0);
179 StHbtCorrFctnCollection* mCorrFctnCollection;
183 StHbtPicoEventCollection* mMixingBuffer;
185 unsigned int mNumEventsToMix;
186 unsigned int mNeventsProcessed;
188 unsigned int mMinSizePartCollection;
198 inline StHbtPairCut* StHbtAnalysis::PairCut() {
return mPairCut;}
199 inline StHbtEventCut* StHbtAnalysis::EventCut() {
return mEventCut;}
200 inline StHbtParticleCut* StHbtAnalysis::FirstParticleCut() {
return mFirstParticleCut;}
201 inline StHbtParticleCut* StHbtAnalysis::SecondParticleCut() {
return mSecondParticleCut;}
202 inline StHbtCorrFctnCollection* StHbtAnalysis::CorrFctnCollection() {
return mCorrFctnCollection;}
203 inline unsigned int StHbtAnalysis::NumEventsToMix(){
return mNumEventsToMix;}
204 inline StHbtPicoEvent* StHbtAnalysis::CurrentPicoEvent() {
return mPicoEvent;}
206 inline StHbtPicoEventCollection* StHbtAnalysis::MixingBuffer() {
return mMixingBuffer;}
209 inline bool StHbtAnalysis::AnalyzeIdenticalParticles(){
return (mFirstParticleCut==mSecondParticleCut);}
216 inline void StHbtAnalysis::SetNumEventsToMix(
const unsigned int& nmix){ mNumEventsToMix = nmix;}
217 inline bool StHbtAnalysis::MixingBufferFull(){
return (mMixingBuffer->size() >= mNumEventsToMix);}
218 inline int StHbtAnalysis::GetNeventsProcessed() {
return mNeventsProcessed;}
220 inline void StHbtAnalysis::SetMinSizePartCollection(
unsigned int minSize){mMinSizePartCollection = minSize;}
virtual void ProcessEvent(const StHbtEvent *)
returns reports of all cuts applied and correlation functions being done