187 #ifndef StMiniMcMaker_H
188 #define StMiniMcMaker_H
199 #include "StAssociationMaker/StAssociationMaker.h"
200 #include "StAssociationMaker/StTrackPairInfo.hh"
214 #include "StThreeVectorF.hh"
225 typedef map<UInt_t,Int_t> RCFOUNDMAP;
226 typedef map<long,Int_t> MCFOUNDMAP;
227 typedef map<Long_t,const StMcTrack*> MCMAP;
228 typedef vector<StTrackPairInfo*> PAIRVEC;
229 typedef pair<const StTpcHit*,const StTpcHit*> PAIRHIT;
231 return p1->commonTpcHits() < p2->commonTpcHits();
234 return p1->commonTpcHits() > p2->commonTpcHits();
248 const Char_t* title=
"event/StMiniMcMaker");
251 void Clear(Option_t *option=
"");
253 Int_t InitRun(
int runnumber);
256 virtual const char *GetCVS()
const
257 {
static const char cvs[]=
"Tag $Name: $ $Id: StMiniMcMaker.h,v 1.20 2014/08/06 11:43:27 jeromel Exp $ built " __DATE__
" " __TIME__ ;
return cvs;}
261 void setGhost(Bool_t doit=kTRUE) { mGhost = doit; }
262 void setOutDir(
const char* dir=
"./") { mOutDir = dir; }
263 void setPtCut(Float_t minPt=0, Float_t maxPt=9999)
264 { mMinPt=minPt; mMaxPt=maxPt; }
265 void setFileName(
const TString& val) { mInFileName = val; }
266 void setFilePrefix(
const TString& val) { mInFilePrefix = val; }
273 Bool_t initAssociation();
278 Bool_t acceptGood20(
const StTrack*);
280 Bool_t acceptCentrality(
const StTrack*);
281 Bool_t acceptUncorrected(
const StTrack*);
283 Bool_t acceptFTPC(
const StTrack*);
286 Bool_t acceptPt(
const StTrack*);
292 PAIRHIT findFirstLastHit(
const StTrack*);
293 PAIRHIT findFirstLastFitHit(
const StTrack*);
306 void buildEmcIndexArray();
307 void fillEventInfo(Int_t nGoodTrack, Int_t nRcGlobal, Int_t nRcGoodGlobal20,
309 Int_t nMcGlobal, Int_t nMcGoodGlobal20,
310 Int_t nMcNch, Int_t nMcHminus,
311 Int_t nMcFtpcENch, Int_t nMcFtpcWNch,
312 Int_t nFtpcEUncorrected, Int_t nFtpcWUncorrected,
313 Int_t nUncorrectedGlobals);
318 Int_t commonHits, Int_t nAssMc,
319 Int_t nAssGl, Int_t nAssPr,
320 Bool_t isBestContam=kFALSE);
329 Int_t nAssGl, Int_t nAssPr);
331 void checkMerged(
const StMcTrack* merged, Int_t mergedCommonHits,
336 size_t getIndex(
size_t mult);
338 void AppendMCDaughterTrack();
339 static void dominatTkInfo(
const StTrack* recTrack,
int &dominatrackKey ,
int& dominatrackHits,
float& avgQuality);
346 TString mInFilePrefix;
347 TString mOutFileName;
349 TString mParameterFileName;
353 rcTpcHitMapType* mRcHitMap;
354 rcTrackMapType* mRcTrackMap;
355 mcTrackMapType* mMcTrackMap;
360 vector<StEmcRawHit*> mEmcIndex;
Monte Carlo Track class All information on a simulated track is stored in this class: kinematics...
Top level class for the MiniMcTree, containing event-wise information and the McTrack, and all TrackPair collections.
for simplicity, this contains both the rc and mc track information.
Definition of Pair for Contamination tracks (secondary tracks, weak decay tracks) ...
Event data structure to hold all information from a Monte Carlo simulation. This class is the interfa...
void Clear(Option_t *option="")
User defined functions.