30 Float_t vx_sig = 0.01;
31 Float_t vy_sig = 0.01;
41 void geometry( TString tag, Bool_t agml=
true )
43 TString cmd =
"DETP GEOM "; cmd += tag;
44 if ( !geant_maker ) geant_maker = (
St_geant_Maker *)chain->GetMaker(
"geant");
45 geant_maker -> LoadGeometry(cmd);
49 void command( TString cmd )
51 if ( !geant_maker ) geant_maker = (
St_geant_Maker *)chain->GetMaker(
"geant");
52 geant_maker -> Do( cmd );
55 void trig( Int_t n=0 )
57 for ( Int_t i=0; i<n+1; i++ ) {
60 if (kinematics) kinematics->
Kine( 1,
"B0", 0, 48, -1.5, 1.5 );
85 data.
AddParticleToG3(
"rho_plus", 0.767, 4.35e-24, 1., 4, 213, 153, 0, 0 );
86 data.
AddParticleToG3(
"rho_minus", 0.767, 4.35e-24,-1., 4, -213, 154, 0, 0 );
87 data.
AddParticleToG3(
"D_star_plus", 2.01027,6.86e-22, 1., 4, 413, 60, 0, 0 );
88 data.
AddParticleToG3(
"D_star_minus",2.01027,6.86e-22,-1., 4, -413, 61, 0, 0 );
89 data.
AddParticleToG3(
"D_star_0", 2.007, 3.13e-22, 0., 4, 423, 62, 0, 0 );
90 data.
AddParticleToG3(
"D_star_0_bar",2.007, 3.13e-22, 0., 4, -423, 63, 0, 0 );
93 data.
AddParticleToG3(
"B0_bar", 5.2790, 1.536e-12, 0., 4, -511, 73, 0, 0 );
94 data.
AddParticleToG3(
"B_plus", 5.2790, 1.671e-12, 1., 4, 521, 70, 0, 0 );
95 data.
AddParticleToG3(
"B_minus",5.2790, 1.671e-12, -1., 4, -521, 71, 0, 0 );
97 data.
AddParticleToG3(
"D0_bar", 1.86484,1.536e-12, 0., 3, -421, 38, 0, 0 );
98 data.
AddParticleToG3(
"D_plus", 1.869, 1.057e-12, 1., 4, 411, 35, 0, 0 );
99 data.
AddParticleToG3(
"D_minus",1.869, 1.057e-12, -1., 4, -411, 36, 0, 0 );
102 _primary -> AddGenerator(kinematics);
109 hijing->SetTitle(
"Hijing 1.383");
129 _primary -> AddGenerator(hijing);
130 _primary -> SetCuts( 1.0E-6 , -1., -2.6, 2.6 );
136 void starsim( Int_t nevents=1, Int_t Index = 0, Int_t rngSeed=4321 )
139 gROOT->ProcessLine(
".L bfc.C");
141 TString simple =
"y2014 geant gstar usexgeom agml ";
145 gSystem->Load(
"libVMC.so");
147 gSystem->Load(
"StarGeneratorUtil.so" );
148 gSystem->Load(
"StarGeneratorEvent.so" );
149 gSystem->Load(
"StarGeneratorBase.so" );
150 gSystem->Load(
"StarGeneratorDecay.so" );
151 gSystem->Load(
"libMathMore.so" );
152 gSystem->Load(
"libHijing1_383.so");
153 gSystem->Load(
"libKinematics.so");
154 gSystem->Load(
"xgeometry.so" );
156 gSystem->Load(
"libHepMC2_06_09.so");
157 gSystem->Load(
"libPythia8_1_86.so");
158 gSystem->Load(
"libPhotos3_61.so");
159 gSystem->Load(
"libTauola1_1_5.so");
160 gSystem->Load(
"libEvtGen1_06_00.so");
163 gSystem->Load(
"gstar.so" );
164 command(
"call gstar");
170 char rootname[100],fzname[100];
171 sprintf(rootname,
"st_hijingevtgen_%d.starsim.root",Index);
172 sprintf(fzname,
"gfile o st_hijingevtgen_%d.starsim.fzd",Index);
180 _primary -> SetFileName(rootname);
181 chain -> AddBefore(
"geant", _primary );
187 _primary -> SetVertex( vx,vy,vz );
188 _primary -> SetSigma( vx_sig,vy_sig,vz_sig );
224 command(
"gkine -4 0");
231 ptDist =
new TF1(
"ptDist",
"[0]*x*TMath::Exp(-x/[1])",minPt,maxPt);
232 ptDist->SetParameters(1.,1.);
234 yDist =
new TF1(
"yDist",
"pol0",minY,maxY);
235 yDist->SetParameter(0,1.);
245 command(
"call agexit");
246 command(
"gprint kine");
void SetFrame(const Char_t *frame, const Double_t val)
void Print(const Option_t *opts="head") const
Star Simple Kinematics Generator.
void SetImpact(Double_t bmin, Double_t bmax)
Set the minimum and maximum impact parameters for the collision (HI generators)
virtual void Clear(Option_t *option="")
User defined functions.
static StarParticleData & instance()
Returns a reference to the single instance of this class.
Interface to PDG information.
void SetBlue(const Char_t *b)
Sets the particle species for the blue beam.
Connects VMC to class(es) which handle particle decays.
Int_t Init()
Initialize generator.
HiParnt_t & hiparnt()
Returns a reference to the hijing parameters.
void SetDebug(Int_t dbg=1)
Set the debug level.
Interface to the HIJING event generator.
static void seed(UInt_t s)
Base class for event records.
STAR wrapper for EvtGen Decayer.
StarGenEvent * event()
Return a pointer to the event.
Main steering class for event generation.
void AddDecayer(Int_t pdgid, TVirtualMCDecayer *decayer)
void SetYell(const Char_t *y)
Sets the particle species for the yellow beam.
static void capture()
Capture gRandom random number generator.
Sparse class to hold track kinematics.
void Kine(Int_t ntrack, const Char_t *type="pi+,pi-,K+,K-,proton,antiproton", Double_t ptlow=0.0, Double_t pthigh=500.0, Double_t ylow=-10.0, Double_t yhigh=+10.0, Double_t philow=0.0, Double_t phihigh=TMath::TwoPi())
TParticlePDG * AddParticleToG3(const char *name, const double mass, const double lifetime, const double charge, const int tracktype, const int pdgcode, const int g3code, const double *bratio=0, const int *mode=0)