Changes in / [d612dec:a5af1df] in git
- Files:
-
- 12 added
- 112 deleted
- 217 edited
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG
rd612dec ra5af1df 1 3.5.0:2 3 - fixed validation code4 - fixed weighted time and tower position in calorimeter modules5 - fixed propagation of charged particles with low transverse momentum (thanks to Olmo Cerri)6 - updated FastJet library to 3.3.4 and FastJet Contrib library to 1.0457 - removed zero mass assumption for all tracks8 - added support for HepMC3 format9 - added particle-density dependence to formula parameterization (thanks to Roberto Preghenella)10 - added DecayFilter module for LLP decay in flight11 - added PFcandidate class to ROOT tree writer12 - added neutral and charged energy fraction to jets13 - added generalized ee kT clustering14 - added covariance matrix for track parameters smearing (thanks to Franco Bedeschi)15 - added IDEA card with track covariance16 - added generic ILC detector model17 - added muon collider detector model18 - added LHeC and FCCeh cards19 20 1 3.4.2: 21 2 - added DenseTrackFilter for modelling tracking inefficiencies in boosted, dense environments -
CMakeLists.txt
rd612dec ra5af1df 70 70 $<TARGET_OBJECTS:Hector> 71 71 $<TARGET_OBJECTS:PUPPI> 72 $<TARGET_OBJECTS:TrackCovariance>73 72 ) 74 73 … … 82 81 $<TARGET_OBJECTS:Hector> 83 82 $<TARGET_OBJECTS:PUPPI> 84 $<TARGET_OBJECTS:TrackCovariance>85 83 ) 86 84 -
DelphesEnv.sh
rd612dec ra5af1df 1 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 1 export PYTHONPATH=`pwd`/python:$PYTHONPATH 2 export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH 2 3 3 export DELPHES_HOME="$DIR"4 export PYTHONPATH="$DIR/python:${PYTHONPATH}"5 export LD_LIBRARY_PATH="$DIR:${LD_LIBRARY_PATH}"6 export LIBRARY_PATH="$DIR:${LIBRARY_PATH}" -
Makefile
rd612dec ra5af1df 90 90 DISPLAYLIB = libDelphesDisplay.lib 91 91 92 VERSION = x.y.z92 VERSION = $(shell cat VERSION) 93 93 DISTDIR = Delphes-$(VERSION) 94 94 DISTTAR = $(DISTDIR).tar.gz … … 104 104 classes/DelphesClasses.h \ 105 105 classes/DelphesFactory.h \ 106 classes/DelphesHepMC 2Reader.h \106 classes/DelphesHepMCReader.h \ 107 107 classes/DelphesPileUpWriter.h \ 108 108 external/ExRootAnalysis/ExRootProgressBar.h \ … … 214 214 tmp/validation/DelphesValidation.$(ObjSuf) 215 215 216 DelphesHepMC2$(ExeSuf): \ 217 tmp/readers/DelphesHepMC2.$(ObjSuf) 218 219 tmp/readers/DelphesHepMC2.$(ObjSuf): \ 220 readers/DelphesHepMC2.cpp \ 221 classes/DelphesClasses.h \ 222 classes/DelphesFactory.h \ 223 classes/DelphesHepMC2Reader.h \ 224 modules/Delphes.h \ 225 external/ExRootAnalysis/ExRootProgressBar.h \ 226 external/ExRootAnalysis/ExRootTreeBranch.h \ 227 external/ExRootAnalysis/ExRootTreeWriter.h 228 DelphesHepMC3$(ExeSuf): \ 229 tmp/readers/DelphesHepMC3.$(ObjSuf) 230 231 tmp/readers/DelphesHepMC3.$(ObjSuf): \ 232 readers/DelphesHepMC3.cpp \ 233 classes/DelphesClasses.h \ 234 classes/DelphesFactory.h \ 235 classes/DelphesHepMC3Reader.h \ 216 DelphesHepMC$(ExeSuf): \ 217 tmp/readers/DelphesHepMC.$(ObjSuf) 218 219 tmp/readers/DelphesHepMC.$(ObjSuf): \ 220 readers/DelphesHepMC.cpp \ 221 classes/DelphesClasses.h \ 222 classes/DelphesFactory.h \ 223 classes/DelphesHepMCReader.h \ 236 224 modules/Delphes.h \ 237 225 external/ExRootAnalysis/ExRootProgressBar.h \ … … 276 264 external/ExRootAnalysis/ExRootTreeWriter.h 277 265 EXECUTABLE += \ 278 DelphesHepMC2$(ExeSuf) \ 279 DelphesHepMC3$(ExeSuf) \ 266 DelphesHepMC$(ExeSuf) \ 280 267 DelphesLHEF$(ExeSuf) \ 281 268 DelphesROOT$(ExeSuf) \ … … 283 270 284 271 EXECUTABLE_OBJ += \ 285 tmp/readers/DelphesHepMC2.$(ObjSuf) \ 286 tmp/readers/DelphesHepMC3.$(ObjSuf) \ 272 tmp/readers/DelphesHepMC.$(ObjSuf) \ 287 273 tmp/readers/DelphesLHEF.$(ObjSuf) \ 288 274 tmp/readers/DelphesROOT.$(ObjSuf) \ … … 423 409 modules/MomentumSmearing.h \ 424 410 modules/TrackSmearing.h \ 425 modules/TrackCovariance.h \426 modules/ClusterCounting.h \427 411 modules/ImpactParameterSmearing.h \ 428 412 modules/TimeSmearing.h \ 429 modules/TimeOfFlight.h \430 413 modules/SimpleCalorimeter.h \ 431 414 modules/DenseTrackFilter.h \ … … 462 445 modules/VertexFinder.h \ 463 446 modules/VertexFinderDA4D.h \ 447 modules/ExampleModule.h \ 464 448 modules/LLPFilter.h \ 465 449 modules/CscClusterEfficiency.h \ 466 modules/CscClusterId.h \ 467 modules/DecayFilter.h \ 468 modules/ParticleDensity.h \ 469 modules/TruthVertexFinder.h \ 470 modules/ExampleModule.h 450 modules/CscClusterId.h 471 451 tmp/modules/ModulesDict$(PcmSuf): \ 472 452 tmp/modules/ModulesDict.$(SrcSuf) … … 532 512 tmp/classes/DelphesFormula.$(ObjSuf): \ 533 513 classes/DelphesFormula.$(SrcSuf) \ 534 classes/DelphesFormula.h \ 535 classes/DelphesClasses.h 536 tmp/classes/DelphesHepMC2Reader.$(ObjSuf): \ 537 classes/DelphesHepMC2Reader.$(SrcSuf) \ 538 classes/DelphesHepMC2Reader.h \ 539 classes/DelphesClasses.h \ 540 classes/DelphesFactory.h \ 541 classes/DelphesStream.h \ 542 external/ExRootAnalysis/ExRootTreeBranch.h 543 tmp/classes/DelphesHepMC3Reader.$(ObjSuf): \ 544 classes/DelphesHepMC3Reader.$(SrcSuf) \ 545 classes/DelphesHepMC3Reader.h \ 514 classes/DelphesFormula.h 515 tmp/classes/DelphesHepMCReader.$(ObjSuf): \ 516 classes/DelphesHepMCReader.$(SrcSuf) \ 517 classes/DelphesHepMCReader.h \ 546 518 classes/DelphesClasses.h \ 547 519 classes/DelphesFactory.h \ … … 676 648 tmp/external/Hector/H_VerticalQuadrupole.$(ObjSuf): \ 677 649 external/Hector/H_VerticalQuadrupole.$(SrcSuf) 678 tmp/external/TrackCovariance/AcceptanceClx.$(ObjSuf): \679 external/TrackCovariance/AcceptanceClx.$(SrcSuf)680 tmp/external/TrackCovariance/ObsTrk.$(ObjSuf): \681 external/TrackCovariance/ObsTrk.$(SrcSuf)682 tmp/external/TrackCovariance/SolGeom.$(ObjSuf): \683 external/TrackCovariance/SolGeom.$(SrcSuf)684 tmp/external/TrackCovariance/SolGridCov.$(ObjSuf): \685 external/TrackCovariance/SolGridCov.$(SrcSuf)686 tmp/external/TrackCovariance/SolTrack.$(ObjSuf): \687 external/TrackCovariance/SolTrack.$(SrcSuf)688 tmp/external/TrackCovariance/TrkUtil.$(ObjSuf): \689 external/TrackCovariance/TrkUtil.$(SrcSuf)690 tmp/external/TrackCovariance/VertexFit.$(ObjSuf): \691 external/TrackCovariance/VertexFit.$(SrcSuf)692 650 tmp/modules/AngularSmearing.$(ObjSuf): \ 693 651 modules/AngularSmearing.$(SrcSuf) \ … … 732 690 external/ExRootAnalysis/ExRootFilter.h \ 733 691 external/ExRootAnalysis/ExRootResult.h 734 tmp/modules/ClusterCounting.$(ObjSuf): \735 modules/ClusterCounting.$(SrcSuf) \736 modules/ClusterCounting.h \737 classes/DelphesClasses.h \738 external/TrackCovariance/TrkUtil.h739 692 tmp/modules/ConstituentFilter.$(ObjSuf): \ 740 741 742 743 744 745 746 747 693 modules/ConstituentFilter.$(SrcSuf) \ 694 modules/ConstituentFilter.h \ 695 classes/DelphesClasses.h \ 696 classes/DelphesFactory.h \ 697 classes/DelphesFormula.h \ 698 external/ExRootAnalysis/ExRootClassifier.h \ 699 external/ExRootAnalysis/ExRootFilter.h \ 700 external/ExRootAnalysis/ExRootResult.h 748 701 tmp/modules/CscClusterEfficiency.$(ObjSuf): \ 749 702 modules/CscClusterEfficiency.$(SrcSuf) \ … … 758 711 modules/CscClusterId.$(SrcSuf) \ 759 712 modules/CscClusterId.h \ 760 classes/DelphesClasses.h \761 classes/DelphesFactory.h \762 classes/DelphesFormula.h \763 external/ExRootAnalysis/ExRootClassifier.h \764 external/ExRootAnalysis/ExRootFilter.h \765 external/ExRootAnalysis/ExRootResult.h766 tmp/modules/DecayFilter.$(ObjSuf): \767 modules/DecayFilter.$(SrcSuf) \768 modules/DecayFilter.h \769 713 classes/DelphesClasses.h \ 770 714 classes/DelphesFactory.h \ … … 949 893 external/ExRootAnalysis/ExRootFilter.h \ 950 894 external/ExRootAnalysis/ExRootResult.h 951 tmp/modules/ParticleDensity.$(ObjSuf): \952 modules/ParticleDensity.$(SrcSuf) \953 modules/ParticleDensity.h \954 classes/DelphesClasses.h \955 classes/DelphesFactory.h \956 classes/DelphesFormula.h \957 external/ExRootAnalysis/ExRootClassifier.h \958 external/ExRootAnalysis/ExRootFilter.h \959 external/ExRootAnalysis/ExRootResult.h960 895 tmp/modules/ParticlePropagator.$(ObjSuf): \ 961 896 modules/ParticlePropagator.$(SrcSuf) \ … … 1066 1001 classes/DelphesFactory.h \ 1067 1002 classes/DelphesFormula.h 1068 tmp/modules/TimeOfFlight.$(ObjSuf): \1069 modules/TimeOfFlight.$(SrcSuf) \1070 modules/TimeOfFlight.h \1071 classes/DelphesClasses.h \1072 classes/DelphesFactory.h \1073 classes/DelphesFormula.h \1074 external/ExRootAnalysis/ExRootClassifier.h \1075 external/ExRootAnalysis/ExRootFilter.h \1076 external/ExRootAnalysis/ExRootResult.h1077 1003 tmp/modules/TimeSmearing.$(ObjSuf): \ 1078 1004 modules/TimeSmearing.$(SrcSuf) \ … … 1099 1025 external/ExRootAnalysis/ExRootFilter.h \ 1100 1026 external/ExRootAnalysis/ExRootResult.h 1101 tmp/modules/TrackCovariance.$(ObjSuf): \1102 modules/TrackCovariance.$(SrcSuf) \1103 modules/TrackCovariance.h \1104 classes/DelphesClasses.h \1105 external/TrackCovariance/SolGeom.h \1106 external/TrackCovariance/SolGridCov.h \1107 external/TrackCovariance/ObsTrk.h1108 1027 tmp/modules/TrackPileUpSubtractor.$(ObjSuf): \ 1109 1028 modules/TrackPileUpSubtractor.$(SrcSuf) \ … … 1134 1053 external/ExRootAnalysis/ExRootResult.h \ 1135 1054 external/ExRootAnalysis/ExRootTreeBranch.h 1136 tmp/modules/TruthVertexFinder.$(ObjSuf): \1137 modules/TruthVertexFinder.$(SrcSuf) \1138 modules/TruthVertexFinder.h \1139 classes/DelphesClasses.h \1140 classes/DelphesFactory.h \1141 classes/DelphesPileUpReader.h \1142 classes/DelphesTF2.h \1143 external/ExRootAnalysis/ExRootClassifier.h \1144 external/ExRootAnalysis/ExRootFilter.h \1145 external/ExRootAnalysis/ExRootResult.h1146 1055 tmp/modules/UniqueObjectFinder.$(ObjSuf): \ 1147 1056 modules/UniqueObjectFinder.$(SrcSuf) \ … … 1197 1106 tmp/classes/DelphesFactory.$(ObjSuf) \ 1198 1107 tmp/classes/DelphesFormula.$(ObjSuf) \ 1199 tmp/classes/DelphesHepMC2Reader.$(ObjSuf) \ 1200 tmp/classes/DelphesHepMC3Reader.$(ObjSuf) \ 1108 tmp/classes/DelphesHepMCReader.$(ObjSuf) \ 1201 1109 tmp/classes/DelphesLHEFReader.$(ObjSuf) \ 1202 1110 tmp/classes/DelphesModule.$(ObjSuf) \ … … 1244 1152 tmp/external/Hector/H_VerticalKicker.$(ObjSuf) \ 1245 1153 tmp/external/Hector/H_VerticalQuadrupole.$(ObjSuf) \ 1246 tmp/external/TrackCovariance/AcceptanceClx.$(ObjSuf) \1247 tmp/external/TrackCovariance/ObsTrk.$(ObjSuf) \1248 tmp/external/TrackCovariance/SolGeom.$(ObjSuf) \1249 tmp/external/TrackCovariance/SolGridCov.$(ObjSuf) \1250 tmp/external/TrackCovariance/SolTrack.$(ObjSuf) \1251 tmp/external/TrackCovariance/TrkUtil.$(ObjSuf) \1252 tmp/external/TrackCovariance/VertexFit.$(ObjSuf) \1253 1154 tmp/modules/AngularSmearing.$(ObjSuf) \ 1254 1155 tmp/modules/BTagging.$(ObjSuf) \ … … 1256 1157 tmp/modules/Calorimeter.$(ObjSuf) \ 1257 1158 tmp/modules/Cloner.$(ObjSuf) \ 1258 tmp/modules/ClusterCounting.$(ObjSuf) \1259 1159 tmp/modules/ConstituentFilter.$(ObjSuf) \ 1260 1160 tmp/modules/CscClusterEfficiency.$(ObjSuf) \ 1261 1161 tmp/modules/CscClusterId.$(ObjSuf) \ 1262 tmp/modules/DecayFilter.$(ObjSuf) \1263 1162 tmp/modules/Delphes.$(ObjSuf) \ 1264 1163 tmp/modules/DenseTrackFilter.$(ObjSuf) \ … … 1280 1179 tmp/modules/MomentumSmearing.$(ObjSuf) \ 1281 1180 tmp/modules/OldCalorimeter.$(ObjSuf) \ 1282 tmp/modules/ParticleDensity.$(ObjSuf) \1283 1181 tmp/modules/ParticlePropagator.$(ObjSuf) \ 1284 1182 tmp/modules/PdgCodeFilter.$(ObjSuf) \ … … 1292 1190 tmp/modules/TaggingParticlesSkimmer.$(ObjSuf) \ 1293 1191 tmp/modules/TauTagging.$(ObjSuf) \ 1294 tmp/modules/TimeOfFlight.$(ObjSuf) \1295 1192 tmp/modules/TimeSmearing.$(ObjSuf) \ 1296 1193 tmp/modules/TrackCountingBTagging.$(ObjSuf) \ 1297 1194 tmp/modules/TrackCountingTauTagging.$(ObjSuf) \ 1298 tmp/modules/TrackCovariance.$(ObjSuf) \1299 1195 tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \ 1300 1196 tmp/modules/TrackSmearing.$(ObjSuf) \ 1301 1197 tmp/modules/TreeWriter.$(ObjSuf) \ 1302 tmp/modules/TruthVertexFinder.$(ObjSuf) \1303 1198 tmp/modules/UniqueObjectFinder.$(ObjSuf) \ 1304 1199 tmp/modules/VertexFinder.$(ObjSuf) \ … … 2016 1911 @touch $@ 2017 1912 2018 modules/TrackCovariance.h: \2019 classes/DelphesModule.h2020 @touch $@2021 2022 1913 modules/ExampleModule.h: \ 2023 1914 classes/DelphesModule.h 2024 1915 @touch $@ 2025 1916 1917 modules/Isolation.h: \ 1918 classes/DelphesModule.h 1919 @touch $@ 1920 1921 modules/EnergyScale.h: \ 1922 classes/DelphesModule.h 1923 @touch $@ 1924 2026 1925 modules/Merger.h: \ 2027 classes/DelphesModule.h2028 @touch $@2029 2030 modules/Isolation.h: \2031 classes/DelphesModule.h2032 @touch $@2033 2034 modules/EnergyScale.h: \2035 1926 classes/DelphesModule.h 2036 1927 @touch $@ … … 2067 1958 external/fastjet/config.h \ 2068 1959 external/fastjet/LimitedWarning.hh 2069 @touch $@2070 2071 modules/DecayFilter.h: \2072 classes/DelphesModule.h2073 1960 @touch $@ 2074 1961 … … 2150 2037 @touch $@ 2151 2038 2152 modules/TimeOfFlight.h: \2153 classes/DelphesModule.h2154 @touch $@2155 2156 2039 external/fastjet/contribs/Nsubjettiness/NjettinessPlugin.hh: \ 2157 2040 external/fastjet/ClusterSequence.hh \ … … 2272 2155 @touch $@ 2273 2156 2274 modules/TruthVertexFinder.h: \2275 classes/DelphesModule.h2276 @touch $@2277 2278 2157 classes/DelphesSTDHEPReader.h: \ 2279 2158 classes/DelphesXDRReader.h … … 2352 2231 @touch $@ 2353 2232 2354 modules/ClusterCounting.h: \2355 classes/DelphesModule.h2356 @touch $@2357 2358 2233 modules/SimpleCalorimeter.h: \ 2359 2234 classes/DelphesModule.h … … 2391 2266 @touch $@ 2392 2267 2393 modules/ ParticleDensity.h: \2268 modules/TimeSmearing.h: \ 2394 2269 classes/DelphesModule.h 2395 2270 @touch $@ 2396 2271 2397 2272 modules/TreeWriter.h: \ 2398 classes/DelphesModule.h2399 @touch $@2400 2401 modules/TimeSmearing.h: \2402 2273 classes/DelphesModule.h 2403 2274 @touch $@ … … 2465 2336 @mkdir -p $(@D) 2466 2337 @echo ">> Building $@" 2338 ifeq ($(ARCH),aix5) 2339 @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^ 2340 else 2467 2341 ifeq ($(PLATFORM),macosx) 2342 # We need to make both the .dylib and the .so 2468 2343 @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 2344 ifneq ($(subst $(MACOSX_MINOR),,1234),1234) 2345 ifeq ($(MACOSX_MINOR),4) 2346 @ln -sf $@ $(subst .$(DllSuf),.so,$@) 2347 endif 2348 endif 2469 2349 else 2470 2350 ifeq ($(PLATFORM),win32) … … 2475 2355 else 2476 2356 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 2357 @$(MT_DLL) 2358 endif 2477 2359 endif 2478 2360 endif … … 2481 2363 @mkdir -p $(@D) 2482 2364 @echo ">> Building $@" 2365 ifeq ($(ARCH),aix5) 2366 @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^ 2367 else 2483 2368 ifeq ($(PLATFORM),macosx) 2369 # We need to make both the .dylib and the .so 2484 2370 @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 2371 ifneq ($(subst $(MACOSX_MINOR),,1234),1234) 2372 ifeq ($(MACOSX_MINOR),4) 2373 @ln -sf $@ $(subst .$(DllSuf),.so,$@) 2374 endif 2375 endif 2485 2376 else 2486 2377 ifeq ($(PLATFORM),win32) … … 2491 2382 else 2492 2383 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 2384 @$(MT_DLL) 2385 endif 2493 2386 endif 2494 2387 endif … … 2497 2390 @mkdir -p $(@D) 2498 2391 @echo ">> Building $@" 2392 ifeq ($(ARCH),aix5) 2393 @$(MAKESHARED) $(OutPutOpt) $@ $(DISPLAY_LIBS) -p 0 $^ 2394 else 2499 2395 ifeq ($(PLATFORM),macosx) 2396 # We need to make both the .dylib and the .so 2500 2397 @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS) 2398 ifneq ($(subst $(MACOSX_MINOR),,1234),1234) 2399 ifeq ($(MACOSX_MINOR),4) 2400 @ln -sf $@ $(subst .$(DllSuf),.so,$@) 2401 endif 2402 endif 2501 2403 else 2502 2404 ifeq ($(PLATFORM),win32) … … 2507 2409 else 2508 2410 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS) 2411 @$(MT_DLL) 2412 endif 2509 2413 endif 2510 2414 endif … … 2520 2424 @echo ">> Building $(DISTTAR)" 2521 2425 @mkdir -p $(DISTDIR) 2522 @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb Makefile MinBias.pileup configure cards classes cmakeconverters display doc examples external modules python readers validation $(DISTDIR)2426 @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb VERSION Makefile MinBias.pileup configure cards classes converters display doc examples external modules python readers validation $(DISTDIR) 2523 2427 @find $(DISTDIR) -depth -name .\* -exec rm -rf {} \; 2524 2428 @tar -czf $(DISTTAR) $(DISTDIR) -
README
rd612dec ra5af1df 4 4 Commands to get the code: 5 5 6 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3. 5.0.tar.gz6 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.4.2.tar.gz 7 7 8 tar -zxf Delphes-3. 5.0.tar.gz8 tar -zxf Delphes-3.4.2.tar.gz 9 9 10 10 Commands to compile the code: 11 11 12 cd Delphes-3. 5.012 cd Delphes-3.4.2 13 13 14 14 make … … 16 16 Finally, we can run Delphes: 17 17 18 ./DelphesHepMC 318 ./DelphesHepMC 19 19 20 20 Command line parameters: 21 21 22 ./DelphesHepMC 3config_file output_file [input_file(s)]22 ./DelphesHepMC config_file output_file [input_file(s)] 23 23 config_file - configuration file in Tcl format 24 24 output_file - output file in ROOT format, … … 47 47 cd Delphes 48 48 49 source /cvmfs/sft.cern.ch/lcg/views/LCG_99/x86_64-centos7-gcc10-opt/setup.sh 49 source /afs/cern.ch/sw/lcg/external/gcc/4.9.3/x86_64-slc6/setup.sh 50 51 source /afs/cern.ch/sw/lcg/app/releases/ROOT/6.06.00/x86_64-slc6-gcc49-opt/root/bin/thisroot.sh 50 52 51 53 make … … 64 66 Open ROOT file and do some basic analysis using Draw or TBrowser: 65 67 66 TFile *f = TFile::Open("delphes_output.root");67 f->Get("Delphes")->Draw("Electron.PT");68 TFile::Open("delphes_output.root"); 69 Delphes->Draw("Electron.PT"); 68 70 TBrowser browser; 69 71 -
README.md
rd612dec ra5af1df 1 [](https://github.com/delphes/delphes/actions/workflows/ci.yml) [](https://zenodo.org/badge/latestdoi/21390046)1 [](https://circleci.com/gh/delphes/delphes) 2 2 3 3 Delphes … … 14 14 15 15 ``` 16 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3. 5.0.tar.gz16 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.4.2.tar.gz 17 17 18 tar -zxf Delphes-3. 5.0.tar.gz18 tar -zxf Delphes-3.4.2.tar.gz 19 19 ``` 20 20 … … 22 22 23 23 ``` 24 cd Delphes-3. 5.024 cd Delphes-3.4.2 25 25 26 26 make … … 30 30 31 31 ``` 32 ./DelphesHepMC 332 ./DelphesHepMC 33 33 ``` 34 34 … … 36 36 37 37 ``` 38 ./DelphesHepMC 3config_file output_file [input_file(s)]38 ./DelphesHepMC config_file output_file [input_file(s)] 39 39 config_file - configuration file in Tcl format 40 40 output_file - output file in ROOT format, … … 67 67 cd Delphes 68 68 69 source /cvmfs/sft.cern.ch/lcg/views/LCG_99/x86_64-centos7-gcc10-opt/setup.sh 69 source /afs/cern.ch/sw/lcg/external/gcc/4.9.3/x86_64-slc6/setup.sh 70 71 source /afs/cern.ch/sw/lcg/app/releases/ROOT/6.06.00/x86_64-slc6-gcc49-opt/root/bin/thisroot.sh 70 72 71 73 make … … 87 89 88 90 ``` 89 TFile *f = TFile::Open("delphes_output.root");90 f->Get("Delphes")->Draw("Electron.PT");91 TFile::Open("delphes_output.root"); 92 Delphes->Draw("Electron.PT"); 91 93 TBrowser browser; 92 94 ``` -
cards/FCC/FCChh.tcl
rd612dec ra5af1df 4 4 # Main authors: Michele Selvaggi (CERN) 5 5 # 6 # Released on: October 14th, 2020 7 # 8 # - fix muon resolution at high pT 9 # - updated btagging, tau tagging and photon ID 10 # 6 # Released on: Dec. 1st, 2017 11 7 # 12 8 # Configuration: FCC-hh baseline detector … … 1053 1049 (abs(eta) <= 2.5) * (pt > 1.0 && pt < 5.0) * (0.70) + 1054 1050 (abs(eta) <= 2.5) * (pt > 5.0 && pt < 10.0) * (0.85) + 1055 (abs(eta) <= 2.5) * (pt > 10.0) * (0.9 0) +1051 (abs(eta) <= 2.5) * (pt > 10.0) * (0.95) + 1056 1052 1057 1053 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt < 5.0) * (0.60) + … … 1142 1138 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.01)*(1.0 - pt/15000.) + \ 1143 1139 (abs(eta) < 2.5) * (pt > 15000.0) * (0.00) + \ 1144 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.0 1) + \1145 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.0 1)*(1.0 - pt/15000.) + \1140 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.0075) + \ 1141 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.0075)*(1.0 - pt/15000.) + \ 1146 1142 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \ 1147 1143 (abs(eta) > 4.0) * (0.00)} … … 1150 1146 1151 1147 (pt <= 10.0) * (0.00) + 1152 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0. 15) + \1153 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0. 15)*(1.0 - pt/15000.) + \1148 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.05) + \ 1149 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.05)*(1.0 - pt/15000.) + \ 1154 1150 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) + \ 1155 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0. 10) + \1156 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0. 10)*(1.0 - pt/15000.) + \1151 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.03) + \ 1152 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.03)*(1.0 - pt/15000.) + \ 1157 1153 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \ 1158 1154 (abs(eta) > 4.0) * (0.00)} … … 1161 1157 1162 1158 (pt <= 10.0) * (0.00) + 1163 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.8 2) +1164 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.8 2)*(1.0 - pt/15000.) +1159 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.85) + 1160 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.85)*(1.0 - pt/15000.) + 1165 1161 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) + 1166 1162 (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.64) + … … 1221 1217 1222 1218 (pt <= 10.0) * (0.00) + 1223 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.0 2) + \1224 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.0 2) *(8./9. - pt/30000.) + \1219 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.01) + \ 1220 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.01) *(8./9. - pt/30000.) + \ 1225 1221 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \ 1226 1222 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.0075) + \ … … 1232 1228 1233 1229 (pt <= 10.0) * (0.00) + 1234 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.00 1) + \1235 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.00 1) *(8./9. - pt/30000.) + \1230 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.005) + \ 1231 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.005) *(8./9. - pt/30000.) + \ 1236 1232 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \ 1237 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.00 1) + \1238 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.00 1)*(8./9. - pt/30000.) + \1233 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.00375) + \ 1234 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.00375)*(8./9. - pt/30000.) + \ 1239 1235 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \ 1240 1236 (abs(eta) > 4.0) * (0.00)} -
cards/FCC/muonMomentumResolutionVsP.tcl
rd612dec ra5af1df 12 12 set ResolutionFormula { 13 13 14 15 ( abs(eta) < 1.35 ) * 16 17 (sqrt(0.0000364164 + ( 18 3*9.06262e-8 *pt^2* cosh( 19 eta)^2 *(2.82074e-7/sin(2*atan(exp(-abs(eta))))^2 + ( 20 504.525 *(1/400000000 + (0.117945* 1/cosh(eta)^2)/( 21 pt^2 *sin(2*atan(exp(-abs(eta))))^2)))/ 22 sin(2*atan(exp(-abs(eta))))^2) *sin(2*atan(exp(-abs(eta))))^2)/( 23 0.00516429/sin(2*atan(exp(-abs(eta))))^2 + ( 24 96868.8 *(1/400000000 + 5*(0.117945 * 1/cosh(eta)^2)/( 25 pt^2 *sin(2*atan(exp(-abs(eta))))^2)))/ 26 sin(2*atan(exp(-abs(eta))))^2)) 27 28 ) + 14 ( abs(eta) < 1.35 ) * 15 16 (sqrt(0.0000364164 + ( 17 9.06262e-8 *pt^2* cosh( 18 eta)^2 *(2.82074e-7/sin(2*atan(exp(-abs(eta))))^2 + ( 19 504.525 *(1/400000000 + (0.117945* 1/cosh(eta)^2)/( 20 pt^2 *sin(2*atan(exp(-abs(eta))))^2)))/ 21 sin(2*atan(exp(-abs(eta))))^2) *sin(2*atan(exp(-abs(eta))))^2)/( 22 0.00516429/sin(2*atan(exp(-abs(eta))))^2 + ( 23 96868.8 *(1/400000000 + (0.117945 * 1/cosh(eta)^2)/( 24 pt^2 *sin(2*atan(exp(-abs(eta))))^2)))/ 25 sin(2*atan(exp(-abs(eta))))^2)) 26 27 ) + 29 28 30 29 ( abs(eta) > 1.35 && abs(eta) < 2.00) * -
cards/delphes_card_CLICdet_Stage1.tcl
rd612dec ra5af1df 298 298 299 299 set EfficiencyFormula { 300 (pt <= 0.1) * (0.000) + 301 (pt > 0.1) * (abs(eta) > 2.54) * (0.000) + 302 (pt > 0.1) * (energy >= 80) * (abs(eta) < 2.54) * (1.000) + 303 (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34) * (0.994) + 304 (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) + 305 (pt > 0.1) * (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.990) + 306 (pt > 0.1) * (energy < 3) * (abs(eta) <= 0.55 ) * (1.000) 300 (abs(eta) > 2.54) * (0.000) + 301 (energy >= 80) * (abs(eta) < 2.54) * (1.000) + 302 (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34) * (0.994) + 303 (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) + 304 (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.000) + 305 (energy < 3) * (abs(eta) <= 0.55 ) * (1.000) 307 306 } 308 307 } … … 319 318 # Current full simulation with CLICdet provides for electrons: 320 319 set EfficiencyFormula { 321 (pt <= 0.1)* (0.000) +322 (pt > 0.1) * (abs(eta) > 2.54)* (0.000) +323 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +324 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +325 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.34 ) * (1.000) +326 (pt > 0.1) *(energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +327 (pt > 0.1) *(energy < 80 && energy >= 5) * (abs(eta) <= 2.17) * (1.000) +328 (pt > 0.1) * (energy < 5) * (abs(eta) <= 2.54 && abs(eta) > 2.34 ) * (1.000) +329 (pt > 0.1) * (energy < 5)* (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +330 (pt > 0.1) * (energy < 5)* (abs(eta) <= 0.76) * (0.999)320 (pt <= 1) * (0.000) + 321 (abs(eta) > 2.54) * (0.000) + 322 (energy >= 80) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) + 323 (energy >= 80) * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) + 324 (energy >= 80) * (abs(eta) <= 2.34 ) * (1.000) + 325 (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) + 326 (energy < 80 && energy >= 5) * (abs(eta) <= 2.17) * (1.000) + 327 (energy < 5) * (abs(eta) > 2.34 ) * (0.000) + 328 (energy < 5) * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) + 329 (energy < 5) * (abs(eta) <= 0.76) * (0.999) 331 330 } 332 331 } … … 342 341 # Current full simulation with CLICdet provides for muons: 343 342 set EfficiencyFormula { 344 (pt <= 0.1) * (0.000) + 345 (pt > 0.1) * (abs(eta) > 2.54) * (0.000) + 346 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80) * (0.994) + 347 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80) * (0.996) + 348 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 ) * (0.996) + 349 (pt > 0.1) * (abs(eta) <= 2.44 ) * (energy >= 5 ) * (1.000) + 350 (pt > 0.1) * (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 ) * (0.999) + 351 (pt > 0.1) * (abs(eta) <= 2.25 ) * (energy < 5 ) * (1.000) 343 (pt < 1) * (0.000) + 344 (abs(eta) > 2.54) * (0.000) + 345 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80) * (0.994) + 346 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80) * (0.996) + 347 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 ) * (0.996) + 348 (abs(eta) <= 2.44 ) * (energy >= 5 ) * (1.000) + 349 (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 && pt >=1 ) * (0.999) + 350 (abs(eta) <= 2.25 ) * (energy >= 1) * (1.000) 351 352 352 353 } 353 354 } … … 944 945 module FastJetFinder FastJetFinderKt { 945 946 # set InputArray Calorimeter/towers 946 set InputArray EFlow Filter/eflow947 set InputArray EFlowMerger/eflow 947 948 948 949 set OutputArray KTjets -
cards/delphes_card_CLICdet_Stage2.tcl
rd612dec ra5af1df 490 490 491 491 set EfficiencyFormula { 492 (pt <= 0.1) * (0.000) + 493 (pt > 0.1) * (abs(eta) > 2.54) * (0.000) + 494 (pt > 0.1) * (energy >= 80) * (abs(eta) < 2.54) * (1.000) + 495 (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34) * (0.994) + 496 (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) + 497 (pt > 0.1) * (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.990) + 498 (pt > 0.1) * (energy < 3) * (abs(eta) <= 0.55 ) * (1.000) 492 (abs(eta) > 2.54) * (0.000) + 493 (energy >= 80) * (abs(eta) < 2.54) * (1.000) + 494 (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34) * (0.994) + 495 (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) + 496 (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.000) + 497 (energy < 3) * (abs(eta) <= 0.55 ) * (1.000) 499 498 } 500 499 } … … 511 510 # Current full simulation with CLICdet provides for electrons: 512 511 set EfficiencyFormula { 513 (pt <= 0.1)* (0.000) +514 (pt > 0.1) * (abs(eta) > 2.54)* (0.000) +515 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +516 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +517 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.34 ) * (1.000) +518 (pt > 0.1) *(energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +519 (pt > 0.1) *(energy < 80 && energy >= 5) * (abs(eta) <= 2.17) * (1.000) +520 (pt > 0.1) * (energy < 5) * (abs(eta) <= 2.54 && abs(eta) > 2.34 ) * (1.000) +521 (pt > 0.1) * (energy < 5)* (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +522 (pt > 0.1) * (energy < 5)* (abs(eta) <= 0.76) * (0.999)512 (pt <= 1) * (0.000) + 513 (abs(eta) > 2.54) * (0.000) + 514 (energy >= 80) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) + 515 (energy >= 80) * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) + 516 (energy >= 80) * (abs(eta) <= 2.34 ) * (1.000) + 517 (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) + 518 (energy < 80 && energy >= 5) * (abs(eta) <= 2.17) * (1.000) + 519 (energy < 5) * (abs(eta) > 2.34 ) * (0.000) + 520 (energy < 5) * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) + 521 (energy < 5) * (abs(eta) <= 0.76) * (0.999) 523 522 } 524 523 } … … 534 533 # Current full simulation with CLICdet provides for muons: 535 534 set EfficiencyFormula { 536 (pt <= 0.1) * (0.000) + 537 (pt > 0.1) * (abs(eta) > 2.54) * (0.000) + 538 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80) * (0.994) + 539 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80) * (0.996) + 540 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 ) * (0.996) + 541 (pt > 0.1) * (abs(eta) <= 2.44 ) * (energy >= 5 ) * (1.000) + 542 (pt > 0.1) * (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 ) * (0.999) + 543 (pt > 0.1) * (abs(eta) <= 2.25 ) * (energy < 5 ) * (1.000) 535 (pt < 1) * (0.000) + 536 (abs(eta) > 2.54) * (0.000) + 537 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80) * (0.994) + 538 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80) * (0.996) + 539 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 ) * (0.996) + 540 (abs(eta) <= 2.44 ) * (energy >= 5 ) * (1.000) + 541 (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 && pt >=1 ) * (0.999) + 542 (abs(eta) <= 2.25 ) * (energy >= 1) * (1.000) 543 544 544 545 } 545 546 } … … 1135 1136 module FastJetFinder FastJetFinderKt { 1136 1137 # set InputArray Calorimeter/towers 1137 set InputArray EFlow Filter/eflow1138 set InputArray EFlowMerger/eflow 1138 1139 1139 1140 set OutputArray KTjets -
cards/delphes_card_CLICdet_Stage3.tcl
rd612dec ra5af1df 484 484 485 485 set EfficiencyFormula { 486 (pt <= 0.1) * (0.000) + 487 (pt > 0.1) * (abs(eta) > 2.54) * (0.000) + 488 (pt > 0.1) * (energy >= 80) * (abs(eta) < 2.54) * (1.000) + 489 (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34) * (0.994) + 490 (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) + 491 (pt > 0.1) * (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.990) + 492 (pt > 0.1) * (energy < 3) * (abs(eta) <= 0.55 ) * (1.000) 486 (abs(eta) > 2.54) * (0.000) + 487 (energy >= 80) * (abs(eta) < 2.54) * (1.000) + 488 (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34) * (0.994) + 489 (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) + 490 (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.000) + 491 (energy < 3) * (abs(eta) <= 0.55 ) * (1.000) 493 492 } 494 493 } … … 505 504 # Current full simulation with CLICdet provides for electrons: 506 505 set EfficiencyFormula { 507 (pt <= 0.1)* (0.000) +508 (pt > 0.1) * (abs(eta) > 2.54)* (0.000) +509 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +510 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +511 (pt > 0.1) * (energy >= 80)* (abs(eta) <= 2.34 ) * (1.000) +512 (pt > 0.1) *(energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +513 (pt > 0.1) *(energy < 80 && energy >= 5) * (abs(eta) <= 2.17) * (1.000) +514 (pt > 0.1) * (energy < 5) * (abs(eta) <= 2.54 && abs(eta) > 2.34 ) * (1.000) +515 (pt > 0.1) * (energy < 5)* (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +516 (pt > 0.1) * (energy < 5)* (abs(eta) <= 0.76) * (0.999)506 (pt <= 1) * (0.000) + 507 (abs(eta) > 2.54) * (0.000) + 508 (energy >= 80) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) + 509 (energy >= 80) * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) + 510 (energy >= 80) * (abs(eta) <= 2.34 ) * (1.000) + 511 (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) + 512 (energy < 80 && energy >= 5) * (abs(eta) <= 2.17) * (1.000) + 513 (energy < 5) * (abs(eta) > 2.34 ) * (0.000) + 514 (energy < 5) * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) + 515 (energy < 5) * (abs(eta) <= 0.76) * (0.999) 517 516 } 518 517 } … … 528 527 # Current full simulation with CLICdet provides for muons: 529 528 set EfficiencyFormula { 530 (pt <= 0.1) * (0.000) + 531 (pt > 0.1) * (abs(eta) > 2.54) * (0.000) + 532 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80) * (0.994) + 533 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80) * (0.996) + 534 (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 ) * (0.996) + 535 (pt > 0.1) * (abs(eta) <= 2.44 ) * (energy >= 5 ) * (1.000) + 536 (pt > 0.1) * (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 ) * (0.999) + 537 (pt > 0.1) * (abs(eta) <= 2.25 ) * (energy < 5 ) * (1.000) 529 (pt < 1) * (0.000) + 530 (abs(eta) > 2.54) * (0.000) + 531 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80) * (0.994) + 532 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80) * (0.996) + 533 (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 ) * (0.996) + 534 (abs(eta) <= 2.44 ) * (energy >= 5 ) * (1.000) + 535 (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 && pt >=1 ) * (0.999) + 536 (abs(eta) <= 2.25 ) * (energy >= 1) * (1.000) 537 538 538 539 } 539 540 } … … 1131 1132 module FastJetFinder FastJetFinderKt { 1132 1133 # set InputArray Calorimeter/towers 1133 set InputArray EFlow Filter/eflow1134 set InputArray EFlowMerger/eflow 1134 1135 1135 1136 set OutputArray KTjets -
cards/delphes_card_IDEA.tcl
rd612dec ra5af1df 1 set RandomSeed 1232 3 1 #################################################################### l 4 # FCC-ee IDEA detector model 5 # 6 # Authors: Elisa Fontanesi, Lorenzo Pezzotti, Massimiliano Antonello , Michele Selvaggi2 # FCC-ee IDEA detector model 3 # 4 # Authors: Elisa Fontanesi, Lorenzo Pezzotti, Massimiliano Antonello 7 5 # email: efontane@bo.infn.it, 8 # lorenzo.pezzotti01@universitadipavia.it, 9 # m.antonello@uninsubria.it, 10 # michele.selvaggi@cern.ch 11 ##################################################################### 12 13 ## MOD2: set vtx mode timing to MC truth 14 15 set B 2.0 16 17 ## Drift chamber coordinates 18 set DCHZMIN -2.125 19 set DCHZMAX 2.125 20 set DCHRMIN 0.345 21 set DCHRMAX 2.02 22 23 6 # lorenzo.pezzotti01@universitadipavia.it, 7 # m.antonello@uninsubria.it, 8 ##################################################################### 9 # 24 10 ####################################### 25 11 # Order of execution of various modules … … 27 13 28 14 set ExecutionPath { 29 30 TruthVertexFinder31 15 ParticlePropagator 32 16 … … 35 19 MuonTrackingEfficiency 36 20 37 TrackMergerPre 38 TrackSmearing 39 ClusterCounting 40 TimeSmearing 41 TimeOfFlight 42 43 TrackMerger 44 ForwardLooperTracks 21 ChargedHadronMomentumSmearing 22 ElectronMomentumSmearing 23 MuonMomentumSmearing 24 25 TrackMerger 45 26 Calorimeter 46 47 TimeSmearingNeutrals48 TimeOfFlightNeutralHadron49 50 EFlowTrackMerger51 27 EFlowMerger 52 28 53 29 PhotonEfficiency 54 30 PhotonIsolation 55 56 MuonFilter57 31 58 32 ElectronFilter … … 68 42 GenJetFinder 69 43 GenMissingET 70 44 71 45 FastJetFinder 72 46 … … 78 52 TauTagging 79 53 54 UniqueObjectFinder 55 56 ScalarHT 80 57 TreeWriter 81 58 } 82 59 83 #################################84 # Truth Vertex Finder85 #################################86 87 module TruthVertexFinder TruthVertexFinder {88 89 ## below this distance two vertices are assumed to be merged90 set Resolution 1E-0691 92 set InputArray Delphes/stableParticles93 set VertexOutputArray vertices94 }95 60 96 61 ################################# … … 113 78 114 79 # magnetic field, in T 115 set Bz $B80 set Bz 2.0 116 81 } 117 82 … … 123 88 set InputArray ParticlePropagator/chargedHadrons 124 89 set OutputArray chargedHadrons 125 set UseMomentumVector true90 # We use only one efficiency, we set only 0 effincency out of eta bounds: 126 91 127 92 set EfficiencyFormula { 128 (abs(eta) > 2.56) * (0.000) + 129 (pt < 0.1) * (abs(eta) <= 2.56) * (0.000) + 130 (pt >= 0.1) * (abs(eta) <= 2.56) * (1.000) 131 } 132 } 93 (abs(eta) > 3.0) * (0.000) + 94 (energy >= 0.5) * (abs(eta) <= 3.0) * (0.997) + 95 (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0) * (0.65) + 96 (energy < 0.3) * (abs(eta) <= 3.0) * (0.06) 97 } 98 } 99 100 # (pt <= 0.1) * (0.00) + 101 # (abs(eta) <= 3.0) * (pt > 0.1) * (1.00) + 102 # (abs(eta) > 3) * (0.00) 133 103 134 104 … … 141 111 set InputArray ParticlePropagator/electrons 142 112 set OutputArray electrons 143 set UseMomentumVector true 144 113 114 115 # Current full simulation with CLICdet provides for electrons: 145 116 set EfficiencyFormula { 146 (abs(eta) > 2.56) * (0.000) + 147 (pt < 0.1) * (abs(eta) <= 2.56) * (0.000) + 148 (pt >= 0.1) * (abs(eta) <= 2.56) * (1.000) 149 } 117 (abs(eta) > 3.0) * (0.000) + 118 (energy >= 0.5) * (abs(eta) <= 3.0) * (0.997) + 119 (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0) * (0.65) + 120 (energy < 0.3) * (abs(eta) <= 3.0) * (0.06) 121 } 150 122 } 151 123 … … 158 130 set InputArray ParticlePropagator/muons 159 131 set OutputArray muons 160 set UseMomentumVector true 161 132 133 # Current full simulation with CLICdet provides for muons: 162 134 set EfficiencyFormula { 163 (abs(eta) > 2.56) * (0.000) + 164 (pt < 0.1) * (abs(eta) <= 2.56) * (0.000) + 165 (pt >= 0.1) * (abs(eta) <= 2.56) * (1.000) 135 (abs(eta) > 3.0) * (0.000) + 136 (energy >= 0.5) * (abs(eta) <= 3.0) * (0.997) + 137 (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0) * (0.65) + 138 (energy < 0.3) * (abs(eta) <= 3.0) * (0.06) 139 } 140 } 141 142 143 ######################################## 144 # Momentum resolution for charged tracks 145 ######################################## 146 147 module MomentumSmearing ChargedHadronMomentumSmearing { 148 set InputArray ChargedHadronTrackingEfficiency/chargedHadrons 149 set OutputArray chargedHadrons 150 151 152 # Resolution given in dpT/pT. 153 # IDEAdet 154 set ResolutionFormula { 155 (abs(eta) <= 3.0) * sqrt(0.0006^2 + (pt*7.e-5)^2) 156 } 157 } 158 159 ################################### 160 # Momentum resolution for electrons 161 ################################### 162 163 module MomentumSmearing ElectronMomentumSmearing { 164 set InputArray ElectronTrackingEfficiency/electrons 165 set OutputArray electrons 166 167 # Resolution given in dpT/pT. 168 # IDEAdet 169 set ResolutionFormula { 170 (abs(eta) <= 3.0) * sqrt(0.0006^2 + (pt*7.e-5)^2) 171 } 172 } 173 174 ############################### 175 # Momentum resolution for muons 176 ############################### 177 178 module MomentumSmearing MuonMomentumSmearing { 179 set InputArray MuonTrackingEfficiency/muons 180 set OutputArray muons 181 182 # Resolution given in dpT/pT. 183 # IDEAdet 184 set ResolutionFormula { 185 (abs(eta) <= 3.0) * sqrt(0.0006^2 + (pt*7.e-5)^2) 166 186 } 167 187 } … … 171 191 ############## 172 192 173 module Merger TrackMergerPre {174 # add InputArray InputArray175 add InputArray ChargedHadronTrackingEfficiency/chargedHadrons176 add InputArray ElectronTrackingEfficiency/electrons177 add InputArray MuonTrackingEfficiency/muons178 set OutputArray tracks179 }180 181 182 183 ########################################184 # Smearing for charged tracks185 ########################################186 187 module TrackCovariance TrackSmearing {188 189 set InputArray TrackMergerPre/tracks190 set OutputArray tracks191 192 ## minimum number of hits to accept a track193 set NMinHits 6194 195 ## magnetic field196 set Bz $B197 198 ## uses https://raw.githubusercontent.com/selvaggi/FastTrackCovariance/master/GeoIDEA_BASE.txt199 set DetectorGeometry {200 201 202 # Layer type 1 = R (barrel) or 2 = z (forward/backward)203 # Layer label204 # Minimum dimension z for barrel or R for forward205 # Maximum dimension z for barrel or R for forward206 # R/z location of layer207 # Thickness (meters)208 # Radiation length (meters)209 # Number of measurements in layers (1D or 2D)210 # Stereo angle (rad) - 0(pi/2) = axial(z) layer - Upper side211 # Stereo angle (rad) - 0(pi/2) = axial(z) layer - Lower side212 # Resolution Upper side (meters) - 0 = no measurement213 # Resolution Lower side (meters) - 0 = no measurement214 # measurement flag = T, scattering only = F215 216 # barrel name zmin zmax r w (m) X0 n_meas th_up (rad) th_down (rad) reso_up (m) reso_down (m) flag217 218 # barrel name zmin zmax r w (m) X0 n_meas th_up (rad) th_down (rad) reso_up (m) reso_down (m) flag219 220 1 PIPE -100 100 0.015 0.001655 0.2805 0 0 0 0 0 0221 1 VTXLOW -0.12 0.12 0.017 0.00028 0.0937 2 0 1.5708 3e-006 3e-006 1222 1 VTXLOW -0.16 0.16 0.023 0.00028 0.0937 2 0 1.5708 3e-006 3e-006 1223 1 VTXLOW -0.16 0.16 0.031 0.00028 0.0937 2 0 1.5708 3e-006 3e-006 1224 1 VTXHIGH -1 1 0.32 0.00047 0.0937 2 0 1.5708 7e-006 7e-006 1225 1 VTXHIGH -1.05 1.05 0.34 0.00047 0.0937 2 0 1.5708 7e-006 7e-006 1226 227 # endcap name rmin rmax z w (m) X0 n_meas th_up (rad) th_down (rad) reso_up (m) reso_down (m) flag228 229 2 VTXDSK 0.141 0.3 -0.92 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1230 2 VTXDSK 0.138 0.3 -0.9 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1231 2 VTXDSK 0.065 0.3 -0.42 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1232 2 VTXDSK 0.062 0.3 -0.4 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1233 2 VTXDSK 0.062 0.3 0.4 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1234 2 VTXDSK 0.065 0.3 0.42 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1235 2 VTXDSK 0.138 0.3 0.9 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1236 2 VTXDSK 0.141 0.3 0.92 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1237 238 1 DCHCANI $DCHZMIN $DCHZMAX $DCHRMIN 0.0002 0.237223 0 0 0 0 0 0239 1 DCH -2 2 0.36 0.0147748 1400 1 0.0203738 0 0.0001 0 1240 1 DCH -2 2 0.374775 0.0147748 1400 1 -0.0212097 0 0.0001 0 1241 1 DCH -2 2 0.38955 0.0147748 1400 1 0.0220456 0 0.0001 0 1242 1 DCH -2 2 0.404324 0.0147748 1400 1 -0.0228814 0 0.0001 0 1243 1 DCH -2 2 0.419099 0.0147748 1400 1 0.0237172 0 0.0001 0 1244 1 DCH -2 2 0.433874 0.0147748 1400 1 -0.024553 0 0.0001 0 1245 1 DCH -2 2 0.448649 0.0147748 1400 1 0.0253888 0 0.0001 0 1246 1 DCH -2 2 0.463423 0.0147748 1400 1 -0.0262245 0 0.0001 0 1247 1 DCH -2 2 0.478198 0.0147748 1400 1 0.0270602 0 0.0001 0 1248 1 DCH -2 2 0.492973 0.0147748 1400 1 -0.0278958 0 0.0001 0 1249 1 DCH -2 2 0.507748 0.0147748 1400 1 0.0287314 0 0.0001 0 1250 1 DCH -2 2 0.522523 0.0147748 1400 1 -0.029567 0 0.0001 0 1251 1 DCH -2 2 0.537297 0.0147748 1400 1 0.0304025 0 0.0001 0 1252 1 DCH -2 2 0.552072 0.0147748 1400 1 -0.031238 0 0.0001 0 1253 1 DCH -2 2 0.566847 0.0147748 1400 1 0.0320734 0 0.0001 0 1254 1 DCH -2 2 0.581622 0.0147748 1400 1 -0.0329088 0 0.0001 0 1255 1 DCH -2 2 0.596396 0.0147748 1400 1 0.0337442 0 0.0001 0 1256 1 DCH -2 2 0.611171 0.0147748 1400 1 -0.0345795 0 0.0001 0 1257 1 DCH -2 2 0.625946 0.0147748 1400 1 0.0354147 0 0.0001 0 1258 1 DCH -2 2 0.640721 0.0147748 1400 1 -0.0362499 0 0.0001 0 1259 1 DCH -2 2 0.655495 0.0147748 1400 1 0.0370851 0 0.0001 0 1260 1 DCH -2 2 0.67027 0.0147748 1400 1 -0.0379202 0 0.0001 0 1261 1 DCH -2 2 0.685045 0.0147748 1400 1 0.0387552 0 0.0001 0 1262 1 DCH -2 2 0.69982 0.0147748 1400 1 -0.0395902 0 0.0001 0 1263 1 DCH -2 2 0.714595 0.0147748 1400 1 0.0404252 0 0.0001 0 1264 1 DCH -2 2 0.729369 0.0147748 1400 1 -0.04126 0 0.0001 0 1265 1 DCH -2 2 0.744144 0.0147748 1400 1 0.0420949 0 0.0001 0 1266 1 DCH -2 2 0.758919 0.0147748 1400 1 -0.0429296 0 0.0001 0 1267 1 DCH -2 2 0.773694 0.0147748 1400 1 0.0437643 0 0.0001 0 1268 1 DCH -2 2 0.788468 0.0147748 1400 1 -0.044599 0 0.0001 0 1269 1 DCH -2 2 0.803243 0.0147748 1400 1 0.0454336 0 0.0001 0 1270 1 DCH -2 2 0.818018 0.0147748 1400 1 -0.0462681 0 0.0001 0 1271 1 DCH -2 2 0.832793 0.0147748 1400 1 0.0471025 0 0.0001 0 1272 1 DCH -2 2 0.847568 0.0147748 1400 1 -0.0479369 0 0.0001 0 1273 1 DCH -2 2 0.862342 0.0147748 1400 1 0.0487713 0 0.0001 0 1274 1 DCH -2 2 0.877117 0.0147748 1400 1 -0.0496055 0 0.0001 0 1275 1 DCH -2 2 0.891892 0.0147748 1400 1 0.0504397 0 0.0001 0 1276 1 DCH -2 2 0.906667 0.0147748 1400 1 -0.0512738 0 0.0001 0 1277 1 DCH -2 2 0.921441 0.0147748 1400 1 0.0521079 0 0.0001 0 1278 1 DCH -2 2 0.936216 0.0147748 1400 1 -0.0529418 0 0.0001 0 1279 1 DCH -2 2 0.950991 0.0147748 1400 1 0.0537757 0 0.0001 0 1280 1 DCH -2 2 0.965766 0.0147748 1400 1 -0.0546095 0 0.0001 0 1281 1 DCH -2 2 0.980541 0.0147748 1400 1 0.0554433 0 0.0001 0 1282 1 DCH -2 2 0.995315 0.0147748 1400 1 -0.056277 0 0.0001 0 1283 1 DCH -2 2 1.01009 0.0147748 1400 1 0.0571106 0 0.0001 0 1284 1 DCH -2 2 1.02486 0.0147748 1400 1 -0.0579441 0 0.0001 0 1285 1 DCH -2 2 1.03964 0.0147748 1400 1 0.0587775 0 0.0001 0 1286 1 DCH -2 2 1.05441 0.0147748 1400 1 -0.0596108 0 0.0001 0 1287 1 DCH -2 2 1.06919 0.0147748 1400 1 0.0604441 0 0.0001 0 1288 1 DCH -2 2 1.08396 0.0147748 1400 1 -0.0612773 0 0.0001 0 1289 1 DCH -2 2 1.09874 0.0147748 1400 1 0.0621104 0 0.0001 0 1290 1 DCH -2 2 1.11351 0.0147748 1400 1 -0.0629434 0 0.0001 0 1291 1 DCH -2 2 1.12829 0.0147748 1400 1 0.0637763 0 0.0001 0 1292 1 DCH -2 2 1.14306 0.0147748 1400 1 -0.0646092 0 0.0001 0 1293 1 DCH -2 2 1.15784 0.0147748 1400 1 0.0654419 0 0.0001 0 1294 1 DCH -2 2 1.17261 0.0147748 1400 1 -0.0662746 0 0.0001 0 1295 1 DCH -2 2 1.18739 0.0147748 1400 1 0.0671071 0 0.0001 0 1296 1 DCH -2 2 1.20216 0.0147748 1400 1 -0.0679396 0 0.0001 0 1297 1 DCH -2 2 1.21694 0.0147748 1400 1 0.068772 0 0.0001 0 1298 1 DCH -2 2 1.23171 0.0147748 1400 1 -0.0696042 0 0.0001 0 1299 1 DCH -2 2 1.24649 0.0147748 1400 1 0.0704364 0 0.0001 0 1300 1 DCH -2 2 1.26126 0.0147748 1400 1 -0.0712685 0 0.0001 0 1301 1 DCH -2 2 1.27604 0.0147748 1400 1 0.0721005 0 0.0001 0 1302 1 DCH -2 2 1.29081 0.0147748 1400 1 -0.0729324 0 0.0001 0 1303 1 DCH -2 2 1.30559 0.0147748 1400 1 0.0737642 0 0.0001 0 1304 1 DCH -2 2 1.32036 0.0147748 1400 1 -0.0745958 0 0.0001 0 1305 1 DCH -2 2 1.33514 0.0147748 1400 1 0.0754274 0 0.0001 0 1306 1 DCH -2 2 1.34991 0.0147748 1400 1 -0.0762589 0 0.0001 0 1307 1 DCH -2 2 1.36468 0.0147748 1400 1 0.0770903 0 0.0001 0 1308 1 DCH -2 2 1.37946 0.0147748 1400 1 -0.0779215 0 0.0001 0 1309 1 DCH -2 2 1.39423 0.0147748 1400 1 0.0787527 0 0.0001 0 1310 1 DCH -2 2 1.40901 0.0147748 1400 1 -0.0795837 0 0.0001 0 1311 1 DCH -2 2 1.42378 0.0147748 1400 1 0.0804147 0 0.0001 0 1312 1 DCH -2 2 1.43856 0.0147748 1400 1 -0.0812455 0 0.0001 0 1313 1 DCH -2 2 1.45333 0.0147748 1400 1 0.0820762 0 0.0001 0 1314 1 DCH -2 2 1.46811 0.0147748 1400 1 -0.0829068 0 0.0001 0 1315 1 DCH -2 2 1.48288 0.0147748 1400 1 0.0837373 0 0.0001 0 1316 1 DCH -2 2 1.49766 0.0147748 1400 1 -0.0845677 0 0.0001 0 1317 1 DCH -2 2 1.51243 0.0147748 1400 1 0.0853979 0 0.0001 0 1318 1 DCH -2 2 1.52721 0.0147748 1400 1 -0.086228 0 0.0001 0 1319 1 DCH -2 2 1.54198 0.0147748 1400 1 0.087058 0 0.0001 0 1320 1 DCH -2 2 1.55676 0.0147748 1400 1 -0.0878879 0 0.0001 0 1321 1 DCH -2 2 1.57153 0.0147748 1400 1 0.0887177 0 0.0001 0 1322 1 DCH -2 2 1.58631 0.0147748 1400 1 -0.0895474 0 0.0001 0 1323 1 DCH -2 2 1.60108 0.0147748 1400 1 0.0903769 0 0.0001 0 1324 1 DCH -2 2 1.61586 0.0147748 1400 1 -0.0912063 0 0.0001 0 1325 1 DCH -2 2 1.63063 0.0147748 1400 1 0.0920356 0 0.0001 0 1326 1 DCH -2 2 1.64541 0.0147748 1400 1 -0.0928647 0 0.0001 0 1327 1 DCH -2 2 1.66018 0.0147748 1400 1 0.0936937 0 0.0001 0 1328 1 DCH -2 2 1.67495 0.0147748 1400 1 -0.0945226 0 0.0001 0 1329 1 DCH -2 2 1.68973 0.0147748 1400 1 0.0953514 0 0.0001 0 1330 1 DCH -2 2 1.7045 0.0147748 1400 1 -0.09618 0 0.0001 0 1331 1 DCH -2 2 1.71928 0.0147748 1400 1 0.0970085 0 0.0001 0 1332 1 DCH -2 2 1.73405 0.0147748 1400 1 -0.0978369 0 0.0001 0 1333 1 DCH -2 2 1.74883 0.0147748 1400 1 0.0986651 0 0.0001 0 1334 1 DCH -2 2 1.7636 0.0147748 1400 1 -0.0994932 0 0.0001 0 1335 1 DCH -2 2 1.77838 0.0147748 1400 1 0.100321 0 0.0001 0 1336 1 DCH -2 2 1.79315 0.0147748 1400 1 -0.101149 0 0.0001 0 1337 1 DCH -2 2 1.80793 0.0147748 1400 1 0.101977 0 0.0001 0 1338 1 DCH -2 2 1.8227 0.0147748 1400 1 -0.102804 0 0.0001 0 1339 1 DCH -2 2 1.83748 0.0147748 1400 1 0.103632 0 0.0001 0 1340 1 DCH -2 2 1.85225 0.0147748 1400 1 -0.104459 0 0.0001 0 1341 1 DCH -2 2 1.86703 0.0147748 1400 1 0.105286 0 0.0001 0 1342 1 DCH -2 2 1.8818 0.0147748 1400 1 -0.106113 0 0.0001 0 1343 1 DCH -2 2 1.89658 0.0147748 1400 1 0.10694 0 0.0001 0 1344 1 DCH -2 2 1.91135 0.0147748 1400 1 -0.107766 0 0.0001 0 1345 1 DCH -2 2 1.92613 0.0147748 1400 1 0.108593 0 0.0001 0 1346 1 DCH -2 2 1.9409 0.0147748 1400 1 -0.109419 0 0.0001 0 1347 1 DCH -2 2 1.95568 0.0147748 1400 1 0.110246 0 0.0001 0 1348 1 DCH -2 2 1.97045 0.0147748 1400 1 -0.111072 0 0.0001 0 1349 1 DCH -2 2 1.98523 0.0147748 1400 1 0.111898 0 0.0001 0 1350 1 DCH -2 2 2 0.0147748 1400 1 -0.112723 0 0.0001 0 1351 1 DCHCANO $DCHZMIN $DCHZMAX $DCHRMAX $DCHRMAX 0.02 1.667 0 0 0 0 0 0352 1 BSILWRP -2.35 2.35 2.04 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1353 1 BSILWRP -2.35 2.35 2.06 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1354 1 MAG -2.5 2.5 2.25 0.05 0.0658 0 0 0 0 0 0355 1 BPRESH -2.55 2.55 2.45 0.02 1 2 0 1.5708 7e-005 0.01 1356 2 DCHWALL $DCHRMIN $DCHRMAX $DCHZMAX 0.25 5.55 0 0 0 0 0 0357 2 DCHWALL $DCHRMIN $DCHRMAX $DCHZMIN 0.25 5.55 0 0 0 0 0 0358 2 FSILWRP 0.354 2.02 -2.32 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1359 2 FSILWRP 0.35 2.02 -2.3 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1360 2 FSILWRP 0.35 2.02 2.3 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1361 2 FSILWRP 0.354 2.02 2.32 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1362 2 FRAD 0.38 2.09 2.49 0.0043 0.005612 0 0 0 0 0 0363 2 FRAD 0.38 2.09 -2.49 0.0043 0.005612 0 0 0 0 0 0364 2 FPRESH 0.39 2.43 -2.55 0.02 1 2 0 1.5708 7e-005 0.01 1365 2 FPRESH 0.39 2.43 2.55 0.02 1 2 0 1.5708 7e-005 0.01 1366 }367 368 }369 370 ###################371 # Cluster Counting372 ###################373 374 module ClusterCounting ClusterCounting {375 376 add InputArray TrackSmearing/tracks377 set OutputArray tracks378 379 set Bz $B380 381 ## check that these are consistent with DCHCANI/DCHNANO parameters in TrackCovariance module382 set Rmin $DCHRMIN383 set Rmax $DCHRMAX384 set Zmin $DCHZMIN385 set Zmax $DCHZMAX386 387 # gas mix option:388 # 0: Helium 90% - Isobutane 10%389 # 1: Helium 100%390 # 2: Argon 50% - Ethane 50%391 # 3: Argon 100%392 393 set GasOption 0394 395 }396 397 398 ########################################399 # Time Smearing MIP400 ########################################401 402 module TimeSmearing TimeSmearing {403 set InputArray ClusterCounting/tracks404 set OutputArray tracks405 406 # assume constant 30 ps resolution for now407 set TimeResolution {408 (abs(eta) > 0.0 && abs(eta) <= 3.0)* 30E-12409 }410 }411 412 413 ########################################414 # Time Of Flight Measurement415 ########################################416 417 module TimeOfFlight TimeOfFlight {418 set InputArray TimeSmearing/tracks419 set VertexInputArray TruthVertexFinder/vertices420 421 set OutputArray tracks422 423 # 0: assume vertex time tV from MC Truth (ideal case)424 # 1: assume vertex time tV = 0425 # 2: calculate vertex time as vertex TOF, assuming tPV=0426 427 set VertexTimeMode 0428 }429 430 ##############431 # Track merger432 ##############433 434 193 module Merger TrackMerger { 435 194 # add InputArray InputArray 436 add InputArray TimeOfFlight/tracks 195 add InputArray ChargedHadronMomentumSmearing/chargedHadrons 196 add InputArray ElectronMomentumSmearing/electrons 197 add InputArray MuonMomentumSmearing/muons 437 198 set OutputArray tracks 438 199 } 439 200 440 201 441 ###################### 442 # Looper Selection 443 ###################### 444 445 module Efficiency ForwardLooperTracks { 446 set InputArray TrackMerger/tracks 447 set OutputArray tracks 448 set UseMomentumVector False 449 450 ## select looping tracks that end up in position |eta| > 3.142 (lost by calo) 451 set EfficiencyFormula { 452 (abs(eta) > 3.0 ) * (1.000) + 453 (abs(eta) <= 3.0 ) * (0.000) 454 } 455 456 } 457 458 459 ############# 460 # Calorimeter 461 ############# 202 ############# 203 # Calorimeter 204 ############# 462 205 module DualReadoutCalorimeter Calorimeter { 463 206 set ParticleInputArray ParticlePropagator/stableParticles … … 473 216 set ECalEnergyMin 0.5 474 217 set HCalEnergyMin 0.5 475 set ECalEnergySignificanceMin 3.0476 set HCalEnergySignificanceMin 3.0477 478 218 set EnergyMin 0.5 479 set EnergySignificanceMin 3.0 480 481 #set SmearTowerCenter true 482 set SmearTowerCenter false 219 set ECalEnergySignificanceMin 1.0 220 set HCalEnergySignificanceMin 1.0 221 set EnergySignificanceMin 1.0 222 223 set SmearTowerCenter true 483 224 set pi [expr {acos(-1)}] 484 225 485 # Lists of the edges of each tower in eta and phi; 486 # each list starts with the lower edge of the first tower; 487 # the list ends with the higher edged of the last tower. 488 # Barrel: deta=0.02 towers up to |eta| <= 0.88 ( up to 45°) 489 # Endcaps: deta=0.02 towers up to |eta| <= 3.0 (8.6° = 100 mrad) 490 # Cell size: about 6 cm x 6 cm 491 492 #barrel: 226 # Lists of the edges of each tower in eta and phi; 227 # each list starts with the lower edge of the first tower; 228 # the list ends with the higher edged of the last tower. 229 # Barrel: deta=0.02 towers up to |eta| <= 0.88 ( up to 45°) 230 # Endcaps: deta=0.02 towers up to |eta| <= 3.0 (8.6° = 100 mrad) 231 # Cell size: about 6 cm x 6 cm 232 233 #barrel: 493 234 set PhiBins {} 494 235 for {set i -120} {$i <= 120} {incr i} { 495 236 add PhiBins [expr {$i * $pi/120}] 496 237 } 497 #deta=0.02 units for |eta| <= 0.88 238 #deta=0.02 units for |eta| <= 0.88 498 239 for {set i -44} {$i < 45} {incr i} { 499 240 set eta [expr {$i * 0.02}] … … 501 242 } 502 243 503 #endcaps: 244 #endcaps: 504 245 set PhiBins {} 505 246 for {set i -120} {$i <= 120} {incr i} { 506 247 add PhiBins [expr {$i* $pi/120}] 507 248 } 508 #deta=0.02 units for 0.88 < |eta| <= 3.0 509 #first, from -3.0 to -0.88 510 for {set i 0} {$i <=106} {incr i} {249 #deta=0.02 units for 0.88 < |eta| <= 3.0 250 #first, from -3.0 to -0.88 251 for {set i 1} {$i <=106} {incr i} { 511 252 set eta [expr {-3.00 + $i * 0.02}] 512 253 add EtaPhiBins $eta $PhiBins 513 254 } 514 #same for 0.88 to 3.0 255 #same for 0.88 to 3.0 515 256 for {set i 1} {$i <=106} {incr i} { 516 257 set eta [expr {0.88 + $i * 0.02}] … … 518 259 } 519 260 520 # default energy fractions {abs(PDG code)} {Fecal Fhcal} 261 # default energy fractions {abs(PDG code)} {Fecal Fhcal} 521 262 add EnergyFraction {0} {0.0 1.0} 522 # energy fractions for e, gamma and pi0 263 # energy fractions for e, gamma and pi0 523 264 add EnergyFraction {11} {1.0 0.0} 524 265 add EnergyFraction {22} {1.0 0.0} 525 266 add EnergyFraction {111} {1.0 0.0} 526 # energy fractions for muon, neutrinos and neutralinos 267 # energy fractions for muon, neutrinos and neutralinos 527 268 add EnergyFraction {12} {0.0 0.0} 528 269 add EnergyFraction {13} {0.0 0.0} … … 534 275 add EnergyFraction {1000035} {0.0 0.0} 535 276 add EnergyFraction {1000045} {0.0 0.0} 536 # energy fractions for K0short and Lambda 277 # energy fractions for K0short and Lambda 537 278 add EnergyFraction {310} {0.3 0.7} 538 add EnergyFraction {130} {0.3 0.7}539 279 add EnergyFraction {3122} {0.3 0.7} 540 280 541 281 542 # set ECalResolutionFormula {resolution formula as a function of eta and energy} 282 # set ECalResolutionFormula {resolution formula as a function of eta and energy} 543 283 set ECalResolutionFormula { 544 284 (abs(eta) <= 0.88 ) * sqrt(energy^2*0.01^2 + energy*0.11^2)+ … … 546 286 } 547 287 548 # set HCalResolutionFormula {resolution formula as a function of eta and energy} 288 # set HCalResolutionFormula {resolution formula as a function of eta and energy} 549 289 set HCalResolutionFormula { 550 290 (abs(eta) <= 0.88 ) * sqrt(energy^2*0.01^2 + energy*0.30^2)+ … … 553 293 } 554 294 555 ########################################556 # Time Smearing Neutrals557 ########################################558 559 module TimeSmearing TimeSmearingNeutrals {560 set InputArray Calorimeter/eflowNeutralHadrons561 set OutputArray eflowNeutralHadrons562 563 # assume constant 30 ps resolution for now564 set TimeResolution {565 (abs(eta) > 0.0 && abs(eta) <= 3.0)* 30E-12566 }567 }568 569 ########################################570 # Time Of Flight Measurement571 ########################################572 573 module TimeOfFlight TimeOfFlightNeutralHadron {574 set InputArray TimeSmearingNeutrals/eflowNeutralHadrons575 set VertexInputArray TruthVertexFinder/vertices576 577 set OutputArray eflowNeutralHadrons578 579 # 0: assume vertex time tV from MC Truth (ideal case)580 # 1: assume vertex time tV = 0581 # 2: calculate vertex time as vertex TOF, assuming tPV=0582 583 ## TBF (add option to take hard vertex time)584 set VertexTimeMode 1585 }586 587 588 ############################589 # Energy flow track merger590 ############################591 592 module Merger EFlowTrackMerger {593 # add InputArray InputArray594 add InputArray Calorimeter/eflowTracks595 add InputArray ForwardLooperTracks/tracks596 set OutputArray eflowTracks597 }598 599 600 601 295 #################### 602 296 # Energy flow merger … … 605 299 module Merger EFlowMerger { 606 300 # add InputArray InputArray 607 add InputArray EFlowTrackMerger/eflowTracks301 add InputArray Calorimeter/eflowTracks 608 302 add InputArray Calorimeter/eflowPhotons 609 add InputArray TimeOfFlightNeutralHadron/eflowNeutralHadrons303 add InputArray Calorimeter/eflowNeutralHadrons 610 304 set OutputArray eflow 611 305 } 612 613 306 614 307 ################### … … 644 337 set PTMin 0.5 645 338 646 set PTRatioMax 999 9.339 set PTRatioMax 999. 647 340 } 648 341 … … 652 345 653 346 module PdgCodeFilter ElectronFilter { 654 set InputArray EFlowTrackMerger/eflowTracks347 set InputArray Calorimeter/eflowTracks 655 348 set OutputArray electrons 656 349 set Invert true … … 659 352 } 660 353 661 #################662 # Muon filter663 #################664 665 module PdgCodeFilter MuonFilter {666 set InputArray EFlowTrackMerger/eflowTracks667 set OutputArray muons668 set Invert true669 add PdgCode {13}670 add PdgCode {-13}671 }672 673 674 354 ##################### 675 355 # Electron efficiency … … 683 363 684 364 # efficiency formula for electrons 685 set EfficiencyFormula { 365 set EfficiencyFormula { 686 366 (energy < 2.0) * (0.000)+ 687 367 (energy >= 2.0) * (abs(eta) <= 0.88) * (0.99) + … … 705 385 set PTMin 0.5 706 386 707 set PTRatioMax 9999387 set PTRatioMax 0.12 708 388 } 709 389 … … 713 393 714 394 module Efficiency MuonEfficiency { 715 set InputArray Muon Filter/muons395 set InputArray MuonMomentumSmearing/muons 716 396 set OutputArray muons 717 397 … … 719 399 720 400 # efficiency formula for muons 721 set EfficiencyFormula { 401 set EfficiencyFormula { 722 402 (energy < 2.0) * (0.000)+ 723 403 (energy >= 2.0) * (abs(eta) <= 0.88) * (0.99) + … … 741 421 set PTMin 0.5 742 422 743 set PTRatioMax 9999.423 set PTRatioMax 0.25 744 424 } 745 425 … … 793 473 module FastJetFinder GenJetFinder { 794 474 set InputArray NeutrinoFilter/filteredParticles 475 795 476 set OutputArray jets 796 477 797 set JetAlgorithm 10798 set ParameterR 1.5799 set Parameter P -1.0478 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt 479 set JetAlgorithm 6 480 set ParameterR 0.4 800 481 set JetPTMin 1.0 801 802 482 } 803 483 … … 824 504 825 505 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt 826 set JetAlgorithm 10 827 set ParameterR 1.5 828 set ParameterP -1.0 506 set JetAlgorithm 6 507 set ParameterR 0.4 829 508 set JetPTMin 1.0 830 831 832 509 } 833 510 … … 841 518 842 519 # scale formula for jets 843 set ScaleFormula {1.0 0}520 set ScaleFormula {1.08} 844 521 } 845 522 … … 870 547 871 548 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt} 872 549 873 550 # default efficiency formula (misidentification rate) 874 551 add EfficiencyFormula {0} {0.01} … … 901 578 902 579 580 ##################################################### 581 # Find uniquely identified photons/electrons/tau/jets 582 ##################################################### 583 584 module UniqueObjectFinder UniqueObjectFinder { 585 # earlier arrays take precedence over later ones 586 # add InputArray InputArray OutputArray 587 add InputArray PhotonIsolation/photons photons 588 add InputArray ElectronIsolation/electrons electrons 589 add InputArray MuonIsolation/muons muons 590 add InputArray JetEnergyScale/jets jets 591 } 592 593 903 594 904 595 ################## … … 912 603 module TreeWriter TreeWriter { 913 604 # add Branch InputArray BranchName BranchClass 914 605 915 606 add Branch Delphes/allParticles Particle GenParticle 916 add Branch TruthVertexFinder/vertices GenVertex Vertex 917 918 add Branch EFlowTrackMerger/eflowTracks EFlowTrack Track 919 add Branch TrackSmearing/tracks Track Track 607 608 add Branch TrackMerger/tracks Track Track 609 add Branch Calorimeter/towers Tower Tower 610 611 add Branch Calorimeter/eflowTracks EFlowTrack Track 920 612 add Branch Calorimeter/eflowPhotons EFlowPhoton Tower 921 add Branch TimeOfFlightNeutralHadron/eflowNeutralHadrons EFlowNeutralHadron Tower 922 923 add Branch EFlowMerger/eflow ParticleFlowCandidate ParticleFlowCandidate 924 925 add Branch ElectronEfficiency/electrons Electron Electron 926 add Branch MuonEfficiency/muons Muon Muon 927 add Branch PhotonEfficiency/photons Photon Photon 928 929 add Branch JetEnergyScale/jets Jet Jet 930 add Branch MissingET/momentum MissingET MissingET 931 613 add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower 614 615 add Branch Calorimeter/photons CaloPhoton Photon 616 add Branch PhotonEfficiency/photons PhotonEff Photon 617 add Branch PhotonIsolation/photons PhotonIso Photon 618 932 619 add Branch GenJetFinder/jets GenJet Jet 933 620 add Branch GenMissingET/momentum GenMissingET MissingET 934 935 # add Info InfoName InfoValue 936 add Info Bz $B 937 } 621 622 add Branch UniqueObjectFinder/jets Jet Jet 623 add Branch UniqueObjectFinder/electrons Electron Electron 624 add Branch UniqueObjectFinder/photons Photon Photon 625 add Branch UniqueObjectFinder/muons Muon Muon 626 627 add Branch JetEnergyScale/jets AntiKtJet Jet 628 629 add Branch MissingET/momentum MissingET MissingET 630 add Branch ScalarHT/energy ScalarHT ScalarHT 631 } 632 -
classes/CMakeLists.txt
rd612dec ra5af1df 9 9 list(REMOVE_ITEM headers ${CMAKE_CURRENT_SOURCE_DIR}/ClassesLinkDef.h) 10 10 11 # the macro invocation for ROOT6 ensures that the headers are relocatable 12 if (NOT ${ROOT_VERSION} VERSION_LESS "6.0.0") 13 DELPHES_GENERATE_DICTIONARY(ClassesDict 14 classes/DelphesModule.h 15 classes/DelphesFactory.h 16 classes/SortableObject.h 17 classes/DelphesClasses.h 18 LINKDEF ClassesLinkDef.h 19 ) 20 else() 21 # for ROOT5 the above fails, keep the following as workaround 22 DELPHES_GENERATE_DICTIONARY(ClassesDict 11 DELPHES_GENERATE_DICTIONARY(ClassesDict 23 12 ${CMAKE_CURRENT_SOURCE_DIR}/DelphesModule.h 24 13 ${CMAKE_CURRENT_SOURCE_DIR}/DelphesFactory.h 25 14 ${CMAKE_CURRENT_SOURCE_DIR}/SortableObject.h 26 15 ${CMAKE_CURRENT_SOURCE_DIR}/DelphesClasses.h 27 LINKDEF ClassesLinkDef.h 28 ) 29 endif() 16 LINKDEF ClassesLinkDef.h 17 ) 30 18 31 19 add_library(classes OBJECT ${sources} ClassesDict.cxx) -
classes/ClassesLinkDef.h
rd612dec ra5af1df 62 62 #pragma link C++ class Track+; 63 63 #pragma link C++ class Tower+; 64 #pragma link C++ class ParticleFlowCandidate+;65 64 #pragma link C++ class HectorHit+; 66 65 -
classes/DelphesClasses.cc
rd612dec ra5af1df 28 28 29 29 #include "classes/DelphesClasses.h" 30 30 31 #include "classes/DelphesFactory.h" 31 32 #include "classes/SortableObject.h" … … 39 40 CompBase *Track::fgCompare = CompPT<Track>::Instance(); 40 41 CompBase *Tower::fgCompare = CompE<Tower>::Instance(); 41 CompBase *ParticleFlowCandidate::fgCompare = CompE<ParticleFlowCandidate>::Instance();42 42 CompBase *HectorHit::fgCompare = CompE<HectorHit>::Instance(); 43 43 CompBase *Vertex::fgCompare = CompSumPT2<Vertex>::Instance(); … … 104 104 { 105 105 TLorentzVector vec; 106 vec.SetPtEtaPhiM(PT, Eta, Phi, Mass); 107 return vec; 108 } 109 110 //------------------------------------------------------------------------------ 111 112 TMatrixDSym Track::CovarianceMatrix() const 113 { 114 TMatrixDSym Cv; 115 Cv.ResizeTo(5, 5); 116 117 // convert diagonal term to original units 118 Cv(0, 0)=TMath::Power(ErrorD0, 2.); 119 Cv(1, 1)=TMath::Power(ErrorPhi, 2.); 120 Cv(2, 2)=TMath::Power(ErrorC, 2.); 121 Cv(3, 3)=TMath::Power(ErrorDZ, 2.); 122 Cv(4, 4)=TMath::Power(ErrorCtgTheta, 2.); 123 124 // off diagonal terms 125 Cv(0, 1)=ErrorD0Phi; 126 Cv(0, 2)=ErrorD0C; 127 Cv(0, 3)=ErrorD0DZ; 128 Cv(0, 4)=ErrorD0CtgTheta; 129 Cv(1, 2)=ErrorPhiC; 130 Cv(1, 3)=ErrorPhiDZ; 131 Cv(1, 4)=ErrorPhiCtgTheta; 132 Cv(2, 3)=ErrorCDZ; 133 Cv(2, 4)=ErrorCCtgTheta; 134 Cv(3, 4)=ErrorDZCtgTheta; 135 136 Cv(1, 0)=Cv(0, 1); 137 Cv(2, 0)=Cv(0, 2); 138 Cv(3, 0)=Cv(0, 3); 139 Cv(4, 0)=Cv(0, 4); 140 Cv(2, 1)=Cv(1, 2); 141 Cv(3, 1)=Cv(1, 3); 142 Cv(4, 1)=Cv(1, 4); 143 Cv(3, 2)=Cv(2, 3); 144 Cv(4, 2)=Cv(2, 4); 145 Cv(4, 3)=Cv(3, 4); 146 147 return Cv; 148 } 149 106 vec.SetPtEtaPhiM(PT, Eta, Phi, 0.0); 107 return vec; 108 } 150 109 151 110 //------------------------------------------------------------------------------ … … 156 115 vec.SetPtEtaPhiM(ET, Eta, Phi, 0.0); 157 116 return vec; 158 }159 160 //------------------------------------------------------------------------------161 162 TLorentzVector ParticleFlowCandidate::P4() const163 {164 TLorentzVector vec;165 vec.SetPtEtaPhiM(PT, Eta, Phi, Mass);166 return vec;167 }168 169 //------------------------------------------------------------------------------170 171 TMatrixDSym ParticleFlowCandidate::CovarianceMatrix() const172 {173 TMatrixDSym Cv;174 Cv.ResizeTo(5, 5);175 176 // convert diagonal term to original units177 Cv(0, 0)=TMath::Power(ErrorD0, 2.);178 Cv(1, 1)=TMath::Power(ErrorPhi, 2.);179 Cv(2, 2)=TMath::Power(ErrorC, 2.);180 Cv(3, 3)=TMath::Power(ErrorDZ, 2.);181 Cv(4, 4)=TMath::Power(ErrorCtgTheta, 2.);182 183 // off diagonal terms184 Cv(0, 1)=ErrorD0Phi;185 Cv(0, 2)=ErrorD0C;186 Cv(0, 3)=ErrorD0DZ;187 Cv(0, 4)=ErrorD0CtgTheta;188 Cv(1, 2)=ErrorPhiC;189 Cv(1, 3)=ErrorPhiDZ;190 Cv(1, 4)=ErrorPhiCtgTheta;191 Cv(2, 3)=ErrorCDZ;192 Cv(2, 4)=ErrorCCtgTheta;193 Cv(3, 4)=ErrorDZCtgTheta;194 195 Cv(1, 0)=Cv(0, 1);196 Cv(2, 0)=Cv(0, 2);197 Cv(3, 0)=Cv(0, 3);198 Cv(4, 0)=Cv(0, 4);199 Cv(2, 1)=Cv(1, 2);200 Cv(3, 1)=Cv(1, 3);201 Cv(4, 1)=Cv(1, 4);202 Cv(3, 2)=Cv(2, 3);203 Cv(4, 2)=Cv(2, 4);204 Cv(4, 3)=Cv(3, 4);205 206 return Cv;207 117 } 208 118 … … 215 125 Flavor(0), FlavorAlgo(0), FlavorPhys(0), 216 126 BTag(0), BTagAlgo(0), BTagPhys(0), 217 TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0), Etrk(0.0),127 TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0), 218 128 DeltaEta(0.0), DeltaPhi(0.0), 219 129 Momentum(0.0, 0.0, 0.0, 0.0), … … 223 133 PositionError(0.0, 0.0, 0.0, 0.0), 224 134 Area(0.0, 0.0, 0.0, 0.0), 225 TrackCovariance(5),226 135 L(0), 227 136 D0(0), ErrorD0(0), 228 137 DZ(0), ErrorDZ(0), 229 138 P(0), ErrorP(0), 230 C(0), ErrorC(0),231 139 PT(0), ErrorPT(0), 232 140 CtgTheta(0), ErrorCtgTheta(0), 233 141 Phi(0), ErrorPhi(0), 234 142 Xd(0), Yd(0), Zd(0), 235 Nclusters(0.0),236 dNdx(0.0),237 143 TrackResolution(0), 238 144 NCharged(0), 239 145 NNeutrals(0), 240 NeutralEnergyFraction(0), // charged energy fraction241 ChargedEnergyFraction(0), // neutral energy fraction242 146 Beta(0), 243 147 BetaStar(0), … … 259 163 ExclYmerge45(0), 260 164 ExclYmerge56(0), 261 ParticleDensity(0),262 165 fFactory(0), 263 166 fArray(0) … … 381 284 object.Eem = Eem; 382 285 object.Ehad = Ehad; 383 object.Etrk = Etrk;384 286 object.Edges[0] = Edges[0]; 385 287 object.Edges[1] = Edges[1]; … … 402 304 object.P = P; 403 305 object.ErrorP = ErrorP; 404 object.C = C;405 object.ErrorC = ErrorC;406 306 object.PT = PT; 407 307 object.ErrorPT = ErrorPT; … … 413 313 object.Yd = Yd; 414 314 object.Zd = Zd; 415 object.Nclusters = Nclusters;416 object.dNdx = dNdx;417 315 object.TrackResolution = TrackResolution; 418 316 object.NCharged = NCharged; 419 317 object.NNeutrals = NNeutrals; 420 object.NeutralEnergyFraction = NeutralEnergyFraction;421 object.ChargedEnergyFraction = ChargedEnergyFraction;422 318 object.Beta = Beta; 423 319 object.BetaStar = BetaStar; … … 470 366 object.SoftDroppedSubJet1 = SoftDroppedSubJet1; 471 367 object.SoftDroppedSubJet2 = SoftDroppedSubJet2; 472 object.TrackCovariance = TrackCovariance; 368 473 369 object.fFactory = fFactory; 474 370 object.fArray = 0; … … 517 413 Eem = 0.0; 518 414 Ehad = 0.0; 519 Etrk = 0.0;520 415 Edges[0] = 0.0; 521 416 Edges[1] = 0.0; … … 529 424 DecayPosition.SetXYZT(0.0, 0.0, 0.0, 0.0); 530 425 Area.SetXYZT(0.0, 0.0, 0.0, 0.0); 531 TrackCovariance.Zero();532 426 L = 0.0; 533 427 ErrorT = 0.0; … … 538 432 P = 0.0; 539 433 ErrorP = 0.0; 540 C = 0.0;541 ErrorC = 0.0;542 434 PT = 0.0; 543 435 ErrorPT = 0.0; … … 549 441 Yd = 0.0; 550 442 Zd = 0.0; 551 Nclusters = 0.0;552 dNdx = 0.0;553 443 TrackResolution = 0.0; 554 444 NCharged = 0; -
classes/DelphesClasses.h
rd612dec ra5af1df 33 33 34 34 #include "TLorentzVector.h" 35 #include "TMatrixDSym.h"36 35 #include "TObject.h" 37 36 #include "TRef.h" … … 151 150 Float_t Eta; // particle pseudorapidity 152 151 Float_t Phi; // particle azimuthal angle 152 153 153 Float_t Rapidity; // particle rapidity 154 Float_t CtgTheta; // particle cotangent of theta 155 156 Float_t D0; // particle transverse impact parameter 157 Float_t DZ; // particle longitudinal impact parameter 154 158 155 159 Float_t T; // particle vertex position (t component) | hepevt.vhep[number][3] … … 390 394 Int_t NCharged; // number of charged constituents 391 395 Int_t NNeutrals; // number of neutral constituents 392 393 Float_t NeutralEnergyFraction; // charged energy fraction394 Float_t ChargedEnergyFraction; // neutral energy fraction395 396 396 Float_t Beta; // (sum pt of charged pile-up constituents)/(sum pt of charged constituents) 397 397 Float_t BetaStar; // (sum pt of charged constituents coming from hard interaction)/(sum pt of charged constituents) … … 445 445 Float_t Phi; // track azimuthal angle 446 446 Float_t CtgTheta; // track cotangent of theta 447 Float_t C; // track curvature inverse448 Float_t Mass; // particle mass449 447 450 448 Float_t EtaOuter; // track pseudorapidity at the tracker edge … … 468 466 Float_t D0; // track transverse impact parameter 469 467 Float_t DZ; // track longitudinal impact parameter 470 Float_t Nclusters; // Number of ionization clusters471 Float_t dNdx; // Number of ionization clusters472 468 473 469 Float_t ErrorP; // track momentum error … … 479 475 Float_t ErrorD0; // track transverse impact parameter error 480 476 Float_t ErrorDZ; // track longitudinal impact parameter error 481 Float_t ErrorC; // track curvature error482 483 // track covariance off-diagonal terms484 Float_t ErrorD0Phi;485 Float_t ErrorD0C;486 Float_t ErrorD0DZ;487 Float_t ErrorD0CtgTheta;488 Float_t ErrorPhiC;489 Float_t ErrorPhiDZ;490 Float_t ErrorPhiCtgTheta ;491 Float_t ErrorCDZ;492 Float_t ErrorCCtgTheta;493 Float_t ErrorDZCtgTheta;494 477 495 478 TRef Particle; // reference to generated particle … … 501 484 502 485 TLorentzVector P4() const; 503 TMatrixDSym CovarianceMatrix() const;504 486 505 487 ClassDef(Track, 3) … … 522 504 Float_t Eem; // calorimeter tower electromagnetic energy 523 505 Float_t Ehad; // calorimeter tower hadronic energy 524 Float_t Etrk; // total charged energy hitting tower525 506 526 507 Float_t Edges[4]; // calorimeter tower edges … … 533 514 TLorentzVector P4() const; 534 515 535 ClassDef(Tower, 3) 536 }; 537 538 //--------------------------------------------------------------------------- 539 540 class ParticleFlowCandidate: public SortableObject 541 { 542 543 public: 544 Int_t PID; // HEP ID number 545 546 Int_t Charge; // track charge 547 548 Float_t E; // reconstructed energy [GeV] 549 Float_t P; // track momentum 550 Float_t PT; // track transverse momentum 551 Float_t Eta; // track pseudorapidity 552 Float_t Phi; // track azimuthal angle 553 Float_t CtgTheta; // track cotangent of theta 554 Float_t C; // track curvature inverse 555 Float_t Mass; // particle mass 556 557 Float_t EtaOuter; // track pseudorapidity at the tracker edge 558 Float_t PhiOuter; // track azimuthal angle at the tracker edge 559 560 Float_t T; // track vertex position (t component) 561 Float_t X; // track vertex position (x component) 562 Float_t Y; // track vertex position (y component) 563 Float_t Z; // track vertex position (z component) 564 565 Float_t TOuter; // track position (t component) at the tracker edge 566 Float_t XOuter; // track position (x component) at the tracker edge 567 Float_t YOuter; // track position (y component) at the tracker edge 568 Float_t ZOuter; // track position (z component) at the tracker edge 569 570 Float_t Xd; // X coordinate of point of closest approach to vertex 571 Float_t Yd; // Y coordinate of point of closest approach to vertex 572 Float_t Zd; // Z coordinate of point of closest approach to vertex 573 574 Float_t L; // track path length 575 Float_t D0; // track transverse impact parameter 576 Float_t DZ; // track longitudinal impact parameter 577 Float_t Nclusters; // Number of ionization clusters 578 Float_t dNdx; // Number of ionization clusters 579 580 Float_t ErrorP; // track momentum error 581 Float_t ErrorPT; // track transverse momentum error 582 Float_t ErrorPhi; // track azimuthal angle error 583 Float_t ErrorCtgTheta; // track cotangent of theta error 584 585 Float_t ErrorT; // time measurement error 586 Float_t ErrorD0; // track transverse impact parameter error 587 Float_t ErrorDZ; // track longitudinal impact parameter error 588 Float_t ErrorC; // track curvature error 589 590 // track covariance off-diagonal terms 591 Float_t ErrorD0Phi; 592 Float_t ErrorD0C; 593 Float_t ErrorD0DZ; 594 Float_t ErrorD0CtgTheta; 595 Float_t ErrorPhiC; 596 Float_t ErrorPhiDZ; 597 Float_t ErrorPhiCtgTheta ; 598 Float_t ErrorCDZ; 599 Float_t ErrorCCtgTheta; 600 Float_t ErrorDZCtgTheta; 601 602 Int_t VertexIndex; // reference to vertex 603 604 static CompBase *fgCompare; //! 605 const CompBase *GetCompare() const { return fgCompare; } 606 607 TLorentzVector P4() const; 608 TMatrixDSym CovarianceMatrix() const; 609 610 Int_t NTimeHits; // number of hits contributing to time measurement 611 612 Float_t Eem; // calorimeter tower electromagnetic energy 613 Float_t Ehad; // calorimeter tower hadronic energy 614 Float_t Etrk; // total charged energy hitting tower 615 616 Float_t Edges[4]; // calorimeter tower edges 617 618 TRefArray Particles; // references to generated particles 619 620 ClassDef(ParticleFlowCandidate, 3) 621 516 ClassDef(Tower, 2) 622 517 }; 623 518 … … 715 610 Float_t Eem; 716 611 Float_t Ehad; 717 Float_t Etrk;718 612 719 613 Float_t Edges[4]; … … 724 618 725 619 Float_t L; // path length 726 Float_t DZ;727 Float_t ErrorDZ;728 620 Float_t ErrorT; // path length 729 621 Float_t D0; 730 622 Float_t ErrorD0; 731 Float_t C;732 Float_t Error C;623 Float_t DZ; 624 Float_t ErrorDZ; 733 625 Float_t P; 734 626 Float_t ErrorP; … … 740 632 Float_t ErrorPhi; 741 633 742 Float_t Nclusters; // Number of ionization clusters743 Float_t dNdx; // Number of ionization clusters per unit length744 745 634 Float_t Xd; 746 635 Float_t Yd; … … 760 649 Float_t PTD; 761 650 Float_t FracPt[5]; 762 Float_t NeutralEnergyFraction; // charged energy fraction763 Float_t ChargedEnergyFraction; // neutral energy fraction764 765 651 766 652 // Timing information … … 777 663 Float_t SumPtChargedPU; 778 664 Float_t SumPt; 779 780 // ACTS compliant 6x6 track covariance (D0, phi, Curvature, dz, ctg(theta))781 782 TMatrixDSym TrackCovariance;783 665 784 666 // vertex variables … … 816 698 Double_t ExclYmerge56; 817 699 818 // event characteristics variables819 Double_t ParticleDensity; // particle multiplicity density in the proximity of the particle820 821 700 static CompBase *fgCompare; //! 822 701 const CompBase *GetCompare() const { return fgCompare; } -
classes/DelphesFormula.cc
rd612dec ra5af1df 18 18 19 19 #include "classes/DelphesFormula.h" 20 #include "classes/DelphesClasses.h"21 20 22 21 #include "TString.h" … … 64 63 buffer.ReplaceAll("dz", "[1]"); 65 64 buffer.ReplaceAll("ctgTheta", "[2]"); 66 buffer.ReplaceAll("radius", "[3]");67 buffer.ReplaceAll("density", "[4]");68 65 69 66 #if ROOT_VERSION_CODE < ROOT_VERSION(6, 3, 0) … … 80 77 //------------------------------------------------------------------------------ 81 78 82 Double_t DelphesFormula::Eval(Double_t pt, Double_t eta, Double_t phi, Double_t energy, Candidate *candidate) 79 Double_t DelphesFormula::Eval(Double_t pt, Double_t eta, Double_t phi, 80 Double_t energy, Double_t d0, Double_t dz, 81 Double_t ctgTheta) 83 82 { 84 85 Double_t d0 = 0., dz = 0., ctgTheta = 0., radius = 0., density = 0.;86 if (candidate) {87 d0 = candidate->D0;88 dz = candidate->DZ;89 ctgTheta = candidate->CtgTheta;90 radius = candidate->Position.Pt();91 density = candidate->ParticleDensity;92 }93 94 83 Double_t x[4] = {pt, eta, phi, energy}; 95 Double_t params[ 5] = {d0, dz, ctgTheta, radius, density};84 Double_t params[3] = {d0, dz, ctgTheta}; 96 85 return EvalPar(x, params); 97 86 } -
classes/DelphesFormula.h
rd612dec ra5af1df 22 22 #include "TFormula.h" 23 23 24 class Candidate;25 26 24 class DelphesFormula: public TFormula 27 25 { … … 35 33 Int_t Compile(const char *expression); 36 34 37 Double_t Eval(Double_t pt, Double_t eta = 0, Double_t phi = 0, Double_t energy = 0, Candidate *candidate = nullptr); 35 Double_t Eval(Double_t pt, Double_t eta = 0, Double_t phi = 0, 36 Double_t energy = 0, Double_t d0 = 0, Double_t dz = 0, 37 Double_t ctgTheta = 0); 38 38 }; 39 39 -
classes/DelphesModule.cc
rd612dec ra5af1df 130 130 //------------------------------------------------------------------------------ 131 131 132 void DelphesModule::AddInfo(const char *name, Double_t value)133 {134 stringstream message;135 if(!fTreeWriter)136 {137 fTreeWriter = static_cast<ExRootTreeWriter *>(GetObject("TreeWriter", ExRootTreeWriter::Class()));138 if(!fTreeWriter)139 {140 message << "can't access access tree writer";141 throw runtime_error(message.str());142 }143 }144 fTreeWriter->AddInfo(name, value);145 }146 147 //------------------------------------------------------------------------------148 149 132 ExRootResult *DelphesModule::GetPlots() 150 133 { -
classes/DelphesModule.h
rd612dec ra5af1df 55 55 56 56 ExRootTreeBranch *NewBranch(const char *name, TClass *cl); 57 void AddInfo(const char *name, Double_t value);58 57 59 58 ExRootResult *GetPlots(); -
classes/DelphesStream.cc
rd612dec ra5af1df 106 106 107 107 //------------------------------------------------------------------------------ 108 109 bool DelphesStream::FindChr(int value)110 {111 char *position;112 bool result = false;113 114 position = strchr(fBuffer, value);115 116 if(position)117 {118 result = true;119 fBuffer = position + 1;120 }121 122 return result;123 }124 125 //------------------------------------------------------------------------------126 127 bool DelphesStream::FindStr(const char *value)128 {129 char *position;130 bool result = false;131 132 position = strstr(fBuffer, value);133 134 if(position)135 {136 result = true;137 fBuffer = position + strlen(value);138 }139 140 return result;141 }142 143 //------------------------------------------------------------------------------ -
classes/DelphesStream.h
rd612dec ra5af1df 35 35 bool ReadDbl(double &value); 36 36 bool ReadInt(int &value); 37 bool FindChr(int value);38 bool FindStr(const char *value);39 37 40 38 private: -
classes/DelphesTF2.cc
rd612dec ra5af1df 32 32 { 33 33 34 #if ROOT_VERSION_CODE >= ROOT_VERSION(6, 22, 7) 35 fFormula = std::unique_ptr<TFormula>(new TFormula()); 36 #elif ROOT_VERSION_CODE >= ROOT_VERSION(6, 3, 0) 34 #if ROOT_VERSION_CODE >= ROOT_VERSION(6, 3, 0) 37 35 fFormula = new TFormula(); 38 36 #endif -
converters/hepmc2pileup.cpp
rd612dec ra5af1df 35 35 #include "classes/DelphesClasses.h" 36 36 #include "classes/DelphesFactory.h" 37 #include "classes/DelphesHepMC 2Reader.h"37 #include "classes/DelphesHepMCReader.h" 38 38 #include "classes/DelphesPileUpWriter.h" 39 39 … … 65 65 Candidate *candidate = 0; 66 66 DelphesPileUpWriter *writer = 0; 67 DelphesHepMC 2Reader *reader = 0;67 DelphesHepMCReader *reader = 0; 68 68 Int_t i; 69 69 Long64_t length, eventCounter; … … 98 98 itParticle = stableParticleOutputArray->MakeIterator(); 99 99 100 reader = new DelphesHepMC 2Reader;100 reader = new DelphesHepMCReader; 101 101 102 102 i = 2; -
doc/Makefile.arch
rd612dec ra5af1df 39 39 OPT2 = -g 40 40 else 41 ifneq ($(findstring debug, $(strip $(shell $(RC) --config))),) 42 OPT = -g 43 OPT2 = -g 44 else 41 45 OPT = -O 42 46 OPT2 = -O2 47 endif 43 48 endif 44 49 … … 47 52 ROOTLIBS := $(shell $(RC) --libs) 48 53 ROOTGLIBS := $(shell $(RC) --glibs) 49 ROOTCLING := rootcling 54 HASTHREAD := $(shell $(RC) --has-thread) 55 ROOTCINT := rootcint 50 56 51 57 ifeq ($(PLATFORM),macosx) 52 ROOTLIBDIR := $(shell $(RC) --libdir) 53 MACOSX_MAJOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1)) 54 MACOSX_MINOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)) 58 MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2) 55 59 ifeq ($(MACOSX_DEPLOYMENT_TARGET),) 56 MACOSXTARGET := $(MACOSX_MAJOR).$(MACOSX_MINOR)60 MACOSXTARGET := 10.$(MACOSX_MINOR) 57 61 else 58 62 MACOSXTARGET := $(MACOSX_DEPLOYMENT_TARGET) … … 114 118 SOFLAGS = -shared 115 119 DllSuf = a 116 EXPLLINKLIBS = $(ROOT GLIBS)120 EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS) 117 121 endif 118 122 … … 142 146 LDFLAGS = $(OPT) 143 147 SOFLAGS = -G 148 endif 149 150 ifeq ($(ARCH),sgicc) 151 # SGI 152 CXX = CC -n32 -I/usr/include/CC.sgi 153 CXXFLAGS = $(OPT) 154 LD = CC -n32 -LANG:std -I/usr/include/CC.sgi 155 LDFLAGS = $(OPT) 156 SOFLAGS = -shared 157 endif 158 159 ifeq ($(ARCH),sgicc64) 160 # SGI 161 CXX = CC -64 -I/usr/include/CC.sgi 162 CXXFLAGS = $(OPT) 163 LD = CC -64 -LANG:std -I/usr/include/CC.sgi 164 LDFLAGS = $(OPT) 165 SOFLAGS = -shared 166 endif 167 168 ifeq ($(ARCH),sgigcc) 169 # SGI 6.x with gcc 170 CXX = g++ 171 CXXFLAGS = $(OPT) -Wall -fPIC 172 LD = g++ 173 LDFLAGS = $(OPT) -Wl,-u,__builtin_new -Wl,-u,__builtin_delete -Wl,-u,__nw__FUiPv 174 SOFLAGS = -shared 175 endif 176 177 ifeq ($(ARCH),sgin32gcc) 178 # SGI 6.x with gcc for n32 ABI 179 CXX = g++ 180 CXXFLAGS = $(OPT) -Wall -fPIC 181 LD = g++ 182 LDFLAGS = $(OPT) -L/usr/lib32 -Wl,-woff,134 -lgen 183 SOFLAGS = -shared 184 endif 185 186 ifeq ($(ARCH),alphagcc) 187 # Alpha/OSF with gcc 188 CXX = g++ 189 CXXFLAGS = $(OPT2) -Wall -fPIC 190 LD = g++ 191 LDFLAGS = $(OPT2) 192 SOFLAGS = -Wl,-expect_unresolved,* -shared 193 endif 194 195 ifeq ($(ARCH),alphacxx6) 196 # Alpha/OSF with cxx6 197 CXX = cxx 198 CXXFLAGS = $(OPT) 199 LD = cxx 200 LDFLAGS = $(OPT) 201 SOFLAGS = -shared -nocxxstd -Wl,-expect_unresolved,*,-msym 144 202 endif 145 203 … … 224 282 endif 225 283 284 ifeq ($(ARCH),linuxalphagcc) 285 # Alpha Linux with gcc 286 CXX = g++ 287 CXXFLAGS = $(OPT2) -Wall -fPIC 288 LD = g++ 289 LDFLAGS = $(OPT2) 290 SOFLAGS = -shared 291 endif 292 293 ifeq ($(ARCH),linuxmips) 294 # GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc 295 CXX = g++ 296 CXXFLAGS = $(OPT2) -Wall -fPIC 297 LD = g++ 298 LDFLAGS = $(OPT2) 299 SOFLAGS = -shared 300 endif 301 226 302 ifeq ($(ARCH),linuxhppa) 227 303 # GNU/Linux on hppa with gcc … … 242 318 endif 243 319 244 ifeq ($(ARCH),linuxarm64)245 # ARMv8-A (AArch64) Linux with gcc and glibc246 CXX = g++247 CXXFLAGS = $(OPT) -Wall -fPIC248 LD = g++249 LDFLAGS = $(OPT)250 SOFLAGS = -shared251 endif252 253 320 ifeq ($(ARCH),freebsd4) 254 321 # FreeBSD with glibc … … 293 360 LD = g++ 294 361 LDFLAGS = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) 295 EXPLLINKLIBS = $(ROOTGLIBS) 362 EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS) 363 # The SOFLAGS will be used to create the .dylib, 364 # the .so will be created separately 365 ifeq ($(subst $(MACOSX_MINOR),,1234),1234) 296 366 DllSuf = so 367 else 368 DllSuf = dylib 369 endif 370 ifneq ($(subst $(MACOSX_MINOR),,12),12) 371 LD = g++ 372 endif 297 373 SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/ 298 374 endif … … 300 376 ifeq ($(ARCH),macosxicc) 301 377 # MacOS X with Intel icc compiler 378 ifeq ($(MACOSX_MINOR),5) 379 MACOSX_MINOR := 4 380 endif 302 381 CXX = icc 303 382 CXXFLAGS = $(OPT) -fPIC -wd1476 304 383 LD = icpc 305 384 LDFLAGS = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) 306 EXPLLINKLIBS = $(ROOTGLIBS) 385 EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS) 386 # The SOFLAGS will be used to create the .dylib, 387 # the .so will be created separately 388 ifeq ($(subst $(MACOSX_MINOR),,1234),1234) 307 389 DllSuf = so 390 else 391 DllSuf = dylib 392 endif 308 393 SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/ 309 394 endif … … 315 400 CXXFLAGS = $(OPT2) -pipe -Wall -W -Woverloaded-virtual 316 401 LD = g++ 317 LDFLAGS = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) -Wl,-rpath,$(ROOTLIBDIR) 318 EXPLLINKLIBS = $(ROOTGLIBS) 402 LDFLAGS = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) 403 EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS) 404 # The SOFLAGS will be used to create the .dylib, 405 # the .so will be created separately 406 ifeq ($(subst $(MACOSX_MINOR),,1234),1234) 319 407 DllSuf = so 320 SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/ 321 endif 322 323 ifeq ($(ARCH),macosxarm64) 324 # Apple Silicon running macOS 11.x. 325 CXX = g++ 326 CXXFLAGS = $(OPT2) -pipe -Wall -W -Woverloaded-virtual 327 LD = g++ 328 LDFLAGS = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) -Wl,-rpath,$(ROOTLIBDIR) 329 EXPLLINKLIBS = $(ROOTGLIBS) 330 DllSuf = so 408 else 409 DllSuf = dylib 410 endif 331 411 SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/ 332 412 endif … … 346 426 LDOPT = -debug 347 427 else 428 ifneq ($(findstring debug, $(strip $(shell $(RC) --config))),) 429 CXXOPT = -Z7 430 LDOPT = -debug 431 else 348 432 CXXOPT = -O2 349 433 LDOPT = -opt:ref 434 endif 350 435 endif 351 436 ROOTINCDIR := -I$(shell cygpath -m `$(RC) --incdir`) … … 355 440 SOFLAGS = -DLL 356 441 357 EXPLLINKLIBS = $(ROOT GLIBS)442 EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS) 358 443 ifneq (,$(findstring $(VC_MAJOR),14 15)) 359 444 MT_EXE = mt -nologo -manifest $@.manifest -outputresource:$@\;1; rm -f $@.manifest … … 377 462 SOFLAGS = -shared -Wl,--enable-auto-image-base \ 378 463 -Wl,--export-all-symbols 379 EXPLLINKLIBS = $(ROOT GLIBS)464 EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS) 380 465 endif 381 466 … … 386 471 CXXFLAGS += $(ROOTCFLAGS) 387 472 LDFLAGS += $(ROOTLDFLAGS) 388 LIBS = $(ROOTLIBS) 389 GLIBS = $(ROOTGLIBS) 473 LIBS = $(ROOTLIBS) $(SYSLIBS) 474 GLIBS = $(ROOTGLIBS) $(SYSLIBS) 390 475 391 476 ifneq ($(ALTCC),) -
doc/genMakefile.tcl
rd612dec ra5af1df 282 282 DISPLAYLIB = libDelphesDisplay.lib 283 283 284 VERSION = x.y.z284 VERSION = $(shell cat VERSION) 285 285 DISTDIR = Delphes-$(VERSION) 286 286 DISTTAR = $(DISTDIR).tar.gz … … 292 292 executableDeps {converters/*.cpp} {examples/*.cpp} {validation/*.cpp} 293 293 294 executableDeps {readers/DelphesHepMC 2.cpp} {readers/DelphesHepMC3.cpp} {readers/DelphesLHEF.cpp} {readers/DelphesSTDHEP.cpp} {readers/DelphesROOT.cpp}294 executableDeps {readers/DelphesHepMC.cpp} {readers/DelphesLHEF.cpp} {readers/DelphesSTDHEP.cpp} {readers/DelphesROOT.cpp} 295 295 296 296 puts {ifeq ($(HAS_CMSSW),true)} … … 321 321 dictDeps {DISPLAY_DICT} {display/DisplayLinkDef.h} 322 322 323 sourceDeps {DELPHES} {classes/*.cc} {modules/*.cc} {external/ExRootAnalysis/*.cc} {external/Hector/*.cc} {external/TrackCovariance/*.cc}323 sourceDeps {DELPHES} {classes/*.cc} {modules/*.cc} {external/ExRootAnalysis/*.cc} {external/Hector/*.cc} 324 324 325 325 sourceDeps {FASTJET} {modules/FastJet*.cc} {modules/RunPUPPI.cc} {external/PUPPI/*.cc} {external/fastjet/*.cc} {external/fastjet/tools/*.cc} {external/fastjet/plugins/*/*.cc} {external/fastjet/contribs/*/*.cc} … … 346 346 @mkdir -p $(@D) 347 347 @echo ">> Building $@" 348 ifeq ($(ARCH),aix5) 349 @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^ 350 else 348 351 ifeq ($(PLATFORM),macosx) 352 # We need to make both the .dylib and the .so 349 353 @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 354 ifneq ($(subst $(MACOSX_MINOR),,1234),1234) 355 ifeq ($(MACOSX_MINOR),4) 356 @ln -sf $@ $(subst .$(DllSuf),.so,$@) 357 endif 358 endif 350 359 else 351 360 ifeq ($(PLATFORM),win32) … … 356 365 else 357 366 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 367 @$(MT_DLL) 368 endif 358 369 endif 359 370 endif … … 362 373 @mkdir -p $(@D) 363 374 @echo ">> Building $@" 375 ifeq ($(ARCH),aix5) 376 @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^ 377 else 364 378 ifeq ($(PLATFORM),macosx) 379 # We need to make both the .dylib and the .so 365 380 @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 381 ifneq ($(subst $(MACOSX_MINOR),,1234),1234) 382 ifeq ($(MACOSX_MINOR),4) 383 @ln -sf $@ $(subst .$(DllSuf),.so,$@) 384 endif 385 endif 366 386 else 367 387 ifeq ($(PLATFORM),win32) … … 372 392 else 373 393 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 394 @$(MT_DLL) 395 endif 374 396 endif 375 397 endif … … 378 400 @mkdir -p $(@D) 379 401 @echo ">> Building $@" 402 ifeq ($(ARCH),aix5) 403 @$(MAKESHARED) $(OutPutOpt) $@ $(DISPLAY_LIBS) -p 0 $^ 404 else 380 405 ifeq ($(PLATFORM),macosx) 406 # We need to make both the .dylib and the .so 381 407 @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS) 408 ifneq ($(subst $(MACOSX_MINOR),,1234),1234) 409 ifeq ($(MACOSX_MINOR),4) 410 @ln -sf $@ $(subst .$(DllSuf),.so,$@) 411 endif 412 endif 382 413 else 383 414 ifeq ($(PLATFORM),win32) … … 388 419 else 389 420 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS) 421 @$(MT_DLL) 422 endif 390 423 endif 391 424 endif … … 401 434 @echo ">> Building $(DISTTAR)" 402 435 @mkdir -p $(DISTDIR) 403 @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb Makefile MinBias.pileup configure cards classes cmakeconverters display doc examples external modules python readers validation $(DISTDIR)436 @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb VERSION Makefile MinBias.pileup configure cards classes converters display doc examples external modules python readers validation $(DISTDIR) 404 437 @find $(DISTDIR) -depth -name .\* -exec rm -rf {} \; 405 438 @tar -czf $(DISTTAR) $(DISTDIR) -
doc/update_fastjet.sh
rd612dec ra5af1df 1 version=3.3. 41 version=3.3.2 2 2 3 3 wget http://fastjet.fr/repo/fastjet-${version}.tar.gz … … 11 11 ./configure --enable-allcxxplugins --disable-auto-ptr 12 12 cd - 13 14 echo ${version} > fastjet/VERSION 13 15 14 16 cd fastjet -
examples/Example5.C
rd612dec ra5af1df 37 37 // Load selected branches with data from specified event 38 38 treeReader->ReadEntry(entry); 39 39 40 40 if(entry>10) break; 41 41 42 42 cout<<"" <<endl; 43 43 cout<<"--------- New Event ---------" <<endl; 44 44 cout<<"" <<endl; 45 45 46 46 // loop over all input particles in the event 47 47 for(Int_t i=0; i < branchParticle->GetEntriesFast(); i++) 48 { 49 GenParticle *gen = (GenParticle*) branchParticle->At(i); 50 cout<<"N: "<<i<<", St: "<<gen->Status<<", PID: "<<gen->PID<<", E: "<<gen->E<<", Px: "<<gen->Px<<", Py: "<<gen->Py<<", Pz: "<<gen->Pz<<", M: "<<gen->Mass<<", T: "<<gen->T<<", X: "<<gen->X<<", Y: "<<gen->Y<<", Z: "<<gen->Z<<",M1: "<<gen->M1<<", M2: "<<gen->M2<<", D1: "<<gen->D1<<", D2: "<<gen->D2<<endl;48 { 49 GenParticle *gen = (GenParticle*) branchParticle->At(i); 50 cout<<"N: "<<i<<", St: "<<gen->Status<<", PID: "<<gen->PID<<", E: "<<gen->E<<", Px: "<<gen->Px<<", Py: "<<gen->Py<<", Pz: "<<gen->Pz<<", M: "<<gen->Mass<<", M1: "<<gen->M1<<", M2: "<<gen->M2<<", D1: "<<gen->D1<<", D2: "<<gen->D2<<endl; 51 51 } 52 52 } -
external/CMakeLists.txt
rd612dec ra5af1df 4 4 add_subdirectory(tcl) 5 5 add_subdirectory(PUPPI) 6 add_subdirectory(TrackCovariance) -
external/ExRootAnalysis/CMakeLists.txt
rd612dec ra5af1df 6 6 file(GLOB sources *.cc) 7 7 file(GLOB headers *.h) 8 9 8 list(REMOVE_ITEM headers ${CMAKE_CURRENT_SOURCE_DIR}/ExRootAnalysisLinkDef.h) 10 9 11 # the macro invocation for ROOT6 ensures that the headers are relocatable 12 if (NOT ${ROOT_VERSION} VERSION_LESS "6.0.0") 13 DELPHES_GENERATE_DICTIONARY(ExRootAnalysisDict 14 ExRootAnalysis/ExRootClassifier.h 15 ExRootAnalysis/ExRootConfReader.h 16 ExRootAnalysis/ExRootFilter.h 17 ExRootAnalysis/ExRootProgressBar.h 18 ExRootAnalysis/ExRootResult.h 19 ExRootAnalysis/ExRootTask.h 20 ExRootAnalysis/ExRootTreeBranch.h 21 ExRootAnalysis/ExRootTreeReader.h 22 ExRootAnalysis/ExRootTreeWriter.h 23 ExRootAnalysis/ExRootUtilities.h 24 LINKDEF ExRootAnalysisLinkDef.h) 25 else() 26 # for ROOT5 the above fails, keep the following as workaround 27 DELPHES_GENERATE_DICTIONARY(ExRootAnalysisDict ${headers} LINKDEF ExRootAnalysisLinkDef.h) 28 endif() 10 DELPHES_GENERATE_DICTIONARY(ExRootAnalysisDict ${headers} LINKDEF ExRootAnalysisLinkDef.h) 29 11 30 12 add_library(ExRootAnalysis OBJECT ${sources} ExRootAnalysisDict.cxx) -
external/ExRootAnalysis/ExRootTreeReader.cc
rd612dec ra5af1df 12 12 #include "TBranchElement.h" 13 13 #include "TCanvas.h" 14 #include "TParameter.h"15 14 #include "TClonesArray.h" 16 15 #include "TH2.h" … … 120 119 //------------------------------------------------------------------------------ 121 120 122 Double_t ExRootTreeReader::GetInfo(const char *name)123 {124 TTree *tree = NULL;125 TParameter<Double_t> *param = NULL;126 Double_t result = -999.9;127 if(fChain) tree = fChain->GetTree();128 if(tree) param = static_cast<TParameter<Double_t> *>(tree->GetUserInfo()->FindObject(name));129 if(param) result = param->GetVal();130 return result;131 }132 133 //------------------------------------------------------------------------------134 135 121 Bool_t ExRootTreeReader::Notify() 136 122 { -
external/ExRootAnalysis/ExRootTreeReader.h
rd612dec ra5af1df 29 29 30 30 TClonesArray *UseBranch(const char *branchName); 31 Double_t GetInfo(const char *name);32 31 33 32 private: -
external/ExRootAnalysis/ExRootTreeWriter.cc
rd612dec ra5af1df 11 11 #include "ExRootAnalysis/ExRootTreeBranch.h" 12 12 13 #include "TParameter.h"14 13 #include "TClonesArray.h" 15 14 #include "TFile.h" … … 49 48 fBranches.insert(branch); 50 49 return branch; 51 }52 53 //------------------------------------------------------------------------------54 55 void ExRootTreeWriter::AddInfo(const char *name, Double_t value)56 {57 if(!fTree) fTree = NewTree();58 fTree->GetUserInfo()->Add(new TParameter<Double_t>(name, value));59 50 } 60 51 -
external/ExRootAnalysis/ExRootTreeWriter.h
rd612dec ra5af1df 28 28 void SetTreeName(const char *name) { fTreeName = name; } 29 29 30 TTree* GetTree() { return fTree; }31 void SetTree(TTree* t) { fTree = t; }32 33 30 ExRootTreeBranch *NewBranch(const char *name, TClass *cl); 34 void AddInfo(const char *name, Double_t value);35 31 36 32 void Clear(); -
external/fastjet/ActiveAreaSpec.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ActiveAreaSpec.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ActiveAreaSpec.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/AreaDefinition.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: AreaDefinition.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: AreaDefinition.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/AreaDefinition.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: AreaDefinition.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: AreaDefinition.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2006-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/BasicRandom.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: BasicRandom.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: BasicRandom.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/CircularRange.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CircularRange.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: CircularRange.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClosestPair2D.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClosestPair2D.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClosestPair2D.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequence.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- … … 254 254 // in a similar way. 255 255 if (_Rparam > pi) { 256 257 258 259 256 // choose a value that ensures that back-to-back particles will 257 // always recombine 258 //_R2 = 4.0000000000001; 259 _R2 = 2 * ( 3.0 + cos(_Rparam) ); 260 260 } else { 261 261 _R2 = 2 * ( 1.0 - cos(_Rparam) ); 262 262 } 263 263 _invR2 = 1.0/_R2; … … 439 439 (*ostr) << "# for scientific work and optionally PLB641(2006)57 [hep-ph/0512210]. \n"; 440 440 (*ostr) << "# \n"; 441 (*ostr) << "# FastJet is provided without warranty under the GNU GPL v2 or higher.\n";441 (*ostr) << "# FastJet is provided without warranty under the terms of the GNU GPLv2.\n"; 442 442 (*ostr) << "# It uses T. Chan's closest pair algorithm, S. Fortune's Voronoi code"; 443 443 #ifndef DROP_CGAL -
external/fastjet/ClusterSequence.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: ClusterSequence.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: ClusterSequence.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence1GhostPassiveArea.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence1GhostPassiveArea.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequence1GhostPassiveArea.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence1GhostPassiveArea.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence1GhostPassiveArea.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequence1GhostPassiveArea.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceActiveArea.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceActiveArea.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequenceActiveArea.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceActiveArea.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceActiveArea.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceActiveArea.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceActiveAreaExplicitGhosts.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceArea.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceArea.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequenceArea.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2006-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceArea.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceArea.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2006-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceArea.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceAreaBase.cc
rd612dec ra5af1df 1 1 2 2 //FJSTARTHEADER 3 // $Id: ClusterSequenceAreaBase.cc 4 442 2020-05-05 07:50:11Z soyez$4 // 5 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez3 // $Id: ClusterSequenceAreaBase.cc 4354 2018-04-22 07:12:37Z salam $ 4 // 5 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 6 6 // 7 7 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceAreaBase.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceAreaBase.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceAreaBase.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequencePassiveArea.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequencePassiveArea.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequencePassiveArea.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequencePassiveArea.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequencePassiveArea.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequencePassiveArea.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceStructure.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceStructure.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceStructure.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceStructure.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceStructure.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceStructure.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceVoronoiArea.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceVoronoiArea.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2006-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceVoronoiArea.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceVoronoiArea.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceVoronoiArea.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequenceVoronoiArea.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceWithArea.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceWithArea.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequenceWithArea.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2006-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_CP2DChan.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_CP2DChan.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequence_CP2DChan.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_Delaunay.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_Delaunay.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequence_Delaunay.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_DumbN3.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_DumbN3.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequence_DumbN3.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_N2.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_N2.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequence_N2.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_TiledN2.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_TiledN2.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClusterSequence_TiledN2.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/CompositeJetStructure.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CompositeJetStructure.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: CompositeJetStructure.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/CompositeJetStructure.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CompositeJetStructure.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: CompositeJetStructure.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Dnn2piCylinder.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Dnn2piCylinder.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Dnn2piCylinder.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Dnn3piCylinder.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Dnn3piCylinder.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Dnn3piCylinder.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Dnn4piCylinder.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Dnn4piCylinder.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Dnn4piCylinder.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/DnnPlane.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: DnnPlane.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: DnnPlane.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Error.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Error.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Error.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Error.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: Error.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: Error.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/FunctionOfPseudoJet.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: FunctionOfPseudoJet.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: FunctionOfPseudoJet.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/FunctionOfPseudoJet.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: FunctionOfPseudoJet.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: FunctionOfPseudoJet.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/GhostedAreaSpec.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: GhostedAreaSpec.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: GhostedAreaSpec.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/GhostedAreaSpec.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: GhostedAreaSpec.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: GhostedAreaSpec.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/JetDefinition.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: JetDefinition.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: JetDefinition.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/JetDefinition.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: JetDefinition.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: JetDefinition.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/LazyTiling25.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: LazyTiling25.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: LazyTiling25.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LazyTiling9.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: LazyTiling9.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: LazyTiling9.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LazyTiling9Alt.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: LazyTiling9Alt.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: LazyTiling9Alt.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LazyTiling9SeparateGhosts.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: LazyTiling9SeparateGhosts.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: LazyTiling9SeparateGhosts.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LimitedWarning.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: LimitedWarning.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: LimitedWarning.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LimitedWarning.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: LimitedWarning.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: LimitedWarning.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/MinHeap.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: MinHeap.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: MinHeap.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- … … 110 110 111 111 // now compare current location to children (at 2*loc+1, 2*loc+2) 112 //ValueLoc * child = &(_heap[2*loc+1]); 113 // GPS 2020-04-07: changed the way the following line 114 // is expressed, so as to work around issue reported by 115 // Andrii Verbyitskyi where compilation with gcc's 116 // -D_GLIBCXX_ASSERTIONS=1 -D_GLIBCXX_SANITIZE_VECTOR=1 117 // results in a crash because the compiler thinks we 118 // are accessing the vector at a location that is sometimes 119 // invalid, whereas we are just getting the address 120 ValueLoc * child = &(_heap[0]) + (2*loc+1); 112 ValueLoc * child = &(_heap[2*loc+1]); 121 113 if (child < heap_end && child->minloc->value < here->minloc->value ) { 122 114 here->minloc = child->minloc; -
external/fastjet/NNBase.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: NNBase.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: NNBase.hh 4355 2018-04-22 15:38:54Z salam $ 6 6 // 7 // Copyright (c) 2016-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2016-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/NNFJN2Plain.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: NNFJN2Plain.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: NNFJN2Plain.hh 4355 2018-04-22 15:38:54Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/NNFJN2Tiled.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: NNFJN2Tiled.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: NNFJN2Tiled.hh 4355 2018-04-22 15:38:54Z salam $ 6 6 // 7 // Copyright (c) 2016-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2016-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/NNH.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: NNH.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: NNH.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/PseudoJet.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: PseudoJet.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: PseudoJet.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/PseudoJet.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: PseudoJet.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: PseudoJet.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/PseudoJetStructureBase.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: PseudoJetStructureBase.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: PseudoJetStructureBase.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/PseudoJetStructureBase.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: PseudoJetStructureBase.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: PseudoJetStructureBase.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/RangeDefinition.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: RangeDefinition.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: RangeDefinition.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/RangeDefinition.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: RangeDefinition.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: RangeDefinition.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/RectangularGrid.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: RectangularGrid.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: RectangularGrid.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/RectangularGrid.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: RectangularGrid.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: RectangularGrid.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/Selector.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Selector.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Selector.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Selector.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: Selector.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2009-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: Selector.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/SharedPtr.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: SharedPtr.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: SharedPtr.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/TilingExtent.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: TilingExtent.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: TilingExtent.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Voronoi.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Voronoi.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Voronoi.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/WrappedStructure.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: WrappedStructure.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: WrappedStructure.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/config_auto.h
rd612dec ra5af1df 87 87 /* #undef HAVE_EXPLICIT_FOR_OPERATORS */ 88 88 89 /* Define to 1 if you have the <gmp.h> header file. */90 /* #undef HAVE_GMP_H */91 92 89 /* compiler supports GNU c++ deprecated attribute */ 93 90 #ifndef FASTJET_HAVE_GNUCXX_DEPRECATED … … 110 107 #endif 111 108 112 /* Define to 1 if you have the <mpfr.h> header file. */113 /* #undef HAVE_MPFR_H */114 115 109 /* compiler supports the "override" keyword */ 116 110 /* #undef HAVE_OVERRIDE */ … … 173 167 /* Define to the full name and version of this package. */ 174 168 #ifndef FASTJET_PACKAGE_STRING 175 #define FASTJET_PACKAGE_STRING "FastJet 3.3. 4"169 #define FASTJET_PACKAGE_STRING "FastJet 3.3.2" 176 170 #endif 177 171 … … 188 182 /* Define to the version of this package. */ 189 183 #ifndef FASTJET_PACKAGE_VERSION 190 #define FASTJET_PACKAGE_VERSION "3.3. 4"184 #define FASTJET_PACKAGE_VERSION "3.3.2" 191 185 #endif 192 186 … … 198 192 /* Version number of package */ 199 193 #ifndef FASTJET_VERSION 200 #define FASTJET_VERSION "3.3. 4"194 #define FASTJET_VERSION "3.3.2" 201 195 #endif 202 196 … … 213 207 /* Version of the package under the form XYYZZ (instead of X.Y.Z) */ 214 208 #ifndef FASTJET_VERSION_NUMBER 215 #define FASTJET_VERSION_NUMBER 3030 4209 #define FASTJET_VERSION_NUMBER 30302 216 210 #endif 217 211 218 212 /* Patch version of this package */ 219 213 #ifndef FASTJET_VERSION_PATCHLEVEL 220 #define FASTJET_VERSION_PATCHLEVEL 4214 #define FASTJET_VERSION_PATCHLEVEL 2 221 215 #endif 222 216 -
external/fastjet/config_raw.h
rd612dec ra5af1df 57 57 /* #undef HAVE_EXPLICIT_FOR_OPERATORS */ 58 58 59 /* Define to 1 if you have the <gmp.h> header file. */60 /* #undef HAVE_GMP_H */61 62 59 /* compiler supports GNU c++ deprecated attribute */ 63 60 #define HAVE_GNUCXX_DEPRECATED /**/ … … 71 68 /* Define to 1 if you have the <memory.h> header file. */ 72 69 #define HAVE_MEMORY_H 1 73 74 /* Define to 1 if you have the <mpfr.h> header file. */75 /* #undef HAVE_MPFR_H */76 70 77 71 /* compiler supports the "override" keyword */ … … 112 106 113 107 /* Define to the full name and version of this package. */ 114 #define PACKAGE_STRING "FastJet 3.3. 4"108 #define PACKAGE_STRING "FastJet 3.3.2" 115 109 116 110 /* Define to the one symbol short name of this package. */ … … 121 115 122 116 /* Define to the version of this package. */ 123 #define PACKAGE_VERSION "3.3. 4"117 #define PACKAGE_VERSION "3.3.2" 124 118 125 119 /* Define to 1 if you have the ANSI C header files. */ … … 127 121 128 122 /* Version number of package */ 129 #define VERSION "3.3. 4"123 #define VERSION "3.3.2" 130 124 131 125 /* Major version of this package */ … … 136 130 137 131 /* Version of the package under the form XYYZZ (instead of X.Y.Z) */ 138 #define VERSION_NUMBER 3030 4132 #define VERSION_NUMBER 30302 139 133 140 134 /* Patch version of this package */ 141 #define VERSION_PATCHLEVEL 4135 #define VERSION_PATCHLEVEL 2 142 136 143 137 /* Pre-release version of this package */ -
external/fastjet/config_win.h
rd612dec ra5af1df 1 #define FASTJET_PACKAGE_STRING "FastJet 3.3. 4"2 #define FASTJET_PACKAGE_VERSION "3.3. 4"3 #define FASTJET_VERSION "3.3. 4"1 #define FASTJET_PACKAGE_STRING "FastJet 3.3.2" 2 #define FASTJET_PACKAGE_VERSION "3.3.2" 3 #define FASTJET_VERSION "3.3.2" 4 4 #define FASTJET_VERSION_MAJOR 3 5 5 #define FASTJET_VERSION_MINOR 3 6 #define FASTJET_VERSION_PATCHLEVEL 47 #define FASTJET_VERSION_NUMBER 3030 46 #define FASTJET_VERSION_PATCHLEVEL 2 7 #define FASTJET_VERSION_NUMBER 30302 8 8 9 9 /* The ATLASCone plugin is disabled by default*/ -
external/fastjet/contribs/RecursiveTools/AUTHORS
rd612dec ra5af1df 28 28 Recursive Soft Drop. 29 29 Frederic A. Dreyer, Lina Necib, Gregory Soyez, and Jesse Thaler 30 JHEP 1806:093 (2018),arXiv:1804.0365730 arXiv:1804.03657 31 31 -
external/fastjet/contribs/RecursiveTools/ChangeLog
rd612dec ra5af1df 1 2018-11-02 Jesse Thaler <jthaler@jthaler.net>2 3 * AUTHORS: updated journal for RecursiveSoftDrop4 5 2018-10-30 Gregory Soyez <soyez@fastjet.fr>6 7 * RecursiveSoftDrop.cc:8 fixed a few typos in comments9 10 * RecursiveSoftDrop.hh:11 used the native FJ Recluster tool when available (did create12 conflicts in some cases)13 14 2018-06-18 Jesse Thaler <jthaler@jthaler.net>15 16 * README17 Fixed incorrect order of zcut and beta in the README for SoftDrop example.18 19 1 2018-05-29 Jesse Thaler <jthaler@jthaler.net> 20 2 -
external/fastjet/contribs/RecursiveTools/NEWS
rd612dec ra5af1df 1 2020/03/03: release of version 2.0.0 with updated readme2 3 1 2018/05/31: release of version 2.0.0-beta2 with corrected syntax 4 2 -
external/fastjet/contribs/RecursiveTools/README
rd612dec ra5af1df 100 100 A default SoftDrop groomer can be created via: 101 101 102 double z_cut = 0.10; 102 103 double beta = 2.0; 103 double z_cut = 0.10;104 104 double R0 = 1.0; // this is the default value 105 SoftDrop sd( beta,z_cut,R0);105 SoftDrop sd(z_cut,beta,R0); 106 106 107 107 and acts on a desired jet as … … 137 137 further substructure is found (i.e. corresponds to taking N=infinity). 138 138 139 double z_cut = 0.10; 139 140 double beta = 2.0; 140 double z_cut = 0.10;141 141 double R0 = 1.0; // this is the default value 142 142 int N = -1; 143 RecursiveSoftDrop rsd( beta, z_cut, N, R0);143 RecursiveSoftDrop rsd(z_cut, beta, N, R0); 144 144 145 145 One then acts on a jet as … … 217 217 not met, only the hardest of the two objects is kept for further 218 218 clustering and the softest is rejected. 219 220 BottomUpSoftDrop takes the same arguments as SoftDrop, and a groomer221 can be created with:222 223 double beta = 2.0;224 double z_cut = 0.10;225 double R0 = 1.0; // this is the default value226 BottomUpSoftDrop busd(beta,z_cut,R0);227 228 One then acts on a jet as229 230 PseudoJet groomed_jet = busd(jet)231 219 232 220 ------------------------------------------------------------------------ -
external/fastjet/contribs/RecursiveTools/RecursiveSoftDrop.cc
rd612dec ra5af1df 1 // $Id: RecursiveSoftDrop.cc 11 92 2018-10-30 16:08:36Z gsoyez $1 // $Id: RecursiveSoftDrop.cc 1111 2018-04-04 10:06:11Z gsoyez $ 2 2 // 3 3 // Copyright (c) 2017-, Gavin P. Salam, Gregory Soyez, Jesse Thaler, … … 148 148 const vector<PseudoJet> &cs_jets = cs->jets(); 149 149 150 // initiali se counter to 1 subjet (i.e. the full ca_jet)150 // initialize counter to 1 subjet (i.e. the full ca_jet) 151 151 int n_tagged = 0; 152 152 int max_njet = ca_jet.constituents().size(); … … 163 163 164 164 // create a priority queue containing the subjets and a comparison definition 165 // initialise to the full ca_jet 165 166 priority_queue<internal_recursive_softdrop::RSDHistoryElement*, vector<internal_recursive_softdrop::RSDHistoryElement*>, internal_recursive_softdrop::OrderRSDHistoryElements> active_branches; 166 167 active_branches.push(& (history[0])); … … 168 169 PseudoJet parent, piece1, piece2; 169 170 double sym, mu2; 171 172 // which R0 to use 173 //double R0sqr = _R0sqr; 170 174 171 175 // loop over C/A tree until we reach the appropriate number of subjets 172 176 while ((continue_grooming(n_tagged)) && (active_branches.size())) { 173 // get the element corresponding to the max dR and the associated PJ 177 // get the element corresponding to the max dR 178 // and the associated PJ 174 179 internal_recursive_softdrop::RSDHistoryElement * elm = active_branches.top(); 175 180 PseudoJet parent = cs_jets[cs_history[elm->current_in_ca_tree].jetp_index]; … … 212 217 active_branches.pop(); 213 218 // tagging failed and the softest branch should be dropped 214 // keep track of what has been groomed away219 // keep track of what has een groomed away 215 220 max_njet -= piece2.constituents().size(); 216 221 elm->dropped_delta_R .push_back((elm->theta_squared >= 0) ? sqrt(elm->theta_squared) : -sqrt(elm->theta_squared)); … … 218 223 elm->dropped_mu .push_back((mu2>=0) ? sqrt(mu2) : -sqrt(mu2)); 219 224 220 // keep the hardest b ranch in the recursion225 // keep the hardest bhanch in the recursion 221 226 elm->reset(piece1, this); 222 227 active_branches.push(elm); … … 251 256 const internal_recursive_softdrop::RSDHistoryElement & elm = history[history_index]; 252 257 253 // two kinds of events: either just a final leave, pote ntiallywith grooming258 // two kinds of events: either just a final leave, poteitially with grooming 254 259 // or a brandhing (also with potential grooming at the end) 255 260 if (elm.child1_in_history<0){ 256 // this is a leaf, i.e. with no further su bstructure261 // this is a leaf, i.e. with no further sustructure 257 262 PseudoJet & subjet = mapped_to_history[history_index] 258 263 = cs_jets[cs_history[elm.current_in_ca_tree].jetp_index]; … … 298 303 const vector<PseudoJet> &cs_jets = cs->jets(); 299 304 300 // initiali se counter to 1 subjet (i.e. the full ca_jet)305 // initialize counter to 1 subjet (i.e. the full ca_jet) 301 306 int n_depth = 0; 302 307 int max_njet = ca_jet.constituents().size(); … … 314 319 315 320 // create a priority queue containing the subjets and a comparison definition 321 // initialize counter to 1 subjet (i.e. the full ca_jet) 316 322 list<internal_recursive_softdrop::RSDHistoryElement*> active_branches; 317 323 active_branches.push_back(& (history[0])); … … 323 329 list<internal_recursive_softdrop::RSDHistoryElement*>::iterator hist_it=active_branches.begin(); 324 330 while (hist_it!=active_branches.end()){ 325 // get the element corresponding to the max dR and the associated PJ 331 // get the element corresponding to the max dR 332 // and the associated PJ 326 333 internal_recursive_softdrop::RSDHistoryElement * elm = (*hist_it); 327 334 PseudoJet parent = cs_jets[cs_history[elm->current_in_ca_tree].jetp_index]; -
external/fastjet/contribs/RecursiveTools/RecursiveSoftDrop.hh
rd612dec ra5af1df 1 // $Id: RecursiveSoftDrop.hh 1 192 2018-10-30 16:08:36Z gsoyez $1 // $Id: RecursiveSoftDrop.hh 1082 2017-10-10 12:00:13Z gsoyez $ 2 2 // 3 3 // Copyright (c) 2014-, Gavin P. Salam, Gregory Soyez, Jesse Thaler, … … 24 24 #define __RECURSIVESOFTDROP_HH__ 25 25 26 // we'll use the native FJ class for reculstering if available27 #if FASTJET_VERSION_NUMBER >= 3010028 #include "fastjet/tools/Recluster.hh"29 #else30 26 #include "Recluster.hh" 31 #endif32 27 #include "SoftDrop.hh" 33 28 #include "fastjet/WrappedStructure.hh" -
external/fastjet/internal/ClosestPair2D.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClosestPair2D.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClosestPair2D.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/ClosestPair2DBase.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ClosestPair2DBase.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ClosestPair2DBase.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/ClusterSequence_N2.icc
rd612dec ra5af1df 7 7 // $Id: ClusterSequence_N2.cc 1351 2009-01-09 18:03:03Z salam $ 8 8 // 9 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez9 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 10 10 // 11 11 //---------------------------------------------------------------------- -
external/fastjet/internal/Dnn2piCylinder.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Dnn2piCylinder.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Dnn2piCylinder.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/Dnn3piCylinder.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Dnn3piCylinder.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Dnn3piCylinder.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/Dnn4piCylinder.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Dnn4piCylinder.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Dnn4piCylinder.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/DnnPlane.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: DnnPlane.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: DnnPlane.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/DynamicNearestNeighbours.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: DynamicNearestNeighbours.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: DynamicNearestNeighbours.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/IsBase.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: IsBase.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: IsBase.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/LazyTiling25.hh
rd612dec ra5af1df 5 5 6 6 //FJSTARTHEADER 7 // $Id: LazyTiling25.hh 4 442 2020-05-05 07:50:11Z soyez$7 // $Id: LazyTiling25.hh 4354 2018-04-22 07:12:37Z salam $ 8 8 // 9 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez9 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 10 10 // 11 11 //---------------------------------------------------------------------- -
external/fastjet/internal/LazyTiling9.hh
rd612dec ra5af1df 5 5 6 6 //FJSTARTHEADER 7 // $Id: LazyTiling9.hh 4 442 2020-05-05 07:50:11Z soyez$8 // 9 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // $Id: LazyTiling9.hh 4354 2018-04-22 07:12:37Z salam $ 8 // 9 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 10 10 // 11 11 //---------------------------------------------------------------------- -
external/fastjet/internal/LazyTiling9Alt.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: LazyTiling9Alt.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: LazyTiling9Alt.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/internal/LazyTiling9SeparateGhosts.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: LazyTiling9SeparateGhosts.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: LazyTiling9SeparateGhosts.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/internal/LimitedWarning.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: LimitedWarning.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: LimitedWarning.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/internal/MinHeap.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: MinHeap.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: MinHeap.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/SearchTree.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: SearchTree.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: SearchTree.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/TilingExtent.hh
rd612dec ra5af1df 5 5 6 6 //FJSTARTHEADER 7 // $Id: TilingExtent.hh 4 442 2020-05-05 07:50:11Z soyez$7 // $Id: TilingExtent.hh 4354 2018-04-22 07:12:37Z salam $ 8 8 // 9 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez9 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 10 10 // 11 11 //---------------------------------------------------------------------- -
external/fastjet/internal/Triangulation.hh
rd612dec ra5af1df 4 4 5 5 //FJSTARTHEADER 6 // $Id: Triangulation.hh 4 442 2020-05-05 07:50:11Z soyez$6 // $Id: Triangulation.hh 4354 2018-04-22 07:12:37Z salam $ 7 7 // 8 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez8 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 9 9 // 10 10 //---------------------------------------------------------------------- -
external/fastjet/internal/Voronoi.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: Voronoi.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: Voronoi.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/internal/base.hh
rd612dec ra5af1df 1 1 2 2 //FJSTARTHEADER 3 // $Id: base.hh 4 442 2020-05-05 07:50:11Z soyez$3 // $Id: base.hh 4354 2018-04-22 07:12:37Z salam $ 4 4 // 5 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 6 6 // 7 7 //---------------------------------------------------------------------- -
external/fastjet/internal/deprecated.hh
rd612dec ra5af1df 1 1 2 2 //FJSTARTHEADER 3 // $Id: deprecated.hh 4 442 2020-05-05 07:50:11Z soyez$3 // $Id: deprecated.hh 4354 2018-04-22 07:12:37Z salam $ 4 4 // 5 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 6 6 // 7 7 //---------------------------------------------------------------------- … … 39 39 // define a deprecation macro based on the capabilities of the compiler 40 40 // (as determined at configure time). 41 #if defined(FASTJET_HAVE_CXX14_DEPRECATED) &&(!defined(__FJCORE__))41 #if defined(FASTJET_HAVE_CXX14_DEPRECATED) and (!defined(__FJCORE__)) 42 42 #define FASTJET_DEPRECATED [[deprecated]] 43 43 #define FASTJET_DEPRECATED_MSG(message) [[deprecated(message)]] -
external/fastjet/internal/numconsts.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: numconsts.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: numconsts.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/ATLASCone/ATLASConePlugin.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ATLASConePlugin.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ATLASConePlugin.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/ATLASCone/fastjet/ATLASConePlugin.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: ATLASConePlugin.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: ATLASConePlugin.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CDFCones/CDFJetCluPlugin.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CDFJetCluPlugin.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: CDFJetCluPlugin.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CDFCones/CDFMidPointPlugin.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CDFMidPointPlugin.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: CDFMidPointPlugin.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CDFCones/fastjet/CDFJetCluPlugin.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CDFJetCluPlugin.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: CDFJetCluPlugin.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CDFCones/fastjet/CDFMidPointPlugin.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CDFMidPointPlugin.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: CDFMidPointPlugin.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CMSIterativeCone/CMSIterativeConePlugin.cc
rd612dec ra5af1df 2 2 // $Id: CMSIterativeConePlugin.cc 1504 2009-04-10 13:39:48Z salam $ 3 3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh
rd612dec ra5af1df 2 2 // $Id: CMSIterativeConePlugin.hh 1508 2009-04-10 22:46:49Z soyez $ 3 3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunICone/D0RunIBaseConePlugin.cc
rd612dec ra5af1df 2 2 // $Id: D0RunIBaseConePlugin.cc 1779 2010-10-25 10:32:59Z soyez $ 3 3 // 4 // Copyright (c) 2009-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh
rd612dec ra5af1df 5 5 // $Id: D0RunIBaseConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $ 6 6 // 7 // Copyright (c) 2009-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh
rd612dec ra5af1df 5 5 // $Id: D0RunIConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $ 6 6 // 7 // Copyright (c) 2009-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh
rd612dec ra5af1df 5 5 // $Id: D0RunIpre96ConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $ 6 6 // 7 // Copyright (c) 2009-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunIICone/D0RunIIConePlugin.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: D0RunIIConePlugin.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: D0RunIIConePlugin.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: D0RunIIConePlugin.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: D0RunIIConePlugin.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/EECambridge/EECambridgePlugin.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: EECambridgePlugin.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: EECambridgePlugin.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/EECambridge/fastjet/EECambridgePlugin.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: EECambridgePlugin.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: EECambridgePlugin.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/GridJet/GridJetPlugin.cc
rd612dec ra5af1df 2 2 // $Id: GridJetPlugin.cc 2268 2011-06-20 15:12:26Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/GridJet/fastjet/GridJetPlugin.hh
rd612dec ra5af1df 5 5 // $Id: GridJetPlugin.hh 2267 2011-06-20 15:10:23Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/Jade/JadePlugin.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: JadePlugin.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: JadePlugin.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- … … 108 108 // get a number that is almost the same as max(), just a little 109 109 // smaller so as to ensure that when we divide it by rt2E and then 110 // multiply it again, we won't get an overflow. 111 // Watch out for cases where rt2E < 1.0 (cf. bug fix from 112 // andrii.verbytskyi@mpp.mpg.de on 2019-02-14) 110 // multiply it again, we won't get an overflow 113 111 const double almost_max = numeric_limits<double>::max() * (1 - 1e-13); 114 if (rt2E>1.0) return almost_max / rt2E; 115 else return almost_max; 112 return almost_max / rt2E; 116 113 } 117 114 -
external/fastjet/plugins/Jade/fastjet/JadePlugin.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: JadePlugin.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: JadePlugin.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/NestedDefs/NestedDefsPlugin.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: NestedDefsPlugin.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: NestedDefsPlugin.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/NestedDefs/fastjet/NestedDefsPlugin.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: NestedDefsPlugin.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: NestedDefsPlugin.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/SISCone/AUTHORS
rd612dec ra5af1df 6 6 France 7 7 8 (2) Rudolf Peierls Centre for Theoretical Physics, Parks Road, Oxford OX1 3PU, UK; 9 PH-TH, CERN, CH-1211 Geneva 23, Switzerland; 8 (2) PH-TH, CERN, CH-1211 Geneva 23, Switzerland; 10 9 LPTHE, UPMC (Univ. Paris 6), 75252 Paris cedex 05, France. 11 10 11 phone : +33 69 08 40 11 12 +41 22 767 2462 13 12 14 email : soyez@fastjet.fr 13 gavin.salam@ physics.ox.ac.uk15 gavin.salam@cern.ch -
external/fastjet/plugins/SISCone/config.h
rd612dec ra5af1df 83 83 /* Define to the full name and version of this package. */ 84 84 #ifndef SISCONE_PACKAGE_STRING 85 #define SISCONE_PACKAGE_STRING "SISCone 3.0. 5"85 #define SISCONE_PACKAGE_STRING "SISCone 3.0.4" 86 86 #endif 87 87 … … 98 98 /* Define to the version of this package. */ 99 99 #ifndef SISCONE_PACKAGE_VERSION 100 #define SISCONE_PACKAGE_VERSION "3.0. 5"100 #define SISCONE_PACKAGE_VERSION "3.0.4" 101 101 #endif 102 102 … … 111 111 /* Version number of package */ 112 112 #ifndef SISCONE_VERSION 113 #define SISCONE_VERSION "3.0. 5"113 #define SISCONE_VERSION "3.0.4" 114 114 #endif 115 115 -
external/fastjet/plugins/SISCone/config_raw.h
rd612dec ra5af1df 48 48 49 49 /* Define to the full name and version of this package. */ 50 #define PACKAGE_STRING "SISCone 3.0. 5"50 #define PACKAGE_STRING "SISCone 3.0.4" 51 51 52 52 /* Define to the one symbol short name of this package. */ … … 57 57 58 58 /* Define to the version of this package. */ 59 #define PACKAGE_VERSION "3.0. 5"59 #define PACKAGE_VERSION "3.0.4" 60 60 61 61 /* Define to 1 if you have the ANSI C header files. */ … … 66 66 67 67 /* Version number of package */ 68 #define VERSION "3.0. 5"68 #define VERSION "3.0.4" -
external/fastjet/plugins/SISCone/geom_2d.h
rd612dec ra5af1df 22 22 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA // 23 23 // // 24 // $Revision:: 422$//25 // $Date:: 20 20-04-22 11:51:09 +0200 (Wed, 22 Apr 2020) $//24 // $Revision:: 268 $// 25 // $Date:: 2009-03-12 21:24:16 +0100 (Thu, 12 Mar 2009) $// 26 26 /////////////////////////////////////////////////////////////////////////////// 27 27 … … 153 153 /// return the cell index corrsponding to an eta value 154 154 inline unsigned int get_eta_cell(double eta){ 155 return (unsigned int) (1 u<< ((int) (32*((eta-eta_min)/(eta_max-eta_min)))));155 return (unsigned int) (1 << ((int) (32*((eta-eta_min)/(eta_max-eta_min))))); 156 156 } 157 157 158 158 /// return the cell index corrsponding to a phi value 159 159 inline unsigned int get_phi_cell(double phi){ 160 return (unsigned int) (1 u<< ((int) (32*phi/twopi+16)%32));160 return (unsigned int) (1 << ((int) (32*phi/twopi+16)%32)); 161 161 } 162 162 }; -
external/fastjet/plugins/TrackJet/TrackJetPlugin.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: TrackJetPlugin.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: TrackJetPlugin.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/TrackJet/fastjet/TrackJetPlugin.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: TrackJetPlugin.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: TrackJetPlugin.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2007-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/BackgroundEstimatorBase.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: BackgroundEstimatorBase.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: BackgroundEstimatorBase.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/BackgroundEstimatorBase.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: BackgroundEstimatorBase.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: BackgroundEstimatorBase.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/Boost.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Boost.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Boost.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/CASubJetTagger.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CASubJetTagger.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: CASubJetTagger.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/CASubJetTagger.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: CASubJetTagger.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: CASubJetTagger.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Filter.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Filter.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Filter.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Filter.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: Filter.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: Filter.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/GridMedianBackgroundEstimator.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: GridMedianBackgroundEstimator.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: GridMedianBackgroundEstimator.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/GridMedianBackgroundEstimator.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: GridMedianBackgroundEstimator.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: GridMedianBackgroundEstimator.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/JHTopTagger.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: JHTopTagger.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: JHTopTagger.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/JHTopTagger.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: JHTopTagger.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: JHTopTagger.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/JetMedianBackgroundEstimator.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: JetMedianBackgroundEstimator.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: JetMedianBackgroundEstimator.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/JetMedianBackgroundEstimator.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: JetMedianBackgroundEstimator.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: JetMedianBackgroundEstimator.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/MassDropTagger.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: MassDropTagger.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: MassDropTagger.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/MassDropTagger.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: MassDropTagger.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: MassDropTagger.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Pruner.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Pruner.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Pruner.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Pruner.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: Pruner.hh 4 442 2020-05-05 07:50:11Z soyez$6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: Pruner.hh 4354 2018-04-22 07:12:37Z salam $ 6 // 7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/RestFrameNSubjettinessTagger.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: RestFrameNSubjettinessTagger.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: RestFrameNSubjettinessTagger.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/RestFrameNSubjettinessTagger.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: RestFrameNSubjettinessTagger.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: RestFrameNSubjettinessTagger.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/Subtractor.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Subtractor.cc 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Subtractor.cc 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Subtractor.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Subtractor.hh 4 442 2020-05-05 07:50:11Z soyez$3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Subtractor.hh 4354 2018-04-22 07:12:37Z salam $ 3 // 4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/TopTaggerBase.cc
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: TopTaggerBase.cc 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: TopTaggerBase.cc 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/TopTaggerBase.hh
rd612dec ra5af1df 3 3 4 4 //FJSTARTHEADER 5 // $Id: TopTaggerBase.hh 4 442 2020-05-05 07:50:11Z soyez$5 // $Id: TopTaggerBase.hh 4354 2018-04-22 07:12:37Z salam $ 6 6 // 7 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/Transformer.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: Transformer.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: Transformer.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/version.hh
rd612dec ra5af1df 1 1 //FJSTARTHEADER 2 // $Id: version.hh 4 442 2020-05-05 07:50:11Z soyez$2 // $Id: version.hh 4354 2018-04-22 07:12:37Z salam $ 3 3 // 4 // Copyright (c) 2005-20 20, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
modules/AngularSmearing.cc
rd612dec ra5af1df 98 98 { 99 99 Candidate *candidate, *mother; 100 Double_t pt, eta, phi, e , m;100 Double_t pt, eta, phi, e; 101 101 102 102 fItInputArray->Reset(); 103 103 while((candidate = static_cast<Candidate *>(fItInputArray->Next()))) 104 104 { 105 const TLorentzVector &candidatePosition = candidate->Position; 105 106 const TLorentzVector &candidateMomentum = candidate->Momentum; 106 eta = candidate Momentum.Eta();107 phi = candidate Momentum.Phi();107 eta = candidatePosition.Eta(); 108 phi = candidatePosition.Phi(); 108 109 pt = candidateMomentum.Pt(); 109 110 e = candidateMomentum.E(); 110 m = candidateMomentum.M();111 111 112 112 // apply smearing formula for eta,phi 113 eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e, candidate)); 114 phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e, candidate)); 113 114 eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e)); 115 phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e)); 115 116 116 117 if(pt <= 0.0) continue; … … 118 119 mother = candidate; 119 120 candidate = static_cast<Candidate *>(candidate->Clone()); 120 candidate->Momentum.SetPtEtaPhiM(pt, eta, phi, m); 121 eta = candidateMomentum.Eta(); 122 phi = candidateMomentum.Phi(); 123 candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt * TMath::CosH(eta)); 121 124 candidate->AddCandidate(mother); 122 125 -
modules/Calorimeter.cc
rd612dec ra5af1df 231 231 fItParticleInputArray->Reset(); 232 232 number = -1; 233 fTowerRmax=0.;234 233 while((particle = static_cast<Candidate *>(fItParticleInputArray->Next()))) 235 234 { 236 235 const TLorentzVector &particlePosition = particle->Position; 237 236 ++number; 238 239 // compute maximum radius (needed in FinalizeTower to assess whether barrel or endcap tower)240 if (particlePosition.Perp() > fTowerRmax)241 fTowerRmax=particlePosition.Perp();242 237 243 238 pdgCode = TMath::Abs(particle->PID); … … 455 450 456 451 fTower->AddCandidate(particle); 457 fTower->Position = position;458 452 } 459 453 … … 467 461 { 468 462 Candidate *track, *tower, *mother; 469 Double_t energy, pt, eta, phi , r;463 Double_t energy, pt, eta, phi; 470 464 Double_t ecalEnergy, hcalEnergy; 471 465 Double_t ecalNeutralEnergy, hcalNeutralEnergy; … … 517 511 for(size_t i = 0; i < fTower->ECalEnergyTimePairs.size(); ++i) 518 512 { 519 weight = TMath:: Power((fTower->ECalEnergyTimePairs[i].first),2);513 weight = TMath::Sqrt(fTower->ECalEnergyTimePairs[i].first); 520 514 sumWeightedTime += weight * fTower->ECalEnergyTimePairs[i].second; 521 515 sumWeight += weight; … … 523 517 } 524 518 525 // check whether barrel or endcap tower 526 if (fTower->Position.Perp() < fTowerRmax && TMath::Abs(eta) > 0.) 527 r = fTower->Position.Z()/TMath::SinH(eta); 519 if(sumWeight > 0.0) 520 { 521 fTower->Position.SetPtEtaPhiE(1.0, eta, phi, sumWeightedTime / sumWeight); 522 } 528 523 else 529 r = fTower->Position.Pt(); 530 531 if(sumWeight > 0.0) 532 { 533 fTower->Position.SetPtEtaPhiE(r, eta, phi, sumWeightedTime / sumWeight); 534 } 535 else 536 { 537 fTower->Position.SetPtEtaPhiE(r, eta, phi, 999999.9); 524 { 525 fTower->Position.SetPtEtaPhiE(1.0, eta, phi, 999999.9); 538 526 } 539 527 … … 571 559 if(ecalNeutralEnergy > fECalEnergyMin && ecalNeutralSigma > fECalEnergySignificanceMin) 572 560 { 573 // create new photon tower assuming null mass561 // create new photon tower 574 562 tower = static_cast<Candidate *>(fTower->Clone()); 575 563 pt = ecalNeutralEnergy / TMath::CosH(eta); … … 658 646 track = static_cast<Candidate *>(track->Clone()); 659 647 track->AddCandidate(mother); 648 660 649 track->Momentum *= rescaleFactor; 661 track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M());662 650 663 651 fEFlowTrackOutputArray->Add(track); -
modules/Calorimeter.h
rd612dec ra5af1df 60 60 Double_t fTimingEnergyMin; 61 61 Bool_t fElectronsFromTrack; 62 Double_t fTowerRmax;63 62 64 63 Int_t fTowerTrackHits, fTowerPhotonHits; -
modules/Delphes.cc
rd612dec ra5af1df 61 61 fFactory(0) 62 62 { 63 TFolder *folder; 64 63 TFolder *folder = new TFolder(name, ""); 65 64 fFactory = new DelphesFactory("ObjectFactory"); 66 67 folder = new TFolder(name, "");68 65 69 66 SetName(name); … … 83 80 if(folder) 84 81 { 85 gROOT->GetListOfBrowsables()->Remove(folder);86 82 folder->Clear(); 87 83 delete folder; -
modules/DenseTrackFilter.cc
rd612dec ra5af1df 237 237 238 238 Candidate *candidate, *track; 239 Double_t pt, eta, phi , m;239 Double_t pt, eta, phi; 240 240 Int_t numberOfCandidates; 241 241 … … 251 251 eta = candidate->Momentum.Eta(); 252 252 phi = candidate->Momentum.Phi(); 253 m = candidate->Momentum.M();254 255 253 eta = gRandom->Gaus(eta, fEtaPhiRes); 256 254 phi = gRandom->Gaus(phi, fEtaPhiRes); 257 candidate->Momentum.SetPtEtaPhi M(pt, eta, phi, m);255 candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt * TMath::CosH(eta)); 258 256 candidate->AddCandidate(track); 259 257 -
modules/DualReadoutCalorimeter.cc
rd612dec ra5af1df 24 24 // This implementation of dual calorimetry relies on several approximations: 25 25 // - If hadronic energy is found in the tower the energy resolution then the full tower enrgy is smeared according to hadronic resolution (pessimistic for (e,n) or (pi+,gamma)) 26 // - While e+ vs pi+ (or gamma vs n) separation is in principle possible for single particles (using C/S, PMT timing, lateral shower profile) it is not obvious it can be done overlapping particles. 26 // - While e+ vs pi+ (or gamma vs n) separation is in principle possible for single particles (using C/S, PMT timing, lateral shower profile) it is not obvious it can be done overlapping particles. 27 27 // Now we assume that regarless of the number of particle hits per tower we can always distinguish e+ vs pi+, which is probably not true in the case (e+,n) vs (pi+,gamma) without longitudinal segmentation. 28 28 … … 63 63 fItParticleInputArray(0), fItTrackInputArray(0) 64 64 { 65 65 66 66 fECalResolutionFormula = new DelphesFormula; 67 67 fHCalResolutionFormula = new DelphesFormula; … … 75 75 fTowerTrackArray = new TObjArray; 76 76 fItTowerTrackArray = fTowerTrackArray->MakeIterator(); 77 77 78 78 } 79 79 … … 82 82 DualReadoutCalorimeter::~DualReadoutCalorimeter() 83 83 { 84 84 85 85 if(fECalResolutionFormula) delete fECalResolutionFormula; 86 86 if(fHCalResolutionFormula) delete fHCalResolutionFormula; … … 94 94 if(fTowerTrackArray) delete fTowerTrackArray; 95 95 if(fItTowerTrackArray) delete fItTowerTrackArray; 96 96 97 97 } 98 98 … … 172 172 fECalEnergyMin = GetDouble("ECalEnergyMin", 0.0); 173 173 fHCalEnergyMin = GetDouble("HCalEnergyMin", 0.0); 174 fEnergyMin = GetDouble("EnergyMin", 0.0);175 174 176 175 fECalEnergySignificanceMin = GetDouble("ECalEnergySignificanceMin", 0.0); 177 176 fHCalEnergySignificanceMin = GetDouble("HCalEnergySignificanceMin", 0.0); 178 fEnergySignificanceMin = GetDouble("EnergySignificanceMin", 0.0);179 177 180 178 // switch on or off the dithering of the center of DualReadoutCalorimeter towers … … 247 245 fItParticleInputArray->Reset(); 248 246 number = -1; 249 fTowerRmax=0.;250 251 //cout<<"--------- new event ---------- "<<endl;252 253 247 while((particle = static_cast<Candidate*>(fItParticleInputArray->Next()))) 254 248 { 255 249 const TLorentzVector &particlePosition = particle->Position; 256 250 ++number; 257 258 // compute maximum radius (needed in FinalizeTower to assess whether barrel or endcap tower)259 if (particlePosition.Perp() > fTowerRmax)260 fTowerRmax=particlePosition.Perp();261 251 262 252 pdgCode = TMath::Abs(particle->PID); … … 387 377 fHCalTrackEnergy = 0.0; 388 378 fTrackEnergy = 0.0; 389 379 390 380 fECalTrackSigma = 0.0; 391 381 fHCalTrackSigma = 0.0; 392 382 fTrackSigma = 0.0; 393 383 394 384 fTowerTrackHits = 0; 395 385 fTowerPhotonHits = 0; 396 397 fTowerTime = 0.0;398 fTowerTimeWeight = 0.0;399 386 400 387 fECalTowerTrackArray->Clear(); 401 388 fHCalTowerTrackArray->Clear(); 402 389 fTowerTrackArray->Clear(); 403 390 404 391 } 405 392 … … 425 412 } 426 413 414 415 /* 416 if(fECalTrackFractions[number] > 1.0E-9 && fHCalTrackFractions[number] < 1.0E-9) 417 { 418 fECalTrackEnergy += ecalEnergy; 419 ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E()); 420 if(ecalSigma/momentum.E() < track->TrackResolution) energyGuess = ecalEnergy; 421 else energyGuess = momentum.E(); 422 423 fECalTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess; 424 fECalTowerTrackArray->Add(track); 425 } 426 427 else if(fECalTrackFractions[number] < 1.0E-9 && fHCalTrackFractions[number] > 1.0E-9) 428 { 429 fHCalTrackEnergy += hcalEnergy; 430 hcalSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E()); 431 if(hcalSigma/momentum.E() < track->TrackResolution) energyGuess = hcalEnergy; 432 else energyGuess = momentum.E(); 433 434 fHCalTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess; 435 fHCalTowerTrackArray->Add(track); 436 } 437 438 // muons 439 else if(fECalTrackFractions[number] < 1.0E-9 && fHCalTrackFractions[number] < 1.0E-9) 440 { 441 fEFlowTrackOutputArray->Add(track); 442 } 443 */ 444 427 445 // in Dual Readout we do not care if tracks are ECAL of HCAL 428 446 if(fECalTrackFractions[number] > 1.0E-9 || fHCalTrackFractions[number] > 1.0E-9) 429 { 447 { 430 448 fTrackEnergy += energy; 431 // this sigma will be used to determine whether neutral excess is significant. We choose the resolution according to bthe higest deposited fraction (in practice had for charged hadrons and em for electrons) 449 // this sigma will be used to determine whether neutral excess is significant. We choose the resolution according to bthe higest deposited fraction (in practice had for charged hadrons and em for electrons) 432 450 sigma = 0.0; 433 451 if(fHCalTrackFractions[number] > 0) … … 435 453 else 436 454 sigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E()); 437 438 if(sigma/momentum.E() < track->TrackResolution) 439 energyGuess = ecalEnergy + hcalEnergy; 455 456 if(sigma/momentum.E() < track->TrackResolution) 457 energyGuess = ecalEnergy + hcalEnergy; 440 458 else 441 459 energyGuess = momentum.E(); 442 460 443 461 fTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess; 444 462 fTowerTrackArray->Add(track); 463 445 464 } 446 465 else … … 459 478 position = particle->Position; 460 479 461 462 480 // fill current tower 463 481 ecalEnergy = momentum.E() * fECalTowerFractions[number]; … … 467 485 fHCalTowerEnergy += hcalEnergy; 468 486 469 // assume combined timing measurements in ECAL/HCAL sections 470 fTowerTime += (ecalEnergy + hcalEnergy) * position.T(); //sigma_t ~ 1/sqrt(E) 471 fTowerTimeWeight += ecalEnergy + hcalEnergy; 487 if(ecalEnergy > fTimingEnergyMin && fTower) 488 { 489 if (abs(particle->PID) != 11 || !fElectronsFromTrack) 490 { 491 fTower->ECalEnergyTimePairs.push_back(make_pair<Float_t, Float_t>(ecalEnergy, particle->Position.T())); 492 } 493 } 472 494 473 495 fTower->AddCandidate(particle); 474 fTower->Position = position;475 496 } 476 497 … … 485 506 486 507 Candidate *track, *tower, *mother; 487 Double_t energy, pt, eta, phi , r, time;508 Double_t energy, pt, eta, phi; 488 509 Double_t ecalEnergy, hcalEnergy; 489 510 Double_t ecalNeutralEnergy, hcalNeutralEnergy, neutralEnergy; 490 511 491 512 Double_t ecalSigma, hcalSigma, sigma; 492 513 Double_t ecalNeutralSigma, hcalNeutralSigma, neutralSigma; 493 514 494 515 Double_t weightTrack, weightCalo, bestEnergyEstimate, rescaleFactor; 495 516 496 517 TLorentzVector momentum; 497 518 TFractionMap::iterator itFractionMap; … … 501 522 if(!fTower) return; 502 523 503 // if no hadronic energy, use ECAL resolution 524 525 //if (fHCalTowerEnergy < 30 && fECalTowerEnergy < 30) return; 526 //cout<<"----------- New tower ---------"<<endl; 527 528 529 // here we change behaviour w.r.t to standard calorimeter. Start with worse case scenario. If fHCalTowerEnergy > 0, assume total energy smeared by HCAL resolution. 530 // For example, if overlapping charged pions and photons take hadronic resolution as combined measurement 531 532 // if no hadronic fraction at all, then use ECAL resolution 533 534 //cout<<"fECalTowerEnergy: "<<fECalTowerEnergy<<", fHCalTowerEnergy: "<<fHCalTowerEnergy<<", Eta: "<<fTowerEta<<endl; 535 536 // if no hadronic energy, use ECAL resolution 504 537 if (fHCalTowerEnergy <= fHCalEnergyMin) 505 538 { 506 539 energy = fECalTowerEnergy; 507 540 sigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, energy); 508 } 509 510 // if hadronic fraction > 0, use HCAL resolution 541 //cout<<"em energy"<<energy<<", sigma: "<<sigma<<endl; 542 } 543 544 // if hadronic fraction > 0, use HCAL resolution 511 545 else 512 546 { 513 547 energy = fECalTowerEnergy + fHCalTowerEnergy; 514 548 sigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, energy); 549 //cout<<"had energy: "<<energy<<", sigma: "<<sigma<<endl; 515 550 } 516 551 517 552 energy = LogNormal(energy, sigma); 518 553 //cout<<energy<<","<<ecalEnergy<<","<<hcalEnergy<<endl; 554 519 555 if(energy < fEnergyMin || energy < fEnergySignificanceMin*sigma) energy = 0.0; 520 556 … … 526 562 hcalEnergy = LogNormal(fHCalTowerEnergy, hcalSigma); 527 563 528 time = (fTowerTimeWeight < 1.0E-09) ? 0.0 : fTowerTime / fTowerTimeWeight;529 530 564 ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, ecalEnergy); 531 565 hcalSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, hcalEnergy); … … 534 568 if(hcalEnergy < fHCalEnergyMin || hcalEnergy < fHCalEnergySignificanceMin*hcalSigma) hcalEnergy = 0.0; 535 569 570 //cout<<"Measured energy: "<<energy<<endl; 571 536 572 if(fSmearTowerCenter) 537 573 { … … 547 583 pt = energy / TMath::CosH(eta); 548 584 549 // check whether barrel or endcap tower 550 551 // endcap 552 if (TMath::Abs(fTower->Position.Pt() - fTowerRmax) > 1.e-06 && TMath::Abs(eta) > 0.){ 553 r = fTower->Position.Z()/TMath::SinH(eta); 554 } 555 // barrel 556 else { 557 r = fTower->Position.Pt(); 558 } 559 560 fTower->Position.SetPtEtaPhiE(r, eta, phi, time); 561 fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy); 562 fTower->L = fTower->Position.Vect().Mag(); 585 // Time calculation for tower 586 fTower->NTimeHits = 0; 587 sumWeightedTime = 0.0; 588 sumWeight = 0.0; 589 590 for(size_t i = 0; i < fTower->ECalEnergyTimePairs.size(); ++i) 591 { 592 weight = TMath::Sqrt(fTower->ECalEnergyTimePairs[i].first); 593 sumWeightedTime += weight * fTower->ECalEnergyTimePairs[i].second; 594 sumWeight += weight; 595 fTower->NTimeHits++; 596 } 597 598 if(sumWeight > 0.0) 599 { 600 fTower->Position.SetPtEtaPhiE(1.0, eta, phi, sumWeightedTime/sumWeight); 601 } 602 else 603 { 604 fTower->Position.SetPtEtaPhiE(1.0, eta, phi, 999999.9); 605 } 563 606 564 607 fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy); 565 608 fTower->Eem = ecalEnergy; 566 609 fTower->Ehad = hcalEnergy; 567 fTower->Etrk = fTrackEnergy; 610 568 611 fTower->Edges[0] = fTowerEdges[0]; 569 612 fTower->Edges[1] = fTowerEdges[1]; … … 581 624 582 625 // fill energy flow candidates 583 626 584 627 fTrackSigma = TMath::Sqrt(fTrackSigma); 585 628 neutralEnergy = max( (energy - fTrackEnergy) , 0.0); 586 629 neutralSigma = neutralEnergy / TMath::Sqrt(fTrackSigma*fTrackSigma + sigma*sigma); 587 630 631 //cout<<"trackEnergy: "<<fTrackEnergy<<", trackSigma: "<<fTrackSigma<<", Ntracks: "<<fTowerTrackArray->GetEntries()<<endl; 632 633 //cout<<"neutralEnergy: "<<neutralEnergy<<", neutralSigma: "<<neutralSigma<<endl; 634 635 // For now, if neutral excess is significant, simply create neutral EflowPhoton tower and clone each track into eflowtrack !!! -> Creating only photons !! EFlowNeutralHadron collection will be empy!!! TO BE FIXED 588 636 if(neutralEnergy > fEnergyMin && neutralSigma > fEnergySignificanceMin) 589 637 { 638 639 //cout<<"significant neutral excess found:"<<endl; 590 640 // create new photon tower 591 641 tower = static_cast<Candidate*>(fTower->Clone()); 592 pt = neutralEnergy / TMath::CosH(eta); 642 pt = neutralEnergy / TMath::CosH(eta); 643 //cout<<"Creating tower with Pt, Eta, Phi, Energy: "<<pt<<","<<eta<<","<<phi<<","<<neutralEnergy<<endl; 593 644 tower->Momentum.SetPtEtaPhiE(pt, eta, phi, neutralEnergy); 594 595 // if no hadronic energy, use ECAL resolution 596 if (fHCalTowerEnergy <= fHCalEnergyMin) 597 { 598 tower->Eem = neutralEnergy; 599 tower->Ehad = 0.0; 600 tower->PID = 22; 601 fEFlowPhotonOutputArray->Add(tower); 602 } 603 // if hadronic fraction > 0, use HCAL resolution 604 else 605 { 606 tower->Eem = 0; 607 tower->Ehad = neutralEnergy; 608 tower->PID = 130; 609 fEFlowNeutralHadronOutputArray->Add(tower); 610 } 645 tower->Eem = neutralEnergy; 646 tower->Ehad = 0.0; 647 tower->PID = 22; 648 649 fEFlowPhotonOutputArray->Add(tower); 650 611 651 612 652 //clone tracks … … 614 654 while((track = static_cast<Candidate*>(fItTowerTrackArray->Next()))) 615 655 { 656 //cout<<"looping over tracks"<<endl; 616 657 mother = track; 617 658 track = static_cast<Candidate*>(track->Clone()); … … 621 662 } 622 663 623 664 624 665 // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the DualReadoutCalorimeter and tracking 625 666 else if(fTrackEnergy > 0.0) … … 629 670 weightCalo = (sigma > 0.0) ? 1 / (sigma*sigma) : 0.0; 630 671 631 bestEnergyEstimate = (weightTrack*fTrackEnergy + weightCalo*energy) / (weightTrack + weightCalo); 672 bestEnergyEstimate = (weightTrack*fTrackEnergy + weightCalo*energy) / (weightTrack + weightCalo); 632 673 rescaleFactor = bestEnergyEstimate/fTrackEnergy; 633 674 … … 635 676 fItTowerTrackArray->Reset(); 636 677 while((track = static_cast<Candidate*>(fItTowerTrackArray->Next()))) 637 { 678 { 638 679 mother = track; 639 track = static_cast<Candidate 680 track = static_cast<Candidate*>(track->Clone()); 640 681 track->AddCandidate(mother); 641 track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M()); 682 683 track->Momentum *= rescaleFactor; 684 642 685 fEFlowTrackOutputArray->Add(track); 643 686 } 644 687 } 645 646 688 689 690 /* 691 // fill energy flow candidates 692 fECalTrackSigma = TMath::Sqrt(fECalTrackSigma); 693 fHCalTrackSigma = TMath::Sqrt(fHCalTrackSigma); 694 695 //compute neutral excesses 696 ecalNeutralEnergy = max( (ecalEnergy - fECalTrackEnergy) , 0.0); 697 hcalNeutralEnergy = max( (hcalEnergy - fHCalTrackEnergy) , 0.0); 698 699 ecalNeutralSigma = ecalNeutralEnergy / TMath::Sqrt(fECalTrackSigma*fECalTrackSigma + ecalSigma*ecalSigma); 700 hcalNeutralSigma = hcalNeutralEnergy / TMath::Sqrt(fHCalTrackSigma*fHCalTrackSigma + hcalSigma*hcalSigma); 701 702 // if ecal neutral excess is significant, simply create neutral EflowPhoton tower and clone each track into eflowtrack 703 if(ecalNeutralEnergy > fECalEnergyMin && ecalNeutralSigma > fECalEnergySignificanceMin) 704 { 705 // create new photon tower 706 tower = static_cast<Candidate*>(fTower->Clone()); 707 pt = ecalNeutralEnergy / TMath::CosH(eta); 708 709 tower->Momentum.SetPtEtaPhiE(pt, eta, phi, ecalNeutralEnergy); 710 tower->Eem = ecalNeutralEnergy; 711 tower->Ehad = 0.0; 712 tower->PID = 22; 713 714 fEFlowPhotonOutputArray->Add(tower); 715 716 //clone tracks 717 fItECalTowerTrackArray->Reset(); 718 while((track = static_cast<Candidate*>(fItECalTowerTrackArray->Next()))) 719 { 720 mother = track; 721 track = static_cast<Candidate*>(track->Clone()); 722 track->AddCandidate(mother); 723 724 fEFlowTrackOutputArray->Add(track); 725 } 726 727 } 728 729 // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the DualReadoutCalorimeter and tracking 730 else if(fECalTrackEnergy > 0.0) 731 { 732 weightTrack = (fECalTrackSigma > 0.0) ? 1 / (fECalTrackSigma*fECalTrackSigma) : 0.0; 733 weightCalo = (ecalSigma > 0.0) ? 1 / (ecalSigma*ecalSigma) : 0.0; 734 735 bestEnergyEstimate = (weightTrack*fECalTrackEnergy + weightCalo*ecalEnergy) / (weightTrack + weightCalo); 736 rescaleFactor = bestEnergyEstimate/fECalTrackEnergy; 737 738 //rescale tracks 739 fItECalTowerTrackArray->Reset(); 740 while((track = static_cast<Candidate*>(fItECalTowerTrackArray->Next()))) 741 { 742 mother = track; 743 track = static_cast<Candidate*>(track->Clone()); 744 track->AddCandidate(mother); 745 746 track->Momentum *= rescaleFactor; 747 748 fEFlowTrackOutputArray->Add(track); 749 } 750 } 751 752 753 // if hcal neutral excess is significant, simply create neutral EflowNeutralHadron tower and clone each track into eflowtrack 754 if(hcalNeutralEnergy > fHCalEnergyMin && hcalNeutralSigma > fHCalEnergySignificanceMin) 755 { 756 // create new photon tower 757 tower = static_cast<Candidate*>(fTower->Clone()); 758 pt = hcalNeutralEnergy / TMath::CosH(eta); 759 760 tower->Momentum.SetPtEtaPhiE(pt, eta, phi, hcalNeutralEnergy); 761 tower->Ehad = hcalNeutralEnergy; 762 tower->Eem = 0.0; 763 764 fEFlowNeutralHadronOutputArray->Add(tower); 765 766 //clone tracks 767 fItHCalTowerTrackArray->Reset(); 768 while((track = static_cast<Candidate*>(fItHCalTowerTrackArray->Next()))) 769 { 770 mother = track; 771 track = static_cast<Candidate*>(track->Clone()); 772 track->AddCandidate(mother); 773 774 fEFlowTrackOutputArray->Add(track); 775 } 776 777 } 778 779 // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the DualReadoutCalorimeter and tracking 780 else if(fHCalTrackEnergy > 0.0) 781 { 782 weightTrack = (fHCalTrackSigma > 0.0) ? 1 / (fHCalTrackSigma*fHCalTrackSigma) : 0.0; 783 weightCalo = (hcalSigma > 0.0) ? 1 / (hcalSigma*hcalSigma) : 0.0; 784 785 bestEnergyEstimate = (weightTrack*fHCalTrackEnergy + weightCalo*hcalEnergy) / (weightTrack + weightCalo); 786 rescaleFactor = bestEnergyEstimate / fHCalTrackEnergy; 787 788 //rescale tracks 789 fItHCalTowerTrackArray->Reset(); 790 while((track = static_cast<Candidate*>(fItHCalTowerTrackArray->Next()))) 791 { 792 mother = track; 793 track = static_cast<Candidate*>(track->Clone()); 794 track->AddCandidate(mother); 795 796 track->Momentum *= rescaleFactor; 797 798 fEFlowTrackOutputArray->Add(track); 799 } 800 } 801 802 */ 647 803 } 648 804 -
modules/DualReadoutCalorimeter.h
rd612dec ra5af1df 60 60 Double_t fECalTrackEnergy, fHCalTrackEnergy; 61 61 Double_t fTrackEnergy; 62 Double_t fTowerRmax;63 62 64 63 Double_t fTimingEnergyMin; … … 78 77 Double_t fHCalTrackSigma; 79 78 Double_t fTrackSigma; 80 81 Double_t fTowerTime;82 Double_t fTowerTimeWeight;83 79 84 80 Bool_t fSmearTowerCenter; -
modules/Efficiency.cc
rd612dec ra5af1df 78 78 fItInputArray = fInputArray->MakeIterator(); 79 79 80 // switch to compute efficiency based on momentum vector eta, phi81 fUseMomentumVector = GetBool("UseMomentumVector", false);82 83 80 // create output array 84 81 … … 98 95 { 99 96 Candidate *candidate; 100 Double_t pt, eta, phi, e; 101 97 Double_t pt, eta, phi, e, d0, dz, ctgTheta; 102 98 103 99 fItInputArray->Reset(); … … 108 104 eta = candidatePosition.Eta(); 109 105 phi = candidatePosition.Phi(); 110 111 if (fUseMomentumVector){112 eta = candidateMomentum.Eta();113 phi = candidateMomentum.Phi();114 }115 116 106 pt = candidateMomentum.Pt(); 117 107 e = candidateMomentum.E(); 108 d0 = candidate->D0; 109 dz = candidate->DZ; 110 ctgTheta = candidate->CtgTheta; 118 111 119 112 // apply an efficency formula 120 if(gRandom->Uniform() > fFormula->Eval(pt, eta, phi, e, candidate)) continue;113 if(gRandom->Uniform() > fFormula->Eval(pt, eta, phi, e, d0, dz, ctgTheta)) continue; 121 114 122 115 fOutputArray->Add(candidate); -
modules/Efficiency.h
rd612dec ra5af1df 53 53 TObjArray *fOutputArray; //! 54 54 55 Double_t fUseMomentumVector; //!56 57 55 ClassDef(Efficiency, 1) 58 56 }; -
modules/EnergySmearing.cc
rd612dec ra5af1df 95 95 { 96 96 Candidate *candidate, *mother; 97 Double_t pt, energy, eta, phi , m;97 Double_t pt, energy, eta, phi; 98 98 99 99 fItInputArray->Reset(); … … 107 107 phi = candidatePosition.Phi(); 108 108 energy = candidateMomentum.E(); 109 m = candidateMomentum.M();110 109 111 110 // apply smearing formula … … 118 117 eta = candidateMomentum.Eta(); 119 118 phi = candidateMomentum.Phi(); 120 pt = (energy > m) ? TMath::Sqrt(energy*energy - m*m)/TMath::CosH(eta) : 0; 121 candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, energy); 119 candidate->Momentum.SetPtEtaPhiE(energy / TMath::CosH(eta), eta, phi, energy); 122 120 candidate->TrackResolution = fFormula->Eval(pt, eta, phi, energy) / candidateMomentum.E(); 123 121 candidate->AddCandidate(mother); -
modules/FastJetFinder.cc
rd612dec ra5af1df 104 104 fJetAlgorithm = GetInt("JetAlgorithm", 6); 105 105 fParameterR = GetDouble("ParameterR", 0.5); 106 fParameterP = GetDouble("ParameterP", -1.0);107 106 108 107 fConeRadius = GetDouble("ConeRadius", 0.5); … … 248 247 fDefinition = new JetDefinition(fValenciaPlugin); 249 248 break; 250 case 10:251 fDefinition = new JetDefinition(ee_genkt_algorithm,fParameterR,fParameterP);252 break;253 254 249 } 255 250 … … 321 316 Double_t deta, dphi, detaMax, dphiMax; 322 317 Double_t time, timeWeight; 323 Double_t neutralEnergyFraction, chargedEnergyFraction;324 325 318 Int_t number, ncharged, nneutrals; 326 319 Int_t charge; … … 425 418 nneutrals = 0; 426 419 427 neutralEnergyFraction =0.;428 chargedEnergyFraction =0.;429 430 420 inputList.clear(); 431 421 inputList = sequence->constituents(*itOutputList); … … 442 432 443 433 if(constituent->Charge == 0) 444 {445 434 nneutrals++; 446 neutralEnergyFraction += constituent->Momentum.E();447 }448 435 else 449 {450 436 ncharged++; 451 chargedEnergyFraction += constituent->Momentum.E(); 452 } 453 437 454 438 time += TMath::Sqrt(constituent->Momentum.E()) * (constituent->Position.T()); 455 439 timeWeight += TMath::Sqrt(constituent->Momentum.E()); … … 471 455 candidate->NCharged = ncharged; 472 456 473 candidate->NeutralEnergyFraction = (momentum.E() > 0 ) ? neutralEnergyFraction/momentum.E() : 0.0;474 candidate->ChargedEnergyFraction = (momentum.E() > 0 ) ? chargedEnergyFraction/momentum.E() : 0.0;475 476 457 //for exclusive clustering, access y_n,n+1 as exclusive_ymerge (fNJets); 477 458 candidate->ExclYmerge23 = excl_ymerge23; … … 489 470 fastjet::Filter trimmer(fastjet::JetDefinition(fastjet::kt_algorithm, fRTrim), fastjet::SelectorPtFractionMin(fPtFracTrim)); 490 471 fastjet::PseudoJet trimmed_jet = trimmer(*itOutputList); 491 472 473 trimmed_jet = join(trimmed_jet.constituents()); 474 492 475 candidate->TrimmedP4[0].SetPtEtaPhiM(trimmed_jet.pt(), trimmed_jet.eta(), trimmed_jet.phi(), trimmed_jet.m()); 493 476 -
modules/FastJetFinder.h
rd612dec ra5af1df 72 72 Int_t fJetAlgorithm; 73 73 Double_t fParameterR; 74 Double_t fParameterP;75 74 76 75 Double_t fJetPTMin; -
modules/IdentificationMap.cc
rd612dec ra5af1df 170 170 { 171 171 // change PID of particle 172 candidate = static_cast<Candidate *>(candidate->Clone());173 172 if(pdgCodeOut != 0) candidate->PID = charge * pdgCodeOut; 174 173 fOutputArray->Add(candidate); -
modules/JetFakeParticle.cc
rd612dec ra5af1df 146 146 while((candidate = static_cast<Candidate *>(fItInputArray->Next()))) 147 147 { 148 const TLorentzVector &candidatePosition = candidate->Position; 148 149 const TLorentzVector &candidateMomentum = candidate->Momentum; 149 eta = candidate Momentum.Eta();150 phi = candidate Momentum.Phi();150 eta = candidatePosition.Eta(); 151 phi = candidatePosition.Phi(); 151 152 pt = candidateMomentum.Pt(); 152 153 e = candidateMomentum.E(); -
modules/ModulesLinkDef.h
rd612dec ra5af1df 36 36 #include "modules/MomentumSmearing.h" 37 37 #include "modules/TrackSmearing.h" 38 #include "modules/TrackCovariance.h"39 #include "modules/ClusterCounting.h"40 38 #include "modules/ImpactParameterSmearing.h" 41 39 #include "modules/TimeSmearing.h" 42 #include "modules/TimeOfFlight.h"43 40 #include "modules/SimpleCalorimeter.h" 44 41 #include "modules/DenseTrackFilter.h" … … 75 72 #include "modules/VertexFinder.h" 76 73 #include "modules/VertexFinderDA4D.h" 77 #include "modules/DecayFilter.h"78 #include "modules/ParticleDensity.h"79 #include "modules/TruthVertexFinder.h"80 74 #include "modules/ExampleModule.h" 81 75 #include "modules/LLPFilter.h" … … 99 93 #pragma link C++ class MomentumSmearing+; 100 94 #pragma link C++ class TrackSmearing+; 101 #pragma link C++ class TrackCovariance+;102 #pragma link C++ class ClusterCounting+;103 95 #pragma link C++ class ImpactParameterSmearing+; 104 96 #pragma link C++ class TimeSmearing+; 105 #pragma link C++ class TimeOfFlight+;106 97 #pragma link C++ class SimpleCalorimeter+; 107 98 #pragma link C++ class DenseTrackFilter+; … … 138 129 #pragma link C++ class VertexFinder+; 139 130 #pragma link C++ class VertexFinderDA4D+; 140 #pragma link C++ class DecayFilter+;141 #pragma link C++ class ParticleDensity+;142 #pragma link C++ class TruthVertexFinder+;143 131 #pragma link C++ class ExampleModule+; 144 132 #pragma link C++ class LLPFilter+; -
modules/MomentumSmearing.cc
rd612dec ra5af1df 78 78 fItInputArray = fInputArray->MakeIterator(); 79 79 80 // switch to compute momentum smearing based on momentum vector eta, phi81 fUseMomentumVector = GetBool("UseMomentumVector", false);82 83 80 // create output array 84 81 … … 98 95 { 99 96 Candidate *candidate, *mother; 100 Double_t pt, eta, phi, e, m,res;97 Double_t pt, eta, phi, e, res; 101 98 102 99 fItInputArray->Reset(); … … 107 104 eta = candidatePosition.Eta(); 108 105 phi = candidatePosition.Phi(); 109 110 if (fUseMomentumVector){111 eta = candidateMomentum.Eta();112 phi = candidateMomentum.Phi();113 }114 115 106 pt = candidateMomentum.Pt(); 116 107 e = candidateMomentum.E(); 117 m = candidateMomentum.M(); 118 res = fFormula->Eval(pt, eta, phi, e, candidate); 108 res = fFormula->Eval(pt, eta, phi, e); 119 109 120 110 // apply smearing formula … … 131 121 eta = candidateMomentum.Eta(); 132 122 phi = candidateMomentum.Phi(); 133 candidate->Momentum.SetPtEtaPhi M(pt, eta, phi, m);123 candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt * TMath::CosH(eta)); 134 124 //candidate->TrackResolution = fFormula->Eval(pt, eta, phi, e); 135 125 candidate->TrackResolution = res; -
modules/MomentumSmearing.h
rd612dec ra5af1df 55 55 TObjArray *fOutputArray; //! 56 56 57 Double_t fUseMomentumVector; //!58 59 57 ClassDef(MomentumSmearing, 1) 60 58 }; -
modules/ParticlePropagator.cc
rd612dec ra5af1df 125 125 TLorentzVector particlePosition, particleMomentum, beamSpotPosition; 126 126 Double_t px, py, pz, pt, pt2, e, q; 127 Double_t x, y, z, t, r; 128 Double_t x_c, y_c, r_c, phi_0; 129 Double_t x_t, y_t, z_t, r_t, phi_t; 130 Double_t t_r, t_z; 131 Double_t tmp; 132 Double_t gammam, omega; 133 Double_t xd, yd, zd; 134 Double_t l, d0, dz, ctgTheta, alpha; 127 Double_t x, y, z, t, r, phi; 128 Double_t x_c, y_c, r_c, phi_c, phi_0; 129 Double_t x_t, y_t, z_t, r_t; 130 Double_t t1, t2, t3, t4, t5, t6; 131 Double_t t_z, t_r, t_ra, t_rb; 132 Double_t tmp, discr, discr2; 133 Double_t delta, gammam, omega, asinrho; 134 Double_t rcu, rc2, xd, yd, zd; 135 Double_t l, d0, dz, p, ctgTheta, phip, etap, alpha; 135 136 Double_t bsx, bsy, bsz; 136 Double_t td, pio, phid, vz;137 137 138 138 const Double_t c_light = 2.99792458E8; 139 139 140 140 if(!fBeamSpotInputArray || fBeamSpotInputArray->GetSize() == 0) 141 {142 141 beamSpotPosition.SetXYZT(0.0, 0.0, 0.0, 0.0); 143 }144 142 else 145 143 { … … 162 160 particlePosition = particle->Position; 163 161 particleMomentum = particle->Momentum; 164 165 162 x = particlePosition.X() * 1.0E-3; 166 163 y = particlePosition.Y() * 1.0E-3; … … 209 206 // solve pt2*t^2 + 2*(px*x + py*y)*t - (fRadius2 - x*x - y*y) = 0 210 207 tmp = px * y - py * x; 211 t_r = (TMath::Sqrt(pt2 * fRadius2 - tmp * tmp) - px * x - py * y) / pt2; 212 213 t_z = (TMath::Sign(fHalfLength, pz) - z) / pz; 214 215 t = TMath::Min(t_r, t_z); 208 discr2 = pt2 * fRadius2 - tmp * tmp; 209 210 if(discr2 < 0.0) 211 { 212 // no solutions 213 continue; 214 } 215 216 tmp = px * x + py * y; 217 discr = TMath::Sqrt(discr2); 218 t1 = (-tmp + discr) / pt2; 219 t2 = (-tmp - discr) / pt2; 220 t = (t1 < 0.0) ? t2 : t1; 221 222 z_t = z + pz * t; 223 if(TMath::Abs(z_t) > fHalfLength) 224 { 225 t3 = (+fHalfLength - z) / pz; 226 t4 = (-fHalfLength - z) / pz; 227 t = (t3 < 0.0) ? t4 : t3; 228 } 216 229 217 230 x_t = x + px * t; … … 232 245 233 246 fOutputArray->Add(candidate); 234 235 247 if(TMath::Abs(q) > 1.0E-9) 236 248 { … … 255 267 { 256 268 257 // 1. initial transverse momentum p_{T0}: Part->pt258 // initial transverse momentum direction phi_0 = -atan(p_{X0} / p_{Y0})259 // relativistic gamma: gamma = E /mc^2; gammam = gamma * m260 // gyration frequency omega = q * Bz / (gammam)261 // helix radius r = p_{T0} / (omega * gammam)269 // 1. initial transverse momentum p_{T0}: Part->pt 270 // initial transverse momentum direction phi_0 = -atan(p_X0/p_Y0) 271 // relativistic gamma: gamma = E/mc^2; gammam = gamma * m 272 // gyration frequency omega = q/(gamma m) fBz 273 // helix radius r = p_{T0} / (omega gamma m) 262 274 263 275 gammam = e * 1.0E9 / (c_light * c_light); // gammam in [eV/c^2] 264 omega = q * fBz / gammam; // omega is here in [89875518/s]276 omega = q * fBz / (gammam); // omega is here in [89875518/s] 265 277 r = pt / (q * fBz) * 1.0E9 / c_light; // in [m] 266 278 … … 271 283 y_c = y - r * TMath::Cos(phi_0); 272 284 r_c = TMath::Hypot(x_c, y_c); 273 274 // time of closest approach 275 td = (phi_0 + TMath::ATan2(x_c, y_c)) / omega; 276 277 // remove all the modulo pi that might have come from the atan 278 pio = TMath::Abs(TMath::Pi() / omega); 279 while(TMath::Abs(td) > 0.5 * pio) 280 { 281 td -= TMath::Sign(1.0, td) * pio; 282 } 283 284 vz = pz * c_light / e; 285 286 // calculate coordinates of closest approach to z axis 287 phid = phi_0 - omega * td; 288 xd = x_c - r * TMath::Sin(phid); 289 yd = y_c + r * TMath::Cos(phid); 290 zd = z + vz * td; 291 292 // momentum at closest approach 293 px = pt * TMath::Cos(phid); 294 py = pt * TMath::Sin(phid); 295 296 particleMomentum.SetPtEtaPhiE(pt, particleMomentum.Eta(), phid, particleMomentum.E()); 285 phi_c = TMath::ATan2(y_c, x_c); 286 phi = phi_c; 287 if(x_c < 0.0) phi += TMath::Pi(); 288 289 rcu = TMath::Abs(r); 290 rc2 = r_c * r_c; 291 292 // calculate coordinates of closest approach to track circle in transverse plane xd, yd, zd 293 xd = x_c * x_c * x_c - x_c * rcu * r_c + x_c * y_c * y_c; 294 xd = (rc2 > 0.0) ? xd / rc2 : -999; 295 yd = y_c * (-rcu * r_c + rc2); 296 yd = (rc2 > 0.0) ? yd / rc2 : -999; 297 zd = z + (TMath::Sqrt(xd * xd + yd * yd) - TMath::Sqrt(x * x + y * y)) * pz / pt; 298 299 // use perigee momentum rather than original particle 300 // momentum, since the orignal particle momentum isn't known 301 302 px = TMath::Sign(1.0, r) * pt * (-y_c / r_c); 303 py = TMath::Sign(1.0, r) * pt * (x_c / r_c); 304 etap = particleMomentum.Eta(); 305 phip = TMath::ATan2(py, px); 306 307 particleMomentum.SetPtEtaPhiE(pt, etap, phip, particleMomentum.E()); 297 308 298 309 // calculate additional track parameters (correct for beamspot position) 299 d0 = ((xd - bsx) * py - (yd - bsy) * px) / pt; 300 dz = zd - bsz; 310 311 d0 = ((x - bsx) * py - (y - bsy) * px) / pt; 312 dz = z - ((x - bsx) * px + (y - bsy) * py) / pt * (pz / pt); 313 p = particleMomentum.P(); 301 314 ctgTheta = 1.0 / TMath::Tan(particleMomentum.Theta()); 302 315 … … 304 317 // t_r : time to exit from the sides 305 318 // t_z : time to exit from the front or the back 306 t_z = (vz == 0.0) ? 1.0E99 : (TMath::Sign(fHalfLength, pz) - z) / vz; 319 t_r = 0.0; // in [ns] 320 int sign_pz = (pz > 0.0) ? 1 : -1; 321 if(pz == 0.0) 322 t_z = 1.0E99; 323 else 324 t_z = gammam / (pz * 1.0E9 / c_light) * (-z + fHalfLength * sign_pz); 307 325 308 326 if(r_c + TMath::Abs(r) < fRadius) … … 313 331 else 314 332 { 315 alpha = TMath::ACos((r * r + r_c * r_c - fRadius * fRadius) / (2 * TMath::Abs(r) * r_c)); 316 t_r = td + TMath::Abs(alpha / omega); 317 333 asinrho = TMath::ASin((fRadius * fRadius - r_c * r_c - r * r) / (2 * TMath::Abs(r) * r_c)); 334 delta = phi_0 - phi; 335 if(delta < -TMath::Pi()) delta += 2 * TMath::Pi(); 336 if(delta > TMath::Pi()) delta -= 2 * TMath::Pi(); 337 t1 = (delta + asinrho) / omega; 338 t2 = (delta + TMath::Pi() - asinrho) / omega; 339 t3 = (delta + TMath::Pi() + asinrho) / omega; 340 t4 = (delta - asinrho) / omega; 341 t5 = (delta - TMath::Pi() - asinrho) / omega; 342 t6 = (delta - TMath::Pi() + asinrho) / omega; 343 344 if(t1 < 0.0) t1 = 1.0E99; 345 if(t2 < 0.0) t2 = 1.0E99; 346 if(t3 < 0.0) t3 = 1.0E99; 347 if(t4 < 0.0) t4 = 1.0E99; 348 if(t5 < 0.0) t5 = 1.0E99; 349 if(t6 < 0.0) t6 = 1.0E99; 350 351 t_ra = TMath::Min(t1, TMath::Min(t2, t3)); 352 t_rb = TMath::Min(t4, TMath::Min(t5, t6)); 353 t_r = TMath::Min(t_ra, t_rb); 318 354 t = TMath::Min(t_r, t_z); 319 355 } 320 356 321 357 // 4. position in terms of x(t), y(t), z(t) 322 phi_t = phi_0 - omega * t; 323 x_t = x_c - r * TMath::Sin(phi_t); 324 y_t = y_c + r * TMath::Cos(phi_t); 325 z_t = z + vz * t; 358 x_t = x_c + r * TMath::Sin(omega * t - phi_0); 359 y_t = y_c + r * TMath::Cos(omega * t - phi_0); 360 z_t = z + pz * 1.0E9 / c_light / gammam * t; 326 361 r_t = TMath::Hypot(x_t, y_t); 327 362 328 // lenght of the path from production to tracker 329 l = t * TMath::Hypot(vz, r * omega); 363 // compute path length for an helix 364 365 alpha = pz * 1.0E9 / c_light / gammam; 366 l = t * TMath::Sqrt(alpha * alpha + r * r * omega * omega); 330 367 331 368 if(r_t > 0.0) 332 369 { 370 333 371 // store these variables before cloning 334 372 if(particle == candidate) … … 336 374 particle->D0 = d0 * 1.0E3; 337 375 particle->DZ = dz * 1.0E3; 338 particle->P = p articleMomentum.P();376 particle->P = p; 339 377 particle->PT = pt; 340 378 particle->CtgTheta = ctgTheta; 341 particle->Phi = p articleMomentum.Phi();379 particle->Phi = phip; 342 380 } 343 381 -
modules/SimpleCalorimeter.cc
rd612dec ra5af1df 208 208 fItParticleInputArray->Reset(); 209 209 number = -1; 210 fTowerRmax=0.;211 210 while((particle = static_cast<Candidate *>(fItParticleInputArray->Next()))) 212 211 { 213 212 const TLorentzVector &particlePosition = particle->Position; 214 213 ++number; 215 216 // compute maximum radius (needed in FinalizeTower to assess whether barrel or endcap tower)217 if (particlePosition.Perp() > fTowerRmax)218 fTowerRmax=particlePosition.Perp();219 214 220 215 pdgCode = TMath::Abs(particle->PID); … … 399 394 fTowerEnergy += energy; 400 395 401 fTowerTime += energy * energy * position.T(); //sigma_t ~ 1/E402 fTowerTimeWeight += energy * energy;396 fTowerTime += energy * position.T(); 397 fTowerTimeWeight += energy; 403 398 404 399 fTower->AddCandidate(particle); 405 fTower->Position = position;406 407 400 } 408 401 … … 416 409 { 417 410 Candidate *tower, *track, *mother; 418 Double_t energy, neutralEnergy, pt, eta, phi , r;411 Double_t energy, neutralEnergy, pt, eta, phi; 419 412 Double_t sigma, neutralSigma; 420 413 Double_t time; … … 450 443 pt = energy / TMath::CosH(eta); 451 444 452 // endcap 453 if (TMath::Abs(fTower->Position.Pt() - fTowerRmax) > 1.e-06 && TMath::Abs(eta) > 0.){ 454 r = fTower->Position.Z()/TMath::SinH(eta); 455 } 456 // barrel 457 else { 458 r = fTower->Position.Pt(); 459 } 460 461 fTower->Position.SetPtEtaPhiE(r, eta, phi, time); 445 fTower->Position.SetPtEtaPhiE(1.0, eta, phi, time); 462 446 fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy); 463 fTower->L = fTower->Position.Vect().Mag();464 447 465 448 fTower->Eem = (!fIsEcal) ? 0 : energy; 466 449 fTower->Ehad = (fIsEcal) ? 0 : energy; 467 fTower->Etrk = fTrackEnergy;468 450 469 451 fTower->Edges[0] = fTowerEdges[0]; … … 525 507 track = static_cast<Candidate *>(track->Clone()); 526 508 track->AddCandidate(mother); 527 track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M()); 509 510 track->Momentum *= rescaleFactor; 511 528 512 fEFlowTrackOutputArray->Add(track); 529 513 } -
modules/SimpleCalorimeter.h
rd612dec ra5af1df 62 62 Double_t fTrackTime; 63 63 64 Double_t fTowerRmax;65 66 64 Double_t fTowerTimeWeight; 67 65 Double_t fTrackTimeWeight; -
modules/TauTagging.cc
rd612dec ra5af1df 83 83 daughter1 = static_cast<Candidate *>(fParticleInputArray->At(i)); 84 84 pdgCode = TMath::Abs(daughter1->PID); 85 //if(pdgCode == 11 || pdgCode == 13 || pdgCode == 15)86 //return -1;87 if(pdgCode == 24)85 if(pdgCode == 11 || pdgCode == 13 || pdgCode == 15) 86 return -1; 87 else if(pdgCode == 24) 88 88 { 89 89 if(daughter1->D1 < 0) return -1; … … 96 96 } 97 97 } 98 98 99 return 0; 99 100 } … … 189 190 void TauTagging::Process() 190 191 { 191 Candidate *jet, *tau, *daughter , *part;192 Candidate *jet, *tau, *daughter; 192 193 TLorentzVector tauMomentum; 193 194 Double_t pt, eta, phi, e, eff; … … 203 204 // loop over all input jets 204 205 fItJetInputArray->Reset(); 205 206 206 while((jet = static_cast<Candidate *>(fItJetInputArray->Next()))) 207 207 { 208 209 208 const TLorentzVector &jetMomentum = jet->Momentum; 210 209 pdgCode = 0; … … 244 243 } 245 244 } 246 247 // fake electrons and muons248 249 if (pdgCode == 0)250 {251 252 Double_t drMin = fDeltaR;253 fItPartonInputArray->Reset();254 while((part = static_cast<Candidate *>(fItPartonInputArray->Next())))255 {256 if(TMath::Abs(part->PID) == 11 || TMath::Abs(part->PID) == 13)257 {258 tauMomentum = part->Momentum;259 if (tauMomentum.Pt() < fClassifier->fPTMin) continue;260 if (TMath::Abs(tauMomentum.Eta()) > fClassifier->fEtaMax) continue;261 262 Double_t dr = jetMomentum.DeltaR(tauMomentum);263 if( dr < drMin)264 {265 drMin = dr;266 pdgCode = TMath::Abs(part->PID);267 charge = part->Charge;268 }269 }270 }271 }272 273 245 // find an efficency formula 274 246 itEfficiencyMap = fEfficiencyMap.find(pdgCode); -
modules/TimeSmearing.cc
rd612dec ra5af1df 19 19 /** \class TimeSmearing 20 20 * 21 * Performs t imesmearing.21 * Performs transverse momentum resolution smearing. 22 22 * 23 * \author M. Selvaggi - CERN23 * \author P. Demin - UCL, Louvain-la-Neuve 24 24 * 25 25 */ … … 49 49 50 50 using namespace std; 51 51 52 //------------------------------------------------------------------------------ 52 53 53 54 TimeSmearing::TimeSmearing() : 54 fItInputArray(0) , fResolutionFormula(0)55 fItInputArray(0) 55 56 { 56 fResolutionFormula = new DelphesFormula;57 57 } 58 58 … … 61 61 TimeSmearing::~TimeSmearing() 62 62 { 63 if(fResolutionFormula) delete fResolutionFormula;64 63 } 65 64 … … 70 69 // read resolution formula 71 70 72 // read time resolution formula in seconds73 fResolutionFormula->Compile(GetString("TimeResolution", "30e-12"));71 fTimeResolution = GetDouble("TimeResolution", 1.0E-10); 72 // import input array 74 73 75 // import track input array76 74 fInputArray = ImportArray(GetString("InputArray", "MuonMomentumSmearing/muons")); 77 75 fItInputArray = fInputArray->MakeIterator(); 78 76 77 // create output array 79 78 80 // create output array 81 fOutputArray = ExportArray(GetString("OutputArray", "tracks")); 79 fOutputArray = ExportArray(GetString("OutputArray", "muons")); 82 80 } 83 81 … … 94 92 { 95 93 Candidate *candidate, *mother; 96 Double_t tf_smeared, tf; 97 Double_t eta, energy; 98 Double_t timeResolution; 99 94 Double_t ti, tf_smeared, tf; 100 95 const Double_t c_light = 2.99792458E8; 101 96 … … 103 98 while((candidate = static_cast<Candidate *>(fItInputArray->Next()))) 104 99 { 100 const TLorentzVector &candidateInitialPosition = candidate->InitialPosition; 101 const TLorentzVector &candidateFinalPosition = candidate->Position; 105 102 106 const TLorentzVector &candidateFinalPosition = candidate->Position; 107 const TLorentzVector &candidateMomentum = candidate->Momentum; 108 103 ti = candidateInitialPosition.T() * 1.0E-3 / c_light; 109 104 tf = candidateFinalPosition.T() * 1.0E-3 / c_light; 110 105 111 eta = candidateMomentum.Eta();112 energy = candidateMomentum.E();113 114 106 // apply smearing formula 115 timeResolution = fResolutionFormula->Eval(0.0, eta, 0.0, energy); 116 tf_smeared = gRandom->Gaus(tf, timeResolution); 107 tf_smeared = gRandom->Gaus(tf, fTimeResolution); 108 ti = ti + tf_smeared - tf; 109 tf = tf_smeared; 117 110 118 111 mother = candidate; 119 112 candidate = static_cast<Candidate *>(candidate->Clone()); 113 candidate->InitialPosition.SetT(ti * 1.0E3 * c_light); 114 candidate->Position.SetT(tf * 1.0E3 * c_light); 120 115 121 candidate->Position.SetT(tf_smeared * 1.0E3 * c_light); 122 candidate->ErrorT = timeResolution * 1.0E3 * c_light; 116 candidate->ErrorT = fTimeResolution * 1.0E3 * c_light; 123 117 124 118 candidate->AddCandidate(mother); 119 125 120 fOutputArray->Add(candidate); 126 121 } 127 122 } 123 124 //------------------------------------------------------------------------------ -
modules/TimeSmearing.h
rd612dec ra5af1df 22 22 /** \class TimeSmearing 23 23 * 24 * Performs t ime smearing.24 * Performs transverse time smearing. 25 25 * 26 * \author Michele Selvaggi - CERN26 * \author Michele Selvaggi - UCL, Louvain-la-Neuve 27 27 * 28 28 */ … … 32 32 class TIterator; 33 33 class TObjArray; 34 class DelphesFormula;35 34 36 35 class TimeSmearing: public DelphesModule … … 45 44 46 45 private: 47 48 DelphesFormula *fResolutionFormula; 49 Int_t fVertexTimeMode; 46 Double_t fTimeResolution; 50 47 51 48 TIterator *fItInputArray; //! -
modules/TrackSmearing.cc
rd612dec ra5af1df 158 158 TLorentzVector beamSpotPosition; 159 159 Candidate *candidate, *mother; 160 Double_t pt, eta, e, m,d0, d0Error, trueD0, dz, dzError, trueDZ, p, pError, trueP, ctgTheta, ctgThetaError, trueCtgTheta, phi, phiError, truePhi;160 Double_t pt, eta, d0, d0Error, trueD0, dz, dzError, trueDZ, p, pError, trueP, ctgTheta, ctgThetaError, trueCtgTheta, phi, phiError, truePhi; 161 161 Double_t x, y, z, t, px, py, pz, theta; 162 162 Double_t q, r; … … 223 223 pt = momentum.Pt(); 224 224 eta = momentum.Eta(); 225 e = momentum.E();226 m = momentum.M();227 225 228 226 d0 = trueD0 = candidate->D0; … … 234 232 235 233 if(fUseD0Formula) 236 d0Error = fD0Formula->Eval(pt, eta , phi, e, candidate);234 d0Error = fD0Formula->Eval(pt, eta); 237 235 else 238 236 { … … 249 247 250 248 if(fUseDZFormula) 251 dzError = fDZFormula->Eval(pt, eta , phi, e, candidate);249 dzError = fDZFormula->Eval(pt, eta); 252 250 else 253 251 { … … 264 262 265 263 if(fUsePFormula) 266 pError = fPFormula->Eval(pt, eta , phi, e, candidate) * p;264 pError = fPFormula->Eval(pt, eta) * p; 267 265 else 268 266 { … … 279 277 280 278 if(fUseCtgThetaFormula) 281 ctgThetaError = fCtgThetaFormula->Eval(pt, eta , phi, e, candidate);279 ctgThetaError = fCtgThetaFormula->Eval(pt, eta); 282 280 else 283 281 { … … 294 292 295 293 if(fUsePhiFormula) 296 phiError = fPhiFormula->Eval(pt, eta , phi, e, candidate);294 phiError = fPhiFormula->Eval(pt, eta); 297 295 else 298 296 { … … 333 331 candidate->Momentum.SetPy(p * TMath::Sin(phi) * TMath::Sin(theta)); 334 332 candidate->Momentum.SetPz(p * TMath::Cos(theta)); 335 candidate->Momentum.SetE( TMath::Sqrt(p*p + m*m));333 candidate->Momentum.SetE(candidate->Momentum.Pt() * TMath::CosH(eta)); 336 334 candidate->PT = candidate->Momentum.Pt(); 337 335 -
modules/TreeWriter.cc
rd612dec ra5af1df 72 72 fClassMap[Track::Class()] = &TreeWriter::ProcessTracks; 73 73 fClassMap[Tower::Class()] = &TreeWriter::ProcessTowers; 74 fClassMap[ParticleFlowCandidate::Class()] = &TreeWriter::ProcessParticleFlowCandidates;75 74 fClassMap[Photon::Class()] = &TreeWriter::ProcessPhotons; 76 75 fClassMap[Electron::Class()] = &TreeWriter::ProcessElectrons; … … 124 123 fBranchMap.insert(make_pair(branch, make_pair(itClassMap->second, array))); 125 124 } 126 127 param = GetParam("Info");128 TString infoName;129 Double_t infoValue;130 131 size = param.GetSize();132 for(i = 0; i < size / 2; ++i)133 {134 infoName = param[i * 2].GetString();135 infoValue = param[i * 2 + 1].GetDouble();136 137 AddInfo(infoName, infoValue);138 }139 125 } 140 126 … … 152 138 it1.Reset(); 153 139 array->Clear(); 154 155 140 while((candidate = static_cast<Candidate *>(it1.Next()))) 156 141 { … … 230 215 entry->Pz = momentum.Pz(); 231 216 217 entry->D0 = candidate->D0; 218 entry->DZ = candidate->DZ; 219 entry->P = momentum.P(); 220 entry->PT = candidate->PT; 221 entry->CtgTheta = candidate->CtgTheta; 222 entry->Phi = candidate->Phi; 223 232 224 entry->Eta = eta; 233 225 entry->Phi = momentum.Phi(); … … 330 322 Candidate *particle = 0; 331 323 Track *entry = 0; 332 Double_t pt, signz, cosTheta, eta, rapidity, p, ctgTheta, phi , m;324 Double_t pt, signz, cosTheta, eta, rapidity, p, ctgTheta, phi; 333 325 const Double_t c_light = 2.99792458E8; 334 326 … … 364 356 365 357 entry->D0 = candidate->D0; 358 entry->ErrorD0 = candidate->ErrorD0; 366 359 entry->DZ = candidate->DZ; 367 entry->Nclusters = candidate->Nclusters; 368 entry->dNdx = candidate->dNdx; 360 entry->ErrorDZ = candidate->ErrorDZ; 369 361 370 362 entry->ErrorP = candidate->ErrorP; 371 363 entry->ErrorPT = candidate->ErrorPT; 372 373 // diagonal covariance matrix terms 374 entry->ErrorD0 = candidate->ErrorD0; 375 entry->ErrorC = candidate->ErrorC; 364 entry->ErrorCtgTheta = candidate->ErrorCtgTheta; 376 365 entry->ErrorPhi = candidate->ErrorPhi; 377 entry->ErrorDZ = candidate->ErrorDZ;378 entry->ErrorCtgTheta = candidate->ErrorCtgTheta;379 380 // add some offdiagonal covariance matrix elements381 entry->ErrorD0Phi = candidate->TrackCovariance(0,1);382 entry->ErrorD0C = candidate->TrackCovariance(0,2);383 entry->ErrorD0DZ = candidate->TrackCovariance(0,3);384 entry->ErrorD0CtgTheta = candidate->TrackCovariance(0,4);385 entry->ErrorPhiC = candidate->TrackCovariance(1,2);386 entry->ErrorPhiDZ = candidate->TrackCovariance(1,3);387 entry->ErrorPhiCtgTheta = candidate->TrackCovariance(1,4);388 entry->ErrorCDZ = candidate->TrackCovariance(2,3);389 entry->ErrorCCtgTheta = candidate->TrackCovariance(2,4);390 entry->ErrorDZCtgTheta = candidate->TrackCovariance(3,4);391 366 392 367 entry->Xd = candidate->Xd; … … 399 374 p = momentum.P(); 400 375 phi = momentum.Phi(); 401 m = momentum.M();402 376 ctgTheta = (TMath::Tan(momentum.Theta()) != 0) ? 1 / TMath::Tan(momentum.Theta()) : 1e10; 403 377 … … 412 386 entry->Phi = phi; 413 387 entry->CtgTheta = ctgTheta; 414 entry->C = candidate->C;415 entry->Mass = m;416 388 417 389 particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0)); 418 //const TLorentzVector &initialPosition = particle->Position; 419 const TLorentzVector &initialPosition = candidate->InitialPosition; 390 const TLorentzVector &initialPosition = particle->Position; 420 391 421 392 entry->X = initialPosition.X(); … … 423 394 entry->Z = initialPosition.Z(); 424 395 entry->T = initialPosition.T() * 1.0E-3 / c_light; 425 entry->ErrorT =candidate-> ErrorT * 1.0E-3 / c_light;426 396 427 397 entry->Particle = particle; … … 465 435 entry->Eem = candidate->Eem; 466 436 entry->Ehad = candidate->Ehad; 467 entry->Etrk = candidate->Etrk;468 437 entry->Edges[0] = candidate->Edges[0]; 469 438 entry->Edges[1] = candidate->Edges[1]; … … 475 444 476 445 FillParticles(candidate, &entry->Particles); 477 }478 }479 480 //------------------------------------------------------------------------------481 482 void TreeWriter::ProcessParticleFlowCandidates(ExRootTreeBranch *branch, TObjArray *array)483 {484 485 TIter iterator(array);486 Candidate *candidate = 0;487 Candidate *particle = 0;488 ParticleFlowCandidate *entry = 0;489 Double_t e, pt, signz, cosTheta, eta, rapidity, p, ctgTheta, phi, m;490 const Double_t c_light = 2.99792458E8;491 492 // loop over all tracks493 iterator.Reset();494 while((candidate = static_cast<Candidate *>(iterator.Next())))495 {496 const TLorentzVector &position = candidate->Position;497 498 cosTheta = TMath::Abs(position.CosTheta());499 signz = (position.Pz() >= 0.0) ? 1.0 : -1.0;500 eta = (cosTheta == 1.0 ? signz * 999.9 : position.Eta());501 rapidity = (cosTheta == 1.0 ? signz * 999.9 : position.Rapidity());502 503 entry = static_cast<ParticleFlowCandidate *>(branch->NewEntry());504 505 entry->SetBit(kIsReferenced);506 entry->SetUniqueID(candidate->GetUniqueID());507 508 entry->PID = candidate->PID;509 510 entry->Charge = candidate->Charge;511 512 entry->EtaOuter = eta;513 entry->PhiOuter = position.Phi();514 515 entry->XOuter = position.X();516 entry->YOuter = position.Y();517 entry->ZOuter = position.Z();518 entry->TOuter = position.T() * 1.0E-3 / c_light;519 520 entry->L = candidate->L;521 522 entry->D0 = candidate->D0;523 entry->DZ = candidate->DZ;524 entry->Nclusters = candidate->Nclusters;525 entry->dNdx = candidate->dNdx;526 527 entry->ErrorP = candidate->ErrorP;528 entry->ErrorPT = candidate->ErrorPT;529 entry->ErrorCtgTheta = candidate->ErrorCtgTheta;530 531 532 // diagonal covariance matrix terms533 534 entry->ErrorD0 = candidate->ErrorD0;535 entry->ErrorC = candidate->ErrorC;536 entry->ErrorPhi = candidate->ErrorPhi;537 entry->ErrorDZ = candidate->ErrorDZ;538 entry->ErrorCtgTheta = candidate->ErrorCtgTheta;539 540 // add some offdiagonal covariance matrix elements541 entry->ErrorD0Phi = candidate->TrackCovariance(0,1);542 entry->ErrorD0C = candidate->TrackCovariance(0,2);543 entry->ErrorD0DZ = candidate->TrackCovariance(0,3);544 entry->ErrorD0CtgTheta = candidate->TrackCovariance(0,4);545 entry->ErrorPhiC = candidate->TrackCovariance(1,2);546 entry->ErrorPhiDZ = candidate->TrackCovariance(1,3);547 entry->ErrorPhiCtgTheta = candidate->TrackCovariance(1,4);548 entry->ErrorCDZ = candidate->TrackCovariance(2,3);549 entry->ErrorCCtgTheta = candidate->TrackCovariance(2,4);550 entry->ErrorDZCtgTheta = candidate->TrackCovariance(3,4);551 552 entry->Xd = candidate->Xd;553 entry->Yd = candidate->Yd;554 entry->Zd = candidate->Zd;555 556 const TLorentzVector &momentum = candidate->Momentum;557 558 e = momentum.E();559 pt = momentum.Pt();560 p = momentum.P();561 phi = momentum.Phi();562 m = momentum.M();563 ctgTheta = (TMath::Tan(momentum.Theta()) != 0) ? 1 / TMath::Tan(momentum.Theta()) : 1e10;564 565 entry->E = e;566 entry->P = p;567 entry->PT = pt;568 entry->Eta = eta;569 entry->Phi = phi;570 entry->CtgTheta = ctgTheta;571 entry->C = candidate->C;572 entry->Mass = m;573 574 particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0));575 //const TLorentzVector &initialPosition = particle->Position;576 const TLorentzVector &initialPosition = candidate->InitialPosition;577 578 entry->X = initialPosition.X();579 entry->Y = initialPosition.Y();580 entry->Z = initialPosition.Z();581 entry->T = initialPosition.T() * 1.0E-3 / c_light;582 entry->ErrorT = candidate-> ErrorT * 1.0E-3 / c_light;583 584 entry->VertexIndex = candidate->ClusterIndex;585 586 entry->Eem = candidate->Eem;587 entry->Ehad = candidate->Ehad;588 entry->Etrk = candidate->Etrk;589 entry->Edges[0] = candidate->Edges[0];590 entry->Edges[1] = candidate->Edges[1];591 entry->Edges[2] = candidate->Edges[2];592 entry->Edges[3] = candidate->Edges[3];593 594 //entry->T = position.T() * 1.0E-3 / c_light;595 entry->NTimeHits = candidate->NTimeHits;596 597 FillParticles(candidate, &entry->Particles);598 599 446 } 600 447 } … … 840 687 entry->NCharged = candidate->NCharged; 841 688 entry->NNeutrals = candidate->NNeutrals; 842 843 entry->NeutralEnergyFraction = candidate->NeutralEnergyFraction;844 entry->ChargedEnergyFraction = candidate->ChargedEnergyFraction;845 689 entry->Beta = candidate->Beta; 846 690 entry->BetaStar = candidate->BetaStar; -
modules/TreeWriter.h
rd612dec ra5af1df 56 56 void ProcessTracks(ExRootTreeBranch *branch, TObjArray *array); 57 57 void ProcessTowers(ExRootTreeBranch *branch, TObjArray *array); 58 void ProcessParticleFlowCandidates(ExRootTreeBranch *branch, TObjArray *array);59 58 void ProcessPhotons(ExRootTreeBranch *branch, TObjArray *array); 60 59 void ProcessElectrons(ExRootTreeBranch *branch, TObjArray *array); … … 80 79 #endif 81 80 82 ClassDef(TreeWriter, 2)81 ClassDef(TreeWriter, 1) 83 82 }; 84 83 -
readers/DelphesCMSFWLite.cpp
rd612dec ra5af1df 217 217 // Prevent duplicated particle. 218 218 if(!isMiniAOD) stableParticleOutputArray->Add(candidate); 219 if (pdgCode == 11 || pdgCode == 13) partonOutputArray->Add(candidate); 220 } 221 //else if(pdgCode <= 5 || pdgCode == 21 || pdgCode == 15) 222 else if(pdgCode <= 5 || pdgCode == 21 || pdgCode == 11 || pdgCode == 13 || pdgCode == 15) 219 } 220 else if(pdgCode <= 5 || pdgCode == 21 || pdgCode == 15) 223 221 { 224 222 partonOutputArray->Add(candidate); … … 311 309 DelphesFactory *factory = 0; 312 310 TObjArray *allParticleOutputArray = 0, *stableParticleOutputArray = 0, *partonOutputArray = 0; 313 Int_t i , maxEvents, skipEvents;311 Int_t i; 314 312 Long64_t eventCounter, numberOfEvents; 315 313 Bool_t firstEvent = kTRUE; … … 353 351 confReader = new ExRootConfReader; 354 352 confReader->ReadFile(argv[1]); 355 356 maxEvents = confReader->GetInt("::MaxEvents", 0);357 skipEvents = confReader->GetInt("::SkipEvents", 0);358 359 if(maxEvents < 0)360 {361 throw runtime_error("MaxEvents must be zero or positive");362 }363 364 if(skipEvents < 0)365 {366 throw runtime_error("SkipEvents must be zero or positive");367 }368 353 369 354 modularDelphes = new Delphes("Delphes"); … … 404 389 treeWriter->Clear(); 405 390 406 for(event.toBegin(); !event.atEnd() && !interrupted && (maxEvents <= 0 || eventCounter-skipEvents < maxEvents); ++event)391 for(event.toBegin(); !event.atEnd() && !interrupted; ++event) 407 392 { 408 if(eventCounter >= skipEvents){ 409 ConvertInput(event, eventCounter, branchEvent, branchWeight, factory, 410 allParticleOutputArray, stableParticleOutputArray, partonOutputArray, firstEvent); 411 modularDelphes->ProcessTask(); 412 413 firstEvent = kFALSE; 414 415 treeWriter->Fill(); 416 417 modularDelphes->Clear(); 418 treeWriter->Clear(); 419 } 393 ConvertInput(event, eventCounter, branchEvent, branchWeight, factory, 394 allParticleOutputArray, stableParticleOutputArray, partonOutputArray, firstEvent); 395 modularDelphes->ProcessTask(); 396 397 firstEvent = kFALSE; 398 399 treeWriter->Fill(); 400 401 modularDelphes->Clear(); 402 treeWriter->Clear(); 420 403 421 404 progressBar.Update(eventCounter, eventCounter); -
readers/DelphesPythia8.cpp
rd612dec ra5af1df 296 296 297 297 // jet matching 298 #if PYTHIA_VERSION_INTEGER < 8300299 298 matching = combined->getHook(*pythia); 300 299 if(!matching) … … 303 302 } 304 303 pythia->setUserHooksPtr(matching); 305 #endif306 304 307 305 if(pythia == NULL) -
validation/DelphesValidation.cpp
rd612dec ra5af1df 32 32 #include "TGraph.h" 33 33 #include "TGraphErrors.h" 34 #include "TF1.h"35 34 #include "TH1.h" 36 35 #include "TH2.h" -
validation/validation.sh
rd612dec ra5af1df 1 #!/bin/ bash1 #!/bin/sh 2 2 ################################################################################ 3 3 # 4 # This code produces a set of validation plots for a given detector card.4 # This code produces at set of validation plots for a given detector card. 5 5 # 6 6 # In order to run this you need to compile Delphes with Pythia8 first, see: … … 10 10 # After you (re-)compiled Delphes with Pythia8 you are ready to go, execute from Delphes main dir: 11 11 # 12 # ./ validation/validation.sh [detector_card] [number_of_events]12 # ./examples/validation.sh [detector_card] [number_of_events] 13 13 # 14 14 # e.g. 15 15 # 16 # ./ validation/validation.sh cards/delphes_card_CMS.tcl 10000016 # ./examples/validation.sh cards/delphes_card_CMS.tcl 100000 17 17 # 18 18 # Note that the more events you specify, the more accurate the controls plots will be ... … … 38 38 outputrootdir=report_${cardbase%.*}/root 39 39 cardlabel=${cardbase%.*} 40 version= x.y.z40 version=$(cat VERSION) 41 41 outpdf=$mainoutputdir/${output%.*}.pdf 42 42 cardsdir=validation/cards
Note:
See TracChangeset
for help on using the changeset viewer.