]> git.uio.no Git - u/mrichter/AliRoot.git/blame - test/vmctest/ppbench/genExtFileConfig.C
In vmctest/gun:
[u/mrichter/AliRoot.git] / test / vmctest / ppbench / genExtFileConfig.C
CommitLineData
e6dc94be 1// $Id$
2//
3// AliRoot Configuration for running aliroot with Monte Carlo.
4// genExtFileConfig() includes the common setting for all MCs
5// which has to be called after MC is instantiated.
6// Called from MC specific configs (g3Config.C, g4Config.C).
7//
8// Extracted from G3 specific Config.C
9// by I. Hrivnacova, IPN Orsay
10
11// Functions
12Float_t EtaToTheta(Float_t arg);
13AliGenerator* GeneratorFactory();
14
15void genExtFileConfig(const TString& srun)
16{
17 cout << "Running genExtFileConfig.C ... " << endl;
18
19 //=======================================================================
20 // Steering parameters for ALICE simulation
21 //=======================================================================
22
23 gMC->SetProcess("DCAY",1);
24 gMC->SetProcess("PAIR",1);
25 gMC->SetProcess("COMP",1);
26 gMC->SetProcess("PHOT",1);
27 gMC->SetProcess("PFIS",0);
28 gMC->SetProcess("DRAY",0);
29 gMC->SetProcess("ANNI",1);
30 gMC->SetProcess("BREM",1);
31 gMC->SetProcess("MUNU",1);
32 gMC->SetProcess("CKOV",1);
33 gMC->SetProcess("HADR",1);
34 gMC->SetProcess("LOSS",2);
35 gMC->SetProcess("MULS",1);
36 //gMC->SetProcess("RAYL",1);
37
38 Float_t cut = 1.e-3; // 1MeV cut by default
39 Float_t tofmax = 1.e10;
40
41 gMC->SetCut("CUTGAM", cut);
42 gMC->SetCut("CUTELE", cut);
43 gMC->SetCut("CUTNEU", cut);
44 gMC->SetCut("CUTHAD", cut);
45 gMC->SetCut("CUTMUO", cut);
46 gMC->SetCut("BCUTE", cut);
47 gMC->SetCut("BCUTM", cut);
48 gMC->SetCut("DCUTE", cut);
49 gMC->SetCut("DCUTM", cut);
50 gMC->SetCut("PPCUTM", cut);
51 gMC->SetCut("TOFMAX", tofmax);
52
53 //=======================================================================
54 // External decayer
55 //=======================================================================
56
57 // Set External decayer
58 AliDecayer *decayer = new AliDecayerPythia();
59
60 switch (srun) {
61 case kD0PbPb5500:
62 decayer->SetForceDecay(kHadronicD);
63 break;
64 case kCharmSemiElPbPb5500:
65 decayer->SetForceDecay(kSemiElectronic);
66 break;
67 case kBeautySemiElPbPb5500:
68 decayer->SetForceDecay(kSemiElectronic);
69 break;
70 default:
71 decayer->SetForceDecay(kAll);
72 break;
73 }
74 decayer->Init();
75 gMC->SetExternalDecayer(decayer);
76
77 //=======================================================================
78 // Event generator
79 //=======================================================================
80
81 // External generator configuration
82 AliGenerator* gener = GeneratorFactory();
83 gener->SetOrigin(0, 0, 0); // vertex position
84 //gener->SetSigma(0, 0, 5.3); // Sigma in (X,Y,Z) (cm) on IP position
85 //gener->SetCutVertexZ(1.); // Truncate at 1 sigma
86 //gener->SetVertexSmear(kPerEvent);
87 gener->SetTrackingFlag(1);
88 gener->Init();
89
90 cout << "Running genExtFileConfig.C finished ... " << endl;
91}
92
93Float_t EtaToTheta(Float_t arg){
94 return (180./TMath::Pi())*2.*atan(exp(-arg));
95}
96
97AliGenerator* GeneratorFactory() {
98
99 AliGenExtFile *gener = new AliGenExtFile(-1);
100 AliGenReaderTreeK * reader = new AliGenReaderTreeK();
101
102 reader->SetFileName("galice.root");
103 reader->AddDir("$ALICE_ROOT/test/vmctest/ppbench/gen");
104 gener->SetReader(reader);
105
106 return gener;
107}
108