24 Float_t vx_sig = 0.01;
25 Float_t vy_sig = 0.01;
35 void geometry( TString tag, Bool_t agml=
true )
37 TString cmd =
"DETP GEOM "; cmd += tag;
38 if ( !geant_maker ) geant_maker = (
St_geant_Maker *)chain->GetMaker(
"geant");
39 geant_maker -> LoadGeometry(cmd);
43 void command( TString cmd )
45 if ( !geant_maker ) geant_maker = (
St_geant_Maker *)chain->GetMaker(
"geant");
46 geant_maker -> Do( cmd );
49 void trig( Int_t n=0 )
51 for ( Int_t i=0; i<n+1; i++ ) {
55 cout <<
"_____________________________________________________________________" << endl;
59 cout <<
"_____________________________________________________________________" << endl;
65 void ExtendParticles()
78 data.
AddParticleToG3(
"rho_plus", 0.767, 4.35e-24, 1., 4, 213, 153, 0, 0 );
79 data.
AddParticleToG3(
"rho_minus", 0.767, 4.35e-24,-1., 4, -213, 154, 0, 0 );
80 data.
AddParticleToG3(
"D_star_plus", 2.01027,6.86e-22, 1., 4, 413, 60, 0, 0 );
81 data.
AddParticleToG3(
"D_star_minus",2.01027,6.86e-22,-1., 4, -413, 61, 0, 0 );
82 data.
AddParticleToG3(
"D_star_0", 2.007, 3.13e-22, 0., 4, 423, 62, 0, 0 );
83 data.
AddParticleToG3(
"D_star_0_bar",2.007, 3.13e-22, 0., 4, -423, 63, 0, 0 );
86 data.
AddParticleToG3(
"B0_bar", 5.2790, 1.536e-12, 0., 4, -511, 73, 0, 0 );
87 data.
AddParticleToG3(
"B_plus", 5.2790, 1.671e-12, 1., 4, 521, 70, 0, 0 );
88 data.
AddParticleToG3(
"B_minus",5.2790, 1.671e-12, -1., 4, -521, 71, 0, 0 );
90 data.
AddParticleToG3(
"D0_bar", 1.86484,1.536e-12, 0., 3, -421, 38, 0, 0 );
91 data.
AddParticleToG3(
"D_plus", 1.869, 1.057e-12, 1., 4, 411, 35, 0, 0 );
92 data.
AddParticleToG3(
"D_minus",1.869, 1.057e-12, -1., 4, -411, 36, 0, 0 );
98 void Pythia6( TString filename )
101 gSystem -> Load(
"libStarGenEventReader.so" );
103 eventreader->SetInputFile( filename,
"genevents",
"primaryEvent" );
110 void reader(
int nevents,
int index,
int rng )
112 starsim( nevents, index, rng );
114 void starsim( Int_t nevents=10, Int_t Index = 0, Int_t rngSeed=4321 )
117 gROOT->ProcessLine(
".L bfc.C");
119 TString simple =
"y2013_1c geant gstar usexgeom agml ";
123 gSystem->Load(
"libVMC.so");
125 gSystem->Load(
"StarGeneratorUtil.so" );
126 gSystem->Load(
"StarGeneratorEvent.so" );
127 gSystem->Load(
"StarGeneratorBase.so" );
128 gSystem->Load(
"StarGeneratorDecay.so" );
129 gSystem->Load(
"libMathMore.so" );
130 gSystem->Load(
"libHijing1_383.so");
131 gSystem->Load(
"libKinematics.so");
132 gSystem->Load(
"xgeometry.so" );
134 gSystem->Load(
"libHepMC2_06_09.so");
135 gSystem->Load(
"libPythia8_1_86.so");
136 gSystem->Load(
"libPhotos3_61.so");
137 gSystem->Load(
"libTauola1_1_5.so");
138 gSystem->Load(
"libEvtGen1_06_00.so");
145 char rootname[100],fzname[100];
146 sprintf(rootname,
"st_pythiaevtgen_%d.starsim.root",Index);
147 sprintf(fzname,
"gfile o st_pythiaevtgen_%d.starsim.fzd",Index);
156 chain -> AddBefore(
"geant", _primary );
163 _primary ->
SetSigma( vx_sig,vy_sig,vz_sig );
169 Pythia6(
"pythia6.starsim.root" );
180 ofstream out(
"TAUS.DEC");
181 const char* cmds[] = {
188 for (
int i=0;i<5;i++ )
190 out << cmds[i] << endl;
213 decayPy8->
Set(
"24:onMode = 0");
214 decayPy8->
Set(
"24:onIfAny = 11 -11");
227 geometry(
"y2013_1c");
228 command(
"gkine -4 0");
245 command(
"call agexit");
void SetSigma(Double_t sx, Double_t sy, Double_t sz, Double_t rho=0)
void SetFileName(const Char_t *name)
Set the filename of the output TTree.
virtual void Clear(Option_t *option="")
User defined functions.
void SetDecayTable(TString decayTable)
Modify EvtGen behavior.
static StarParticleData & instance()
Returns a reference to the single instance of this class.
Interface to PDG information.
void AddGenerator(StarGenerator *gener)
Connects VMC to class(es) which handle particle decays.
void SetDebug(Int_t dbg=1)
Set the debug level.
static void seed(UInt_t s)
Base class for event records.
STAR wrapper for EvtGen Decayer.
Main steering class for event generation.
void AddDecayer(Int_t pdgid, TVirtualMCDecayer *decayer)
void SetPtRange(Double_t ptmin, Double_t ptmax=-1)
Set PT range. Particles falling outside this range will be dropped from simulation.
void SetDebug(int dbg=1)
Set the debug level.
static void capture()
Capture gRandom random number generator.
void SetEtaRange(Double_t etamin, Double_t etamax)
Set rapidity range. Particles falling outside this range will be dropped from simulation.
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)
void Set(const char *cmd)
Modify pythia8 behavior.
void SetVertex(Double_t x, Double_t y, Double_t z)
Set the x, y and z vertex position.