-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlaunchStringBoostsCalculator.C
More file actions
100 lines (74 loc) · 4.12 KB
/
launchStringBoostsCalculator.C
File metadata and controls
100 lines (74 loc) · 4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include "StringGeneration/DistanceEntry.h"
#include "StringGeneration/MinDistanceFinder.h"
#include "StringGeneration/StringBoosting.h"
#include "ManagerStringBoostsCalculator.h"
void launchStringBoostsCalculator( TString inputFileName = "nuclCollisionsTree_nEv1000.root"
// , double partonInteractionDist = 0.25
, double stringInteractionRadius = 0.4 // was 0.03 for QM2018 (and maybe also in 2017 for D-meson)
// , double strIntDistFractionParA = 10.
// , double meanPartonsInNucleon = 6
, double stringOverlapEnergyDensity = 0.001 // was 0.03 for QM2018 (and maybe also in 2017 for D-meson)
// , double coeffPtKickPerUnitMagn = 0.1
// , int bMode = 0
, int nEvents = -1
)
{
// dist to form a cluster: now (from Aug 2014) we consider All strings to be in cluster
double clusterFormDist = 100; //0.4;
//nuclei generation routine
gROOT->ProcessLine(".L StringGeneration/DistanceEntry.cpp+");
gROOT->ProcessLine(".L StringGeneration/MinDistanceFinder.cpp+");
gROOT->ProcessLine(".L StringGeneration/StringBoosting.cpp+");
gROOT->ProcessLine(".L ManagerStringBoostsCalculator.cpp+");
//string fragmentation and particle decays
// gROOT->ProcessLine(".L StringDecayer/ParticleDescr.cpp+");
// gROOT->ProcessLine(".L StringDecayer/DecayInTwo.cpp+");
// gROOT->ProcessLine(".L StringDecayer/StringFragmentation.cpp+");
// gROOT->ProcessLine(".L StringDecayer/StringDescr.cpp+");
//simple event routine
// gROOT->LoadMacro( "/Users/macbook/alice/aliceAnalysis/analysisTask/analysis/AliSimpleEvent.cxx+g" );
// gROOT->LoadMacro( "/Users/macbook/alice/simpleAnalysis/simpleEventAnalyzer/AliSimpleEvent.cxx+g" ); // "../../simpleEventAnalyzer/AliSimpleEvent.cxx+g" );
// gROOT->ProcessLine( ".L /Users/macbook/alice/simpleAnalysis/commonTools/QAforWindows.cxx+" ); // ".L ../../commonTools/QAforWindows.cxx+");
// gROOT->ProcessLine(".L ../../analysers/AnalyserBase.cxx+");
// gROOT->ProcessLine(".L ../../analysers/diHadronMethod/DiHadronAnalyser.cxx+");
// gROOT->ProcessLine(".L ../../analysers/tileCorrelations/TileCorrelations.cxx+");
// gROOT->ProcessLine(".L ManagerStringBoostsCalculator.cpp+");
//create directory for output files
// gROOT->ProcessLine(".mkdir tmpOutputs");
//prepare directories for outputs
TString strOutputDirName_StringBoosting = "outputs_NucleiCollision_REWAKE_2023";
gROOT->ProcessLine( Form( ".! mkdir %s", strOutputDirName_StringBoosting.Data() ) );
gRandom->SetSeed(0);
TStopwatch timer;
timer.Start();
if(1)
{
StringBoosting *booster = new StringBoosting;
booster->setRandomGenerator(gRandom);
booster->setOutputDirectoryName( strOutputDirName_StringBoosting.Data() );
//tune model parameters
booster->setClusterFormationDistance( clusterFormDist );
booster->setStringInteractionRadius( stringInteractionRadius ); //setStringInteractionDistance( stringInteractionDist );
booster->setStringOverlapEnergyDensity( stringOverlapEnergyDensity );
// booster->setHardScatteringProbability(0);
booster->setHardScatteringProbability(0);//0.03); // was 0.03 for QM2018 (and maybe also in 2017 for D-meson)
booster->setComputeStringRepulsion(1);
// ########## Event Manager";
ManagerStringBoostsCalculator boostManager;
boostManager.initOutputObjects();
boostManager.setInputFileName( inputFileName );
boostManager.setOutputDirectoryName( strOutputDirName_StringBoosting.Data() ); //strOutputDirName_EventManager );
booster->initDataMembers();
booster->setWriteEventViewCanvas(false);
// ##### generate events
boostManager.generateBoosts( booster, nEvents ); //, analysersArray, 0);//nAnalysers );
// booster->drawEventStructure(); //draw only last event
// d->drawEventStructure();
}
// gROOT->ProcessLine(".q");
//time estimation
timer.Stop();
Double_t rtime = timer.RealTime();
Double_t ctime = timer.CpuTime();
printf("RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
}