31 #include <G4_Magnet.C>
45 #include <caloreco/RawClusterBuilderTopo.h>
46 #include <particleflowreco/ParticleFlowReco.h>
48 #include "/sphenix/user/danderson/install/include/scorrelatorjettree/SCorrelatorJetTree.h"
51 R__LOAD_LIBRARY(libg4eval.so)
52 R__LOAD_LIBRARY(libfun4all.so)
53 R__LOAD_LIBRARY(libcalo_reco.so)
54 R__LOAD_LIBRARY(libparticleflow.so)
55 R__LOAD_LIBRARY(/sphenix/user/danderson/install/lib/libscorrelatorjettree.so)
58 using namespace SColdQcdCorrelatorAnalysis;
67 "DST_GLOBAL_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root",
68 "DST_TRKR_G4HIT_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root",
69 "DST_TRACKSEEDS_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root",
70 "DST_TRKR_CLUSTER_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root",
71 "DST_TRACKS_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root",
72 "DST_CALO_G4HIT_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root",
73 "DST_CALO_CLUSTER_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root",
74 "DST_TRUTH_G4HIT_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root",
75 "DST_TRUTH_pythia8_Jet10_sHijing_pAu_0_10fm_500kHz_bkg_0_10fm-0000000009-00009.root"
84 const bool doTruthTableReco(
false);
85 const double nSigma(1.5);
88 const double showerR(0.025);
89 const double noiseLevels[
NTopoPar] = {0.0025, 0.006, 0.03};
90 const double significance[
NTopoPar] = {4.0, 2.0, 0.0};
91 const double localMinE[
NTopoPar] = {1.0, 2.0, 0.5};
94 const bool doSplit(
true);
95 const bool allowCorners(
true);
98 const bool isMC(
true);
99 const bool isEmbed(
true);
100 const bool doDebug(
false);
101 const bool saveDst(
true);
102 const bool doVtxCut(
false);
103 const bool doQuality(
true);
104 const bool requireSiSeeds(
true);
105 const bool useOnlyPrimVtx(
true);
106 const bool doDcaSigmaCut(
false);
107 const bool maskTpcSectors(
false);
108 const bool checkWeirdTrks(
false);
109 const bool addTracks(
true);
110 const bool addECal(
false);
111 const bool addHCal(
false);
112 const bool addParticleFlow(
false);
115 const double jetRes = 0.4;
116 const unsigned int jetType = 0;
117 const auto jetAlgo = SCorrelatorJetTree::ALGO::ANTIKT;
118 const auto jetReco = SCorrelatorJetTree::RECOMB::PT_SCHEME;
121 const pair<double, double> vzEvtRange = {-10., 10.};
122 const pair<double, double> vrEvtRange = {0.0, 0.418};
125 const pair<double, double> ptParRange = {0., 9999.};
126 const pair<double, double> etaParRange = {-1.1, 1.1};
129 const pair<double, double> ptTrackRange = {0.2, 100.};
130 const pair<double, double> etaTrackRange = {-1.1, 1.1};
131 const pair<double, double> qualTrackRange = {0., 10.};
132 const pair<double, double> nMvtxTrackRange = {2., 100.};
133 const pair<double, double> nInttTrackRange = {1., 100.};
134 const pair<double, double> nTpcTrackRange = {24., 100.};
135 const pair<double, double> dcaTrackRangeXY = {-5., 5.};
136 const pair<double, double> dcaTrackRangeZ = {-5., 5.};
137 const pair<double, double> deltaPtTrackRange = {0., 0.5};
140 const pair<double, double> dcaPtFitMax = {15., 15.};
141 const pair<double, double> nDcaSigmaTrack = {3., 3.};
142 const vector<double> dcaSigmaParamsXY = {-0.0095, 0.091, -0.029};
143 const vector<double> dcaSigmaParamsZ = {1.73, 26.1, -9.45};
146 const pair<double, double> ptFlowRange = {0.2, 9999.};
147 const pair<double, double> etaFlowRange = {-1.1, 1.1};
150 const pair<double, double> ptECalRange = {0.3, 9999.};
151 const pair<double, double> etaECalRange = {-1.1, 1.1};
152 const pair<double, double> ptHCalRange = {0.3, 9999.};
153 const pair<double, double> etaHCalRange = {-1.1, 1.1};
156 gSystem ->
Load(
"libg4dst.so");
157 gSystem ->
Load(
"libFROG.so");
164 for (
size_t iInput = 0; iInput < sInput.size(); iInput++) {
166 inManager -> AddFile(sInput.at(iInput));
167 ffaServer -> registerInputManager(inManager);
199 if (doTruthTableReco) {
203 ffaServer -> registerSubsystem(tables);
208 if (addParticleFlow) {
213 ecalClusterBuilder -> set_nodename(
"TOPOCLUSTER_EMCAL");
214 ecalClusterBuilder -> set_enable_HCal(enableHCal[0]);
215 ecalClusterBuilder -> set_enable_EMCal(enableECal[0]);
216 ecalClusterBuilder -> set_noise(noiseLevels[0], noiseLevels[1], noiseLevels[2]);
217 ecalClusterBuilder -> set_significance(significance[0], significance[1], significance[2]);
218 ecalClusterBuilder -> allow_corner_neighbor(allowCorners);
219 ecalClusterBuilder -> set_do_split(doSplit);
220 ecalClusterBuilder -> set_minE_local_max(localMinE[0], localMinE[1], localMinE[2]);
221 ecalClusterBuilder -> set_R_shower(showerR);
222 ffaServer -> registerSubsystem(ecalClusterBuilder);
226 hcalClusterBuilder -> set_nodename(
"TOPOCLUSTER_HCAL");
227 hcalClusterBuilder -> set_enable_HCal(enableHCal[1]);
228 hcalClusterBuilder -> set_enable_EMCal(enableECal[1]);
229 hcalClusterBuilder -> set_noise(noiseLevels[0], noiseLevels[1], noiseLevels[2]);
230 hcalClusterBuilder -> set_significance(significance[0], significance[1], significance[1]);
231 hcalClusterBuilder -> allow_corner_neighbor(allowCorners);
232 hcalClusterBuilder -> set_do_split(doSplit);
233 hcalClusterBuilder -> set_minE_local_max(localMinE[0], localMinE[1], localMinE[2]);
234 hcalClusterBuilder -> set_R_shower(showerR);
235 ffaServer -> registerSubsystem(hcalClusterBuilder);
239 parFlowReco -> set_energy_match_Nsigma(nSigma);
241 ffaServer -> registerSubsystem(parFlowReco);
247 correlatorJetTree -> SetDoVertexCut(doVtxCut);
248 correlatorJetTree -> SetDoQualityPlots(doQuality);
249 correlatorJetTree -> SetAddTracks(addTracks);
250 correlatorJetTree -> SetAddFlow(addParticleFlow);
251 correlatorJetTree -> SetAddECal(addECal);
252 correlatorJetTree -> SetAddHCal(addHCal);
253 correlatorJetTree -> SetEvtVzRange(vzEvtRange);
254 correlatorJetTree -> SetEvtVrRange(vrEvtRange);
256 correlatorJetTree -> SetParPtRange(ptParRange);
257 correlatorJetTree -> SetParEtaRange(etaParRange);
260 correlatorJetTree -> SetRequireSiSeeds(requireSiSeeds);
261 correlatorJetTree -> SetUseOnlyPrimVtx(useOnlyPrimVtx);
262 correlatorJetTree -> SetMaskTpcSectors(maskTpcSectors);
263 correlatorJetTree -> SetCheckWeirdTrks(checkWeirdTrks);
264 correlatorJetTree -> SetTrackPtRange(ptTrackRange);
265 correlatorJetTree -> SetTrackEtaRange(etaTrackRange);
266 correlatorJetTree -> SetTrackQualityRange(qualTrackRange);
267 correlatorJetTree -> SetTrackNMvtxRange(nMvtxTrackRange);
268 correlatorJetTree -> SetTrackNInttRange(nInttTrackRange);
269 correlatorJetTree -> SetTrackNTpcRange(nTpcTrackRange);
270 correlatorJetTree -> SetTrackDcaRangeXY(dcaTrackRangeXY);
271 correlatorJetTree -> SetTrackDcaRangeZ(dcaTrackRangeZ);
272 correlatorJetTree -> SetTrackDeltaPtRange(deltaPtTrackRange);
274 correlatorJetTree -> SetTrackDcaSigmaParameters(doDcaSigmaCut, dcaPtFitMax, nDcaSigmaTrack, dcaSigmaParamsXY, dcaSigmaParamsZ);
277 if (addParticleFlow) {
278 correlatorJetTree -> SetFlowPtRange(ptFlowRange);
279 correlatorJetTree -> SetFlowEtaRange(etaFlowRange);
282 correlatorJetTree -> SetECalPtRange(ptECalRange);
283 correlatorJetTree -> SetECalEtaRange(etaECalRange);
286 correlatorJetTree -> SetHCalPtRange(ptHCalRange);
287 correlatorJetTree -> SetHCalEtaRange(etaHCalRange);
289 correlatorJetTree -> SetJetParameters(jetRes, jetType, jetAlgo, jetReco);
290 correlatorJetTree -> SetSaveDST(saveDst);
291 ffaServer -> registerSubsystem(correlatorJetTree);