Changes in / [a5af1df:d612dec] in git
- Files:
-
- 112 added
- 12 deleted
- 217 edited
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG
ra5af1df rd612dec 1 3.5.0: 2 3 - fixed validation code 4 - fixed weighted time and tower position in calorimeter modules 5 - 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.045 7 - removed zero mass assumption for all tracks 8 - added support for HepMC3 format 9 - added particle-density dependence to formula parameterization (thanks to Roberto Preghenella) 10 - added DecayFilter module for LLP decay in flight 11 - added PFcandidate class to ROOT tree writer 12 - added neutral and charged energy fraction to jets 13 - added generalized ee kT clustering 14 - added covariance matrix for track parameters smearing (thanks to Franco Bedeschi) 15 - added IDEA card with track covariance 16 - added generic ILC detector model 17 - added muon collider detector model 18 - added LHeC and FCCeh cards 19 1 20 3.4.2: 2 21 - added DenseTrackFilter for modelling tracking inefficiencies in boosted, dense environments -
CMakeLists.txt
ra5af1df rd612dec 70 70 $<TARGET_OBJECTS:Hector> 71 71 $<TARGET_OBJECTS:PUPPI> 72 $<TARGET_OBJECTS:TrackCovariance> 72 73 ) 73 74 … … 81 82 $<TARGET_OBJECTS:Hector> 82 83 $<TARGET_OBJECTS:PUPPI> 84 $<TARGET_OBJECTS:TrackCovariance> 83 85 ) 84 86 -
DelphesEnv.sh
ra5af1df rd612dec 1 export PYTHONPATH=`pwd`/python:$PYTHONPATH 2 export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH 1 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 3 2 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
ra5af1df rd612dec 90 90 DISPLAYLIB = libDelphesDisplay.lib 91 91 92 VERSION = $(shell cat VERSION)92 VERSION = x.y.z 93 93 DISTDIR = Delphes-$(VERSION) 94 94 DISTTAR = $(DISTDIR).tar.gz … … 104 104 classes/DelphesClasses.h \ 105 105 classes/DelphesFactory.h \ 106 classes/DelphesHepMC Reader.h \106 classes/DelphesHepMC2Reader.h \ 107 107 classes/DelphesPileUpWriter.h \ 108 108 external/ExRootAnalysis/ExRootProgressBar.h \ … … 214 214 tmp/validation/DelphesValidation.$(ObjSuf) 215 215 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 \ 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 \ 224 236 modules/Delphes.h \ 225 237 external/ExRootAnalysis/ExRootProgressBar.h \ … … 264 276 external/ExRootAnalysis/ExRootTreeWriter.h 265 277 EXECUTABLE += \ 266 DelphesHepMC$(ExeSuf) \ 278 DelphesHepMC2$(ExeSuf) \ 279 DelphesHepMC3$(ExeSuf) \ 267 280 DelphesLHEF$(ExeSuf) \ 268 281 DelphesROOT$(ExeSuf) \ … … 270 283 271 284 EXECUTABLE_OBJ += \ 272 tmp/readers/DelphesHepMC.$(ObjSuf) \ 285 tmp/readers/DelphesHepMC2.$(ObjSuf) \ 286 tmp/readers/DelphesHepMC3.$(ObjSuf) \ 273 287 tmp/readers/DelphesLHEF.$(ObjSuf) \ 274 288 tmp/readers/DelphesROOT.$(ObjSuf) \ … … 409 423 modules/MomentumSmearing.h \ 410 424 modules/TrackSmearing.h \ 425 modules/TrackCovariance.h \ 426 modules/ClusterCounting.h \ 411 427 modules/ImpactParameterSmearing.h \ 412 428 modules/TimeSmearing.h \ 429 modules/TimeOfFlight.h \ 413 430 modules/SimpleCalorimeter.h \ 414 431 modules/DenseTrackFilter.h \ … … 445 462 modules/VertexFinder.h \ 446 463 modules/VertexFinderDA4D.h \ 447 modules/ExampleModule.h \448 464 modules/LLPFilter.h \ 449 465 modules/CscClusterEfficiency.h \ 450 modules/CscClusterId.h 466 modules/CscClusterId.h \ 467 modules/DecayFilter.h \ 468 modules/ParticleDensity.h \ 469 modules/TruthVertexFinder.h \ 470 modules/ExampleModule.h 451 471 tmp/modules/ModulesDict$(PcmSuf): \ 452 472 tmp/modules/ModulesDict.$(SrcSuf) … … 512 532 tmp/classes/DelphesFormula.$(ObjSuf): \ 513 533 classes/DelphesFormula.$(SrcSuf) \ 514 classes/DelphesFormula.h 515 tmp/classes/DelphesHepMCReader.$(ObjSuf): \ 516 classes/DelphesHepMCReader.$(SrcSuf) \ 517 classes/DelphesHepMCReader.h \ 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 \ 518 546 classes/DelphesClasses.h \ 519 547 classes/DelphesFactory.h \ … … 648 676 tmp/external/Hector/H_VerticalQuadrupole.$(ObjSuf): \ 649 677 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) 650 692 tmp/modules/AngularSmearing.$(ObjSuf): \ 651 693 modules/AngularSmearing.$(SrcSuf) \ … … 690 732 external/ExRootAnalysis/ExRootFilter.h \ 691 733 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.h 692 739 tmp/modules/ConstituentFilter.$(ObjSuf): \ 693 694 695 696 697 698 699 700 740 modules/ConstituentFilter.$(SrcSuf) \ 741 modules/ConstituentFilter.h \ 742 classes/DelphesClasses.h \ 743 classes/DelphesFactory.h \ 744 classes/DelphesFormula.h \ 745 external/ExRootAnalysis/ExRootClassifier.h \ 746 external/ExRootAnalysis/ExRootFilter.h \ 747 external/ExRootAnalysis/ExRootResult.h 701 748 tmp/modules/CscClusterEfficiency.$(ObjSuf): \ 702 749 modules/CscClusterEfficiency.$(SrcSuf) \ … … 711 758 modules/CscClusterId.$(SrcSuf) \ 712 759 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.h 766 tmp/modules/DecayFilter.$(ObjSuf): \ 767 modules/DecayFilter.$(SrcSuf) \ 768 modules/DecayFilter.h \ 713 769 classes/DelphesClasses.h \ 714 770 classes/DelphesFactory.h \ … … 893 949 external/ExRootAnalysis/ExRootFilter.h \ 894 950 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.h 895 960 tmp/modules/ParticlePropagator.$(ObjSuf): \ 896 961 modules/ParticlePropagator.$(SrcSuf) \ … … 1001 1066 classes/DelphesFactory.h \ 1002 1067 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.h 1003 1077 tmp/modules/TimeSmearing.$(ObjSuf): \ 1004 1078 modules/TimeSmearing.$(SrcSuf) \ … … 1025 1099 external/ExRootAnalysis/ExRootFilter.h \ 1026 1100 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.h 1027 1108 tmp/modules/TrackPileUpSubtractor.$(ObjSuf): \ 1028 1109 modules/TrackPileUpSubtractor.$(SrcSuf) \ … … 1053 1134 external/ExRootAnalysis/ExRootResult.h \ 1054 1135 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.h 1055 1146 tmp/modules/UniqueObjectFinder.$(ObjSuf): \ 1056 1147 modules/UniqueObjectFinder.$(SrcSuf) \ … … 1106 1197 tmp/classes/DelphesFactory.$(ObjSuf) \ 1107 1198 tmp/classes/DelphesFormula.$(ObjSuf) \ 1108 tmp/classes/DelphesHepMCReader.$(ObjSuf) \ 1199 tmp/classes/DelphesHepMC2Reader.$(ObjSuf) \ 1200 tmp/classes/DelphesHepMC3Reader.$(ObjSuf) \ 1109 1201 tmp/classes/DelphesLHEFReader.$(ObjSuf) \ 1110 1202 tmp/classes/DelphesModule.$(ObjSuf) \ … … 1152 1244 tmp/external/Hector/H_VerticalKicker.$(ObjSuf) \ 1153 1245 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) \ 1154 1253 tmp/modules/AngularSmearing.$(ObjSuf) \ 1155 1254 tmp/modules/BTagging.$(ObjSuf) \ … … 1157 1256 tmp/modules/Calorimeter.$(ObjSuf) \ 1158 1257 tmp/modules/Cloner.$(ObjSuf) \ 1258 tmp/modules/ClusterCounting.$(ObjSuf) \ 1159 1259 tmp/modules/ConstituentFilter.$(ObjSuf) \ 1160 1260 tmp/modules/CscClusterEfficiency.$(ObjSuf) \ 1161 1261 tmp/modules/CscClusterId.$(ObjSuf) \ 1262 tmp/modules/DecayFilter.$(ObjSuf) \ 1162 1263 tmp/modules/Delphes.$(ObjSuf) \ 1163 1264 tmp/modules/DenseTrackFilter.$(ObjSuf) \ … … 1179 1280 tmp/modules/MomentumSmearing.$(ObjSuf) \ 1180 1281 tmp/modules/OldCalorimeter.$(ObjSuf) \ 1282 tmp/modules/ParticleDensity.$(ObjSuf) \ 1181 1283 tmp/modules/ParticlePropagator.$(ObjSuf) \ 1182 1284 tmp/modules/PdgCodeFilter.$(ObjSuf) \ … … 1190 1292 tmp/modules/TaggingParticlesSkimmer.$(ObjSuf) \ 1191 1293 tmp/modules/TauTagging.$(ObjSuf) \ 1294 tmp/modules/TimeOfFlight.$(ObjSuf) \ 1192 1295 tmp/modules/TimeSmearing.$(ObjSuf) \ 1193 1296 tmp/modules/TrackCountingBTagging.$(ObjSuf) \ 1194 1297 tmp/modules/TrackCountingTauTagging.$(ObjSuf) \ 1298 tmp/modules/TrackCovariance.$(ObjSuf) \ 1195 1299 tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \ 1196 1300 tmp/modules/TrackSmearing.$(ObjSuf) \ 1197 1301 tmp/modules/TreeWriter.$(ObjSuf) \ 1302 tmp/modules/TruthVertexFinder.$(ObjSuf) \ 1198 1303 tmp/modules/UniqueObjectFinder.$(ObjSuf) \ 1199 1304 tmp/modules/VertexFinder.$(ObjSuf) \ … … 1911 2016 @touch $@ 1912 2017 2018 modules/TrackCovariance.h: \ 2019 classes/DelphesModule.h 2020 @touch $@ 2021 1913 2022 modules/ExampleModule.h: \ 1914 2023 classes/DelphesModule.h 1915 2024 @touch $@ 1916 2025 2026 modules/Merger.h: \ 2027 classes/DelphesModule.h 2028 @touch $@ 2029 1917 2030 modules/Isolation.h: \ 1918 2031 classes/DelphesModule.h … … 1920 2033 1921 2034 modules/EnergyScale.h: \ 1922 classes/DelphesModule.h1923 @touch $@1924 1925 modules/Merger.h: \1926 2035 classes/DelphesModule.h 1927 2036 @touch $@ … … 1958 2067 external/fastjet/config.h \ 1959 2068 external/fastjet/LimitedWarning.hh 2069 @touch $@ 2070 2071 modules/DecayFilter.h: \ 2072 classes/DelphesModule.h 1960 2073 @touch $@ 1961 2074 … … 2037 2150 @touch $@ 2038 2151 2152 modules/TimeOfFlight.h: \ 2153 classes/DelphesModule.h 2154 @touch $@ 2155 2039 2156 external/fastjet/contribs/Nsubjettiness/NjettinessPlugin.hh: \ 2040 2157 external/fastjet/ClusterSequence.hh \ … … 2155 2272 @touch $@ 2156 2273 2274 modules/TruthVertexFinder.h: \ 2275 classes/DelphesModule.h 2276 @touch $@ 2277 2157 2278 classes/DelphesSTDHEPReader.h: \ 2158 2279 classes/DelphesXDRReader.h … … 2231 2352 @touch $@ 2232 2353 2354 modules/ClusterCounting.h: \ 2355 classes/DelphesModule.h 2356 @touch $@ 2357 2233 2358 modules/SimpleCalorimeter.h: \ 2234 2359 classes/DelphesModule.h … … 2266 2391 @touch $@ 2267 2392 2393 modules/ParticleDensity.h: \ 2394 classes/DelphesModule.h 2395 @touch $@ 2396 2397 modules/TreeWriter.h: \ 2398 classes/DelphesModule.h 2399 @touch $@ 2400 2268 2401 modules/TimeSmearing.h: \ 2269 classes/DelphesModule.h2270 @touch $@2271 2272 modules/TreeWriter.h: \2273 2402 classes/DelphesModule.h 2274 2403 @touch $@ … … 2336 2465 @mkdir -p $(@D) 2337 2466 @echo ">> Building $@" 2338 ifeq ($(ARCH),aix5)2339 @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^2340 else2341 2467 ifeq ($(PLATFORM),macosx) 2342 # We need to make both the .dylib and the .so2343 2468 @$(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 endif2348 endif2349 2469 else 2350 2470 ifeq ($(PLATFORM),win32) … … 2355 2475 else 2356 2476 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 2357 @$(MT_DLL)2358 endif2359 2477 endif 2360 2478 endif … … 2363 2481 @mkdir -p $(@D) 2364 2482 @echo ">> Building $@" 2365 ifeq ($(ARCH),aix5)2366 @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^2367 else2368 2483 ifeq ($(PLATFORM),macosx) 2369 # We need to make both the .dylib and the .so2370 2484 @$(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 endif2375 endif2376 2485 else 2377 2486 ifeq ($(PLATFORM),win32) … … 2382 2491 else 2383 2492 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 2384 @$(MT_DLL)2385 endif2386 2493 endif 2387 2494 endif … … 2390 2497 @mkdir -p $(@D) 2391 2498 @echo ">> Building $@" 2392 ifeq ($(ARCH),aix5)2393 @$(MAKESHARED) $(OutPutOpt) $@ $(DISPLAY_LIBS) -p 0 $^2394 else2395 2499 ifeq ($(PLATFORM),macosx) 2396 # We need to make both the .dylib and the .so2397 2500 @$(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 endif2402 endif2403 2501 else 2404 2502 ifeq ($(PLATFORM),win32) … … 2409 2507 else 2410 2508 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS) 2411 @$(MT_DLL)2412 endif2413 2509 endif 2414 2510 endif … … 2424 2520 @echo ">> Building $(DISTTAR)" 2425 2521 @mkdir -p $(DISTDIR) 2426 @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb VERSION Makefile MinBias.pileup configure cards classesconverters display doc examples external modules python readers validation $(DISTDIR)2522 @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb Makefile MinBias.pileup configure cards classes cmake converters display doc examples external modules python readers validation $(DISTDIR) 2427 2523 @find $(DISTDIR) -depth -name .\* -exec rm -rf {} \; 2428 2524 @tar -czf $(DISTTAR) $(DISTDIR) -
README
ra5af1df rd612dec 4 4 Commands to get the code: 5 5 6 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3. 4.2.tar.gz6 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.5.0.tar.gz 7 7 8 tar -zxf Delphes-3. 4.2.tar.gz8 tar -zxf Delphes-3.5.0.tar.gz 9 9 10 10 Commands to compile the code: 11 11 12 cd Delphes-3. 4.212 cd Delphes-3.5.0 13 13 14 14 make … … 16 16 Finally, we can run Delphes: 17 17 18 ./DelphesHepMC 18 ./DelphesHepMC3 19 19 20 20 Command line parameters: 21 21 22 ./DelphesHepMC config_file output_file [input_file(s)]22 ./DelphesHepMC3 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 /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 49 source /cvmfs/sft.cern.ch/lcg/views/LCG_99/x86_64-centos7-gcc10-opt/setup.sh 52 50 53 51 make … … 66 64 Open ROOT file and do some basic analysis using Draw or TBrowser: 67 65 68 TFile ::Open("delphes_output.root");69 Delphes->Draw("Electron.PT");66 TFile *f = TFile::Open("delphes_output.root"); 67 f->Get("Delphes")->Draw("Electron.PT"); 70 68 TBrowser browser; 71 69 -
README.md
ra5af1df rd612dec 1 [![C ircleCI](https://circleci.com/gh/delphes/delphes.svg?style=shield)](https://circleci.com/gh/delphes/delphes)1 [![CI](https://github.com/delphes/delphes/actions/workflows/ci.yml/badge.svg)](https://github.com/delphes/delphes/actions/workflows/ci.yml) [![DOI](https://zenodo.org/badge/21390046.svg)](https://zenodo.org/badge/latestdoi/21390046) 2 2 3 3 Delphes … … 14 14 15 15 ``` 16 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3. 4.2.tar.gz16 wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.5.0.tar.gz 17 17 18 tar -zxf Delphes-3. 4.2.tar.gz18 tar -zxf Delphes-3.5.0.tar.gz 19 19 ``` 20 20 … … 22 22 23 23 ``` 24 cd Delphes-3. 4.224 cd Delphes-3.5.0 25 25 26 26 make … … 30 30 31 31 ``` 32 ./DelphesHepMC 32 ./DelphesHepMC3 33 33 ``` 34 34 … … 36 36 37 37 ``` 38 ./DelphesHepMC config_file output_file [input_file(s)]38 ./DelphesHepMC3 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 /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 69 source /cvmfs/sft.cern.ch/lcg/views/LCG_99/x86_64-centos7-gcc10-opt/setup.sh 72 70 73 71 make … … 89 87 90 88 ``` 91 TFile ::Open("delphes_output.root");92 Delphes->Draw("Electron.PT");89 TFile *f = TFile::Open("delphes_output.root"); 90 f->Get("Delphes")->Draw("Electron.PT"); 93 91 TBrowser browser; 94 92 ``` -
cards/FCC/FCChh.tcl
ra5af1df rd612dec 4 4 # Main authors: Michele Selvaggi (CERN) 5 5 # 6 # Released on: Dec. 1st, 2017 6 # Released on: October 14th, 2020 7 # 8 # - fix muon resolution at high pT 9 # - updated btagging, tau tagging and photon ID 10 # 7 11 # 8 12 # Configuration: FCC-hh baseline detector … … 1049 1053 (abs(eta) <= 2.5) * (pt > 1.0 && pt < 5.0) * (0.70) + 1050 1054 (abs(eta) <= 2.5) * (pt > 5.0 && pt < 10.0) * (0.85) + 1051 (abs(eta) <= 2.5) * (pt > 10.0) * (0.9 5) +1055 (abs(eta) <= 2.5) * (pt > 10.0) * (0.90) + 1052 1056 1053 1057 (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt < 5.0) * (0.60) + … … 1138 1142 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.01)*(1.0 - pt/15000.) + \ 1139 1143 (abs(eta) < 2.5) * (pt > 15000.0) * (0.00) + \ 1140 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.0 075) + \1141 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.0 075)*(1.0 - pt/15000.) + \1144 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.01) + \ 1145 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.01)*(1.0 - pt/15000.) + \ 1142 1146 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \ 1143 1147 (abs(eta) > 4.0) * (0.00)} … … 1146 1150 1147 1151 (pt <= 10.0) * (0.00) + 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.) + \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.) + \ 1150 1154 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) + \ 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.) + \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.) + \ 1153 1157 (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0) * (0.000) + \ 1154 1158 (abs(eta) > 4.0) * (0.00)} … … 1157 1161 1158 1162 (pt <= 10.0) * (0.00) + 1159 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.8 5) +1160 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.8 5)*(1.0 - pt/15000.) +1163 (abs(eta) < 2.5) * (pt > 10.0 && pt < 500) * (0.82) + 1164 (abs(eta) < 2.5) * (pt > 500.0 && pt < 15000.0) * (0.82)*(1.0 - pt/15000.) + 1161 1165 (abs(eta) < 2.5) * (pt > 15000.0) * (0.000) + 1162 1166 (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500) * (0.64) + … … 1217 1221 1218 1222 (pt <= 10.0) * (0.00) + 1219 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.0 1) + \1220 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.0 1) *(8./9. - pt/30000.) + \1223 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.02) + \ 1224 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.02) *(8./9. - pt/30000.) + \ 1221 1225 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \ 1222 1226 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.0075) + \ … … 1228 1232 1229 1233 (pt <= 10.0) * (0.00) + 1230 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.00 5) + \1231 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.00 5) *(8./9. - pt/30000.) + \1234 (abs(eta) < 2.5) * (pt > 10.0 && pt < 5000.0) * (0.001) + \ 1235 (abs(eta) < 2.5) * (pt > 5000.0 && pt < 34000.0) * (0.001) *(8./9. - pt/30000.) + \ 1232 1236 (abs(eta) < 2.5) * (pt > 34000.0) * (0.000) + \ 1233 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.00 375) + \1234 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.00 375)*(8./9. - pt/30000.) + \1237 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0) * (0.001) + \ 1238 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.001)*(8./9. - pt/30000.) + \ 1235 1239 (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0) * (0.00) + \ 1236 1240 (abs(eta) > 4.0) * (0.00)} -
cards/FCC/muonMomentumResolutionVsP.tcl
ra5af1df rd612dec 12 12 set ResolutionFormula { 13 13 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 ) + 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 ) + 28 29 29 30 ( abs(eta) > 1.35 && abs(eta) < 2.00) * -
cards/delphes_card_CLICdet_Stage1.tcl
ra5af1df rd612dec 298 298 299 299 set EfficiencyFormula { 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) 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) 306 307 } 307 308 } … … 318 319 # Current full simulation with CLICdet provides for electrons: 319 320 set EfficiencyFormula { 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 326 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)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) 330 331 } 331 332 } … … 341 342 # Current full simulation with CLICdet provides for muons: 342 343 set EfficiencyFormula { 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 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) 353 352 } 354 353 } … … 945 944 module FastJetFinder FastJetFinderKt { 946 945 # set InputArray Calorimeter/towers 947 set InputArray EFlow Merger/eflow946 set InputArray EFlowFilter/eflow 948 947 949 948 set OutputArray KTjets -
cards/delphes_card_CLICdet_Stage2.tcl
ra5af1df rd612dec 490 490 491 491 set EfficiencyFormula { 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) 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) 498 499 } 499 500 } … … 510 511 # Current full simulation with CLICdet provides for electrons: 511 512 set EfficiencyFormula { 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 518 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)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) 522 523 } 523 524 } … … 533 534 # Current full simulation with CLICdet provides for muons: 534 535 set EfficiencyFormula { 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 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) 545 544 } 546 545 } … … 1136 1135 module FastJetFinder FastJetFinderKt { 1137 1136 # set InputArray Calorimeter/towers 1138 set InputArray EFlow Merger/eflow1137 set InputArray EFlowFilter/eflow 1139 1138 1140 1139 set OutputArray KTjets -
cards/delphes_card_CLICdet_Stage3.tcl
ra5af1df rd612dec 484 484 485 485 set EfficiencyFormula { 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) 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) 492 493 } 493 494 } … … 504 505 # Current full simulation with CLICdet provides for electrons: 505 506 set EfficiencyFormula { 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 512 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)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) 516 517 } 517 518 } … … 527 528 # Current full simulation with CLICdet provides for muons: 528 529 set EfficiencyFormula { 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 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) 539 538 } 540 539 } … … 1132 1131 module FastJetFinder FastJetFinderKt { 1133 1132 # set InputArray Calorimeter/towers 1134 set InputArray EFlow Merger/eflow1133 set InputArray EFlowFilter/eflow 1135 1134 1136 1135 set OutputArray KTjets -
cards/delphes_card_IDEA.tcl
ra5af1df rd612dec 1 set RandomSeed 123 2 1 3 #################################################################### l 2 # FCC-ee IDEA detector model 3 # 4 # Authors: Elisa Fontanesi, Lorenzo Pezzotti, Massimiliano Antonello 4 # FCC-ee IDEA detector model 5 # 6 # Authors: Elisa Fontanesi, Lorenzo Pezzotti, Massimiliano Antonello, Michele Selvaggi 5 7 # email: efontane@bo.infn.it, 6 # lorenzo.pezzotti01@universitadipavia.it, 7 # m.antonello@uninsubria.it, 8 ##################################################################### 9 # 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 10 24 ####################################### 11 25 # Order of execution of various modules … … 13 27 14 28 set ExecutionPath { 29 30 TruthVertexFinder 15 31 ParticlePropagator 16 32 … … 19 35 MuonTrackingEfficiency 20 36 21 ChargedHadronMomentumSmearing 22 ElectronMomentumSmearing 23 MuonMomentumSmearing 24 25 TrackMerger 37 TrackMergerPre 38 TrackSmearing 39 ClusterCounting 40 TimeSmearing 41 TimeOfFlight 42 43 TrackMerger 44 ForwardLooperTracks 26 45 Calorimeter 46 47 TimeSmearingNeutrals 48 TimeOfFlightNeutralHadron 49 50 EFlowTrackMerger 27 51 EFlowMerger 28 52 29 53 PhotonEfficiency 30 54 PhotonIsolation 55 56 MuonFilter 31 57 32 58 ElectronFilter … … 42 68 GenJetFinder 43 69 GenMissingET 44 70 45 71 FastJetFinder 46 72 … … 52 78 TauTagging 53 79 54 UniqueObjectFinder55 56 ScalarHT57 80 TreeWriter 58 81 } 59 82 83 ################################# 84 # Truth Vertex Finder 85 ################################# 86 87 module TruthVertexFinder TruthVertexFinder { 88 89 ## below this distance two vertices are assumed to be merged 90 set Resolution 1E-06 91 92 set InputArray Delphes/stableParticles 93 set VertexOutputArray vertices 94 } 60 95 61 96 ################################# … … 78 113 79 114 # magnetic field, in T 80 set Bz 2.0115 set Bz $B 81 116 } 82 117 … … 88 123 set InputArray ParticlePropagator/chargedHadrons 89 124 set OutputArray chargedHadrons 90 # We use only one efficiency, we set only 0 effincency out of eta bounds:125 set UseMomentumVector true 91 126 92 127 set EfficiencyFormula { 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) 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 } 103 133 104 134 … … 111 141 set InputArray ParticlePropagator/electrons 112 142 set OutputArray electrons 113 114 115 # Current full simulation with CLICdet provides for electrons: 143 set UseMomentumVector true 144 116 145 set EfficiencyFormula { 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 } 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 } 122 150 } 123 151 … … 130 158 set InputArray ParticlePropagator/muons 131 159 set OutputArray muons 132 133 # Current full simulation with CLICdet provides for muons: 160 set UseMomentumVector true 161 134 162 set EfficiencyFormula { 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) 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) 186 166 } 187 167 } … … 191 171 ############## 192 172 173 module Merger TrackMergerPre { 174 # add InputArray InputArray 175 add InputArray ChargedHadronTrackingEfficiency/chargedHadrons 176 add InputArray ElectronTrackingEfficiency/electrons 177 add InputArray MuonTrackingEfficiency/muons 178 set OutputArray tracks 179 } 180 181 182 183 ######################################## 184 # Smearing for charged tracks 185 ######################################## 186 187 module TrackCovariance TrackSmearing { 188 189 set InputArray TrackMergerPre/tracks 190 set OutputArray tracks 191 192 ## minimum number of hits to accept a track 193 set NMinHits 6 194 195 ## magnetic field 196 set Bz $B 197 198 ## uses https://raw.githubusercontent.com/selvaggi/FastTrackCovariance/master/GeoIDEA_BASE.txt 199 set DetectorGeometry { 200 201 202 # Layer type 1 = R (barrel) or 2 = z (forward/backward) 203 # Layer label 204 # Minimum dimension z for barrel or R for forward 205 # Maximum dimension z for barrel or R for forward 206 # R/z location of layer 207 # 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 side 211 # Stereo angle (rad) - 0(pi/2) = axial(z) layer - Lower side 212 # Resolution Upper side (meters) - 0 = no measurement 213 # Resolution Lower side (meters) - 0 = no measurement 214 # measurement flag = T, scattering only = F 215 216 # barrel name zmin zmax r w (m) X0 n_meas th_up (rad) th_down (rad) reso_up (m) reso_down (m) flag 217 218 # barrel name zmin zmax r w (m) X0 n_meas th_up (rad) th_down (rad) reso_up (m) reso_down (m) flag 219 220 1 PIPE -100 100 0.015 0.001655 0.2805 0 0 0 0 0 0 221 1 VTXLOW -0.12 0.12 0.017 0.00028 0.0937 2 0 1.5708 3e-006 3e-006 1 222 1 VTXLOW -0.16 0.16 0.023 0.00028 0.0937 2 0 1.5708 3e-006 3e-006 1 223 1 VTXLOW -0.16 0.16 0.031 0.00028 0.0937 2 0 1.5708 3e-006 3e-006 1 224 1 VTXHIGH -1 1 0.32 0.00047 0.0937 2 0 1.5708 7e-006 7e-006 1 225 1 VTXHIGH -1.05 1.05 0.34 0.00047 0.0937 2 0 1.5708 7e-006 7e-006 1 226 227 # endcap name rmin rmax z w (m) X0 n_meas th_up (rad) th_down (rad) reso_up (m) reso_down (m) flag 228 229 2 VTXDSK 0.141 0.3 -0.92 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1 230 2 VTXDSK 0.138 0.3 -0.9 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1 231 2 VTXDSK 0.065 0.3 -0.42 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1 232 2 VTXDSK 0.062 0.3 -0.4 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1 233 2 VTXDSK 0.062 0.3 0.4 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1 234 2 VTXDSK 0.065 0.3 0.42 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1 235 2 VTXDSK 0.138 0.3 0.9 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1 236 2 VTXDSK 0.141 0.3 0.92 0.00028 0.0937 2 0 1.5708 7e-006 7e-006 1 237 238 1 DCHCANI $DCHZMIN $DCHZMAX $DCHRMIN 0.0002 0.237223 0 0 0 0 0 0 239 1 DCH -2 2 0.36 0.0147748 1400 1 0.0203738 0 0.0001 0 1 240 1 DCH -2 2 0.374775 0.0147748 1400 1 -0.0212097 0 0.0001 0 1 241 1 DCH -2 2 0.38955 0.0147748 1400 1 0.0220456 0 0.0001 0 1 242 1 DCH -2 2 0.404324 0.0147748 1400 1 -0.0228814 0 0.0001 0 1 243 1 DCH -2 2 0.419099 0.0147748 1400 1 0.0237172 0 0.0001 0 1 244 1 DCH -2 2 0.433874 0.0147748 1400 1 -0.024553 0 0.0001 0 1 245 1 DCH -2 2 0.448649 0.0147748 1400 1 0.0253888 0 0.0001 0 1 246 1 DCH -2 2 0.463423 0.0147748 1400 1 -0.0262245 0 0.0001 0 1 247 1 DCH -2 2 0.478198 0.0147748 1400 1 0.0270602 0 0.0001 0 1 248 1 DCH -2 2 0.492973 0.0147748 1400 1 -0.0278958 0 0.0001 0 1 249 1 DCH -2 2 0.507748 0.0147748 1400 1 0.0287314 0 0.0001 0 1 250 1 DCH -2 2 0.522523 0.0147748 1400 1 -0.029567 0 0.0001 0 1 251 1 DCH -2 2 0.537297 0.0147748 1400 1 0.0304025 0 0.0001 0 1 252 1 DCH -2 2 0.552072 0.0147748 1400 1 -0.031238 0 0.0001 0 1 253 1 DCH -2 2 0.566847 0.0147748 1400 1 0.0320734 0 0.0001 0 1 254 1 DCH -2 2 0.581622 0.0147748 1400 1 -0.0329088 0 0.0001 0 1 255 1 DCH -2 2 0.596396 0.0147748 1400 1 0.0337442 0 0.0001 0 1 256 1 DCH -2 2 0.611171 0.0147748 1400 1 -0.0345795 0 0.0001 0 1 257 1 DCH -2 2 0.625946 0.0147748 1400 1 0.0354147 0 0.0001 0 1 258 1 DCH -2 2 0.640721 0.0147748 1400 1 -0.0362499 0 0.0001 0 1 259 1 DCH -2 2 0.655495 0.0147748 1400 1 0.0370851 0 0.0001 0 1 260 1 DCH -2 2 0.67027 0.0147748 1400 1 -0.0379202 0 0.0001 0 1 261 1 DCH -2 2 0.685045 0.0147748 1400 1 0.0387552 0 0.0001 0 1 262 1 DCH -2 2 0.69982 0.0147748 1400 1 -0.0395902 0 0.0001 0 1 263 1 DCH -2 2 0.714595 0.0147748 1400 1 0.0404252 0 0.0001 0 1 264 1 DCH -2 2 0.729369 0.0147748 1400 1 -0.04126 0 0.0001 0 1 265 1 DCH -2 2 0.744144 0.0147748 1400 1 0.0420949 0 0.0001 0 1 266 1 DCH -2 2 0.758919 0.0147748 1400 1 -0.0429296 0 0.0001 0 1 267 1 DCH -2 2 0.773694 0.0147748 1400 1 0.0437643 0 0.0001 0 1 268 1 DCH -2 2 0.788468 0.0147748 1400 1 -0.044599 0 0.0001 0 1 269 1 DCH -2 2 0.803243 0.0147748 1400 1 0.0454336 0 0.0001 0 1 270 1 DCH -2 2 0.818018 0.0147748 1400 1 -0.0462681 0 0.0001 0 1 271 1 DCH -2 2 0.832793 0.0147748 1400 1 0.0471025 0 0.0001 0 1 272 1 DCH -2 2 0.847568 0.0147748 1400 1 -0.0479369 0 0.0001 0 1 273 1 DCH -2 2 0.862342 0.0147748 1400 1 0.0487713 0 0.0001 0 1 274 1 DCH -2 2 0.877117 0.0147748 1400 1 -0.0496055 0 0.0001 0 1 275 1 DCH -2 2 0.891892 0.0147748 1400 1 0.0504397 0 0.0001 0 1 276 1 DCH -2 2 0.906667 0.0147748 1400 1 -0.0512738 0 0.0001 0 1 277 1 DCH -2 2 0.921441 0.0147748 1400 1 0.0521079 0 0.0001 0 1 278 1 DCH -2 2 0.936216 0.0147748 1400 1 -0.0529418 0 0.0001 0 1 279 1 DCH -2 2 0.950991 0.0147748 1400 1 0.0537757 0 0.0001 0 1 280 1 DCH -2 2 0.965766 0.0147748 1400 1 -0.0546095 0 0.0001 0 1 281 1 DCH -2 2 0.980541 0.0147748 1400 1 0.0554433 0 0.0001 0 1 282 1 DCH -2 2 0.995315 0.0147748 1400 1 -0.056277 0 0.0001 0 1 283 1 DCH -2 2 1.01009 0.0147748 1400 1 0.0571106 0 0.0001 0 1 284 1 DCH -2 2 1.02486 0.0147748 1400 1 -0.0579441 0 0.0001 0 1 285 1 DCH -2 2 1.03964 0.0147748 1400 1 0.0587775 0 0.0001 0 1 286 1 DCH -2 2 1.05441 0.0147748 1400 1 -0.0596108 0 0.0001 0 1 287 1 DCH -2 2 1.06919 0.0147748 1400 1 0.0604441 0 0.0001 0 1 288 1 DCH -2 2 1.08396 0.0147748 1400 1 -0.0612773 0 0.0001 0 1 289 1 DCH -2 2 1.09874 0.0147748 1400 1 0.0621104 0 0.0001 0 1 290 1 DCH -2 2 1.11351 0.0147748 1400 1 -0.0629434 0 0.0001 0 1 291 1 DCH -2 2 1.12829 0.0147748 1400 1 0.0637763 0 0.0001 0 1 292 1 DCH -2 2 1.14306 0.0147748 1400 1 -0.0646092 0 0.0001 0 1 293 1 DCH -2 2 1.15784 0.0147748 1400 1 0.0654419 0 0.0001 0 1 294 1 DCH -2 2 1.17261 0.0147748 1400 1 -0.0662746 0 0.0001 0 1 295 1 DCH -2 2 1.18739 0.0147748 1400 1 0.0671071 0 0.0001 0 1 296 1 DCH -2 2 1.20216 0.0147748 1400 1 -0.0679396 0 0.0001 0 1 297 1 DCH -2 2 1.21694 0.0147748 1400 1 0.068772 0 0.0001 0 1 298 1 DCH -2 2 1.23171 0.0147748 1400 1 -0.0696042 0 0.0001 0 1 299 1 DCH -2 2 1.24649 0.0147748 1400 1 0.0704364 0 0.0001 0 1 300 1 DCH -2 2 1.26126 0.0147748 1400 1 -0.0712685 0 0.0001 0 1 301 1 DCH -2 2 1.27604 0.0147748 1400 1 0.0721005 0 0.0001 0 1 302 1 DCH -2 2 1.29081 0.0147748 1400 1 -0.0729324 0 0.0001 0 1 303 1 DCH -2 2 1.30559 0.0147748 1400 1 0.0737642 0 0.0001 0 1 304 1 DCH -2 2 1.32036 0.0147748 1400 1 -0.0745958 0 0.0001 0 1 305 1 DCH -2 2 1.33514 0.0147748 1400 1 0.0754274 0 0.0001 0 1 306 1 DCH -2 2 1.34991 0.0147748 1400 1 -0.0762589 0 0.0001 0 1 307 1 DCH -2 2 1.36468 0.0147748 1400 1 0.0770903 0 0.0001 0 1 308 1 DCH -2 2 1.37946 0.0147748 1400 1 -0.0779215 0 0.0001 0 1 309 1 DCH -2 2 1.39423 0.0147748 1400 1 0.0787527 0 0.0001 0 1 310 1 DCH -2 2 1.40901 0.0147748 1400 1 -0.0795837 0 0.0001 0 1 311 1 DCH -2 2 1.42378 0.0147748 1400 1 0.0804147 0 0.0001 0 1 312 1 DCH -2 2 1.43856 0.0147748 1400 1 -0.0812455 0 0.0001 0 1 313 1 DCH -2 2 1.45333 0.0147748 1400 1 0.0820762 0 0.0001 0 1 314 1 DCH -2 2 1.46811 0.0147748 1400 1 -0.0829068 0 0.0001 0 1 315 1 DCH -2 2 1.48288 0.0147748 1400 1 0.0837373 0 0.0001 0 1 316 1 DCH -2 2 1.49766 0.0147748 1400 1 -0.0845677 0 0.0001 0 1 317 1 DCH -2 2 1.51243 0.0147748 1400 1 0.0853979 0 0.0001 0 1 318 1 DCH -2 2 1.52721 0.0147748 1400 1 -0.086228 0 0.0001 0 1 319 1 DCH -2 2 1.54198 0.0147748 1400 1 0.087058 0 0.0001 0 1 320 1 DCH -2 2 1.55676 0.0147748 1400 1 -0.0878879 0 0.0001 0 1 321 1 DCH -2 2 1.57153 0.0147748 1400 1 0.0887177 0 0.0001 0 1 322 1 DCH -2 2 1.58631 0.0147748 1400 1 -0.0895474 0 0.0001 0 1 323 1 DCH -2 2 1.60108 0.0147748 1400 1 0.0903769 0 0.0001 0 1 324 1 DCH -2 2 1.61586 0.0147748 1400 1 -0.0912063 0 0.0001 0 1 325 1 DCH -2 2 1.63063 0.0147748 1400 1 0.0920356 0 0.0001 0 1 326 1 DCH -2 2 1.64541 0.0147748 1400 1 -0.0928647 0 0.0001 0 1 327 1 DCH -2 2 1.66018 0.0147748 1400 1 0.0936937 0 0.0001 0 1 328 1 DCH -2 2 1.67495 0.0147748 1400 1 -0.0945226 0 0.0001 0 1 329 1 DCH -2 2 1.68973 0.0147748 1400 1 0.0953514 0 0.0001 0 1 330 1 DCH -2 2 1.7045 0.0147748 1400 1 -0.09618 0 0.0001 0 1 331 1 DCH -2 2 1.71928 0.0147748 1400 1 0.0970085 0 0.0001 0 1 332 1 DCH -2 2 1.73405 0.0147748 1400 1 -0.0978369 0 0.0001 0 1 333 1 DCH -2 2 1.74883 0.0147748 1400 1 0.0986651 0 0.0001 0 1 334 1 DCH -2 2 1.7636 0.0147748 1400 1 -0.0994932 0 0.0001 0 1 335 1 DCH -2 2 1.77838 0.0147748 1400 1 0.100321 0 0.0001 0 1 336 1 DCH -2 2 1.79315 0.0147748 1400 1 -0.101149 0 0.0001 0 1 337 1 DCH -2 2 1.80793 0.0147748 1400 1 0.101977 0 0.0001 0 1 338 1 DCH -2 2 1.8227 0.0147748 1400 1 -0.102804 0 0.0001 0 1 339 1 DCH -2 2 1.83748 0.0147748 1400 1 0.103632 0 0.0001 0 1 340 1 DCH -2 2 1.85225 0.0147748 1400 1 -0.104459 0 0.0001 0 1 341 1 DCH -2 2 1.86703 0.0147748 1400 1 0.105286 0 0.0001 0 1 342 1 DCH -2 2 1.8818 0.0147748 1400 1 -0.106113 0 0.0001 0 1 343 1 DCH -2 2 1.89658 0.0147748 1400 1 0.10694 0 0.0001 0 1 344 1 DCH -2 2 1.91135 0.0147748 1400 1 -0.107766 0 0.0001 0 1 345 1 DCH -2 2 1.92613 0.0147748 1400 1 0.108593 0 0.0001 0 1 346 1 DCH -2 2 1.9409 0.0147748 1400 1 -0.109419 0 0.0001 0 1 347 1 DCH -2 2 1.95568 0.0147748 1400 1 0.110246 0 0.0001 0 1 348 1 DCH -2 2 1.97045 0.0147748 1400 1 -0.111072 0 0.0001 0 1 349 1 DCH -2 2 1.98523 0.0147748 1400 1 0.111898 0 0.0001 0 1 350 1 DCH -2 2 2 0.0147748 1400 1 -0.112723 0 0.0001 0 1 351 1 DCHCANO $DCHZMIN $DCHZMAX $DCHRMAX $DCHRMAX 0.02 1.667 0 0 0 0 0 0 352 1 BSILWRP -2.35 2.35 2.04 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1 353 1 BSILWRP -2.35 2.35 2.06 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1 354 1 MAG -2.5 2.5 2.25 0.05 0.0658 0 0 0 0 0 0 355 1 BPRESH -2.55 2.55 2.45 0.02 1 2 0 1.5708 7e-005 0.01 1 356 2 DCHWALL $DCHRMIN $DCHRMAX $DCHZMAX 0.25 5.55 0 0 0 0 0 0 357 2 DCHWALL $DCHRMIN $DCHRMAX $DCHZMIN 0.25 5.55 0 0 0 0 0 0 358 2 FSILWRP 0.354 2.02 -2.32 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1 359 2 FSILWRP 0.35 2.02 -2.3 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1 360 2 FSILWRP 0.35 2.02 2.3 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1 361 2 FSILWRP 0.354 2.02 2.32 0.00047 0.0937 2 0 1.5708 7e-006 9e-005 1 362 2 FRAD 0.38 2.09 2.49 0.0043 0.005612 0 0 0 0 0 0 363 2 FRAD 0.38 2.09 -2.49 0.0043 0.005612 0 0 0 0 0 0 364 2 FPRESH 0.39 2.43 -2.55 0.02 1 2 0 1.5708 7e-005 0.01 1 365 2 FPRESH 0.39 2.43 2.55 0.02 1 2 0 1.5708 7e-005 0.01 1 366 } 367 368 } 369 370 ################### 371 # Cluster Counting 372 ################### 373 374 module ClusterCounting ClusterCounting { 375 376 add InputArray TrackSmearing/tracks 377 set OutputArray tracks 378 379 set Bz $B 380 381 ## check that these are consistent with DCHCANI/DCHNANO parameters in TrackCovariance module 382 set Rmin $DCHRMIN 383 set Rmax $DCHRMAX 384 set Zmin $DCHZMIN 385 set Zmax $DCHZMAX 386 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 0 394 395 } 396 397 398 ######################################## 399 # Time Smearing MIP 400 ######################################## 401 402 module TimeSmearing TimeSmearing { 403 set InputArray ClusterCounting/tracks 404 set OutputArray tracks 405 406 # assume constant 30 ps resolution for now 407 set TimeResolution { 408 (abs(eta) > 0.0 && abs(eta) <= 3.0)* 30E-12 409 } 410 } 411 412 413 ######################################## 414 # Time Of Flight Measurement 415 ######################################## 416 417 module TimeOfFlight TimeOfFlight { 418 set InputArray TimeSmearing/tracks 419 set VertexInputArray TruthVertexFinder/vertices 420 421 set OutputArray tracks 422 423 # 0: assume vertex time tV from MC Truth (ideal case) 424 # 1: assume vertex time tV = 0 425 # 2: calculate vertex time as vertex TOF, assuming tPV=0 426 427 set VertexTimeMode 0 428 } 429 430 ############## 431 # Track merger 432 ############## 433 193 434 module Merger TrackMerger { 194 435 # add InputArray InputArray 195 add InputArray ChargedHadronMomentumSmearing/chargedHadrons 196 add InputArray ElectronMomentumSmearing/electrons 197 add InputArray MuonMomentumSmearing/muons 436 add InputArray TimeOfFlight/tracks 198 437 set OutputArray tracks 199 438 } 200 439 201 440 202 ############# 203 # Calorimeter 204 ############# 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 ############# 205 462 module DualReadoutCalorimeter Calorimeter { 206 463 set ParticleInputArray ParticlePropagator/stableParticles … … 216 473 set ECalEnergyMin 0.5 217 474 set HCalEnergyMin 0.5 475 set ECalEnergySignificanceMin 3.0 476 set HCalEnergySignificanceMin 3.0 477 218 478 set EnergyMin 0.5 219 set ECalEnergySignificanceMin 1.0 220 set HCalEnergySignificanceMin 1.0 221 set EnergySignificanceMin 1.0 222 223 set SmearTowerCenter true 479 set EnergySignificanceMin 3.0 480 481 #set SmearTowerCenter true 482 set SmearTowerCenter false 224 483 set pi [expr {acos(-1)}] 225 484 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: 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: 234 493 set PhiBins {} 235 494 for {set i -120} {$i <= 120} {incr i} { 236 495 add PhiBins [expr {$i * $pi/120}] 237 496 } 238 #deta=0.02 units for |eta| <= 0.88 497 #deta=0.02 units for |eta| <= 0.88 239 498 for {set i -44} {$i < 45} {incr i} { 240 499 set eta [expr {$i * 0.02}] … … 242 501 } 243 502 244 #endcaps: 503 #endcaps: 245 504 set PhiBins {} 246 505 for {set i -120} {$i <= 120} {incr i} { 247 506 add PhiBins [expr {$i* $pi/120}] 248 507 } 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} {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} { 252 511 set eta [expr {-3.00 + $i * 0.02}] 253 512 add EtaPhiBins $eta $PhiBins 254 513 } 255 #same for 0.88 to 3.0 514 #same for 0.88 to 3.0 256 515 for {set i 1} {$i <=106} {incr i} { 257 516 set eta [expr {0.88 + $i * 0.02}] … … 259 518 } 260 519 261 # default energy fractions {abs(PDG code)} {Fecal Fhcal} 520 # default energy fractions {abs(PDG code)} {Fecal Fhcal} 262 521 add EnergyFraction {0} {0.0 1.0} 263 # energy fractions for e, gamma and pi0 522 # energy fractions for e, gamma and pi0 264 523 add EnergyFraction {11} {1.0 0.0} 265 524 add EnergyFraction {22} {1.0 0.0} 266 525 add EnergyFraction {111} {1.0 0.0} 267 # energy fractions for muon, neutrinos and neutralinos 526 # energy fractions for muon, neutrinos and neutralinos 268 527 add EnergyFraction {12} {0.0 0.0} 269 528 add EnergyFraction {13} {0.0 0.0} … … 275 534 add EnergyFraction {1000035} {0.0 0.0} 276 535 add EnergyFraction {1000045} {0.0 0.0} 277 # energy fractions for K0short and Lambda 536 # energy fractions for K0short and Lambda 278 537 add EnergyFraction {310} {0.3 0.7} 538 add EnergyFraction {130} {0.3 0.7} 279 539 add EnergyFraction {3122} {0.3 0.7} 280 540 281 541 282 # set ECalResolutionFormula {resolution formula as a function of eta and energy} 542 # set ECalResolutionFormula {resolution formula as a function of eta and energy} 283 543 set ECalResolutionFormula { 284 544 (abs(eta) <= 0.88 ) * sqrt(energy^2*0.01^2 + energy*0.11^2)+ … … 286 546 } 287 547 288 # set HCalResolutionFormula {resolution formula as a function of eta and energy} 548 # set HCalResolutionFormula {resolution formula as a function of eta and energy} 289 549 set HCalResolutionFormula { 290 550 (abs(eta) <= 0.88 ) * sqrt(energy^2*0.01^2 + energy*0.30^2)+ … … 293 553 } 294 554 555 ######################################## 556 # Time Smearing Neutrals 557 ######################################## 558 559 module TimeSmearing TimeSmearingNeutrals { 560 set InputArray Calorimeter/eflowNeutralHadrons 561 set OutputArray eflowNeutralHadrons 562 563 # assume constant 30 ps resolution for now 564 set TimeResolution { 565 (abs(eta) > 0.0 && abs(eta) <= 3.0)* 30E-12 566 } 567 } 568 569 ######################################## 570 # Time Of Flight Measurement 571 ######################################## 572 573 module TimeOfFlight TimeOfFlightNeutralHadron { 574 set InputArray TimeSmearingNeutrals/eflowNeutralHadrons 575 set VertexInputArray TruthVertexFinder/vertices 576 577 set OutputArray eflowNeutralHadrons 578 579 # 0: assume vertex time tV from MC Truth (ideal case) 580 # 1: assume vertex time tV = 0 581 # 2: calculate vertex time as vertex TOF, assuming tPV=0 582 583 ## TBF (add option to take hard vertex time) 584 set VertexTimeMode 1 585 } 586 587 588 ############################ 589 # Energy flow track merger 590 ############################ 591 592 module Merger EFlowTrackMerger { 593 # add InputArray InputArray 594 add InputArray Calorimeter/eflowTracks 595 add InputArray ForwardLooperTracks/tracks 596 set OutputArray eflowTracks 597 } 598 599 600 295 601 #################### 296 602 # Energy flow merger … … 299 605 module Merger EFlowMerger { 300 606 # add InputArray InputArray 301 add InputArray Calorimeter/eflowTracks607 add InputArray EFlowTrackMerger/eflowTracks 302 608 add InputArray Calorimeter/eflowPhotons 303 add InputArray Calorimeter/eflowNeutralHadrons609 add InputArray TimeOfFlightNeutralHadron/eflowNeutralHadrons 304 610 set OutputArray eflow 305 611 } 612 306 613 307 614 ################### … … 337 644 set PTMin 0.5 338 645 339 set PTRatioMax 999 .646 set PTRatioMax 9999. 340 647 } 341 648 … … 345 652 346 653 module PdgCodeFilter ElectronFilter { 347 set InputArray Calorimeter/eflowTracks654 set InputArray EFlowTrackMerger/eflowTracks 348 655 set OutputArray electrons 349 656 set Invert true … … 352 659 } 353 660 661 ################# 662 # Muon filter 663 ################# 664 665 module PdgCodeFilter MuonFilter { 666 set InputArray EFlowTrackMerger/eflowTracks 667 set OutputArray muons 668 set Invert true 669 add PdgCode {13} 670 add PdgCode {-13} 671 } 672 673 354 674 ##################### 355 675 # Electron efficiency … … 363 683 364 684 # efficiency formula for electrons 365 set EfficiencyFormula { 685 set EfficiencyFormula { 366 686 (energy < 2.0) * (0.000)+ 367 687 (energy >= 2.0) * (abs(eta) <= 0.88) * (0.99) + … … 385 705 set PTMin 0.5 386 706 387 set PTRatioMax 0.12707 set PTRatioMax 9999 388 708 } 389 709 … … 393 713 394 714 module Efficiency MuonEfficiency { 395 set InputArray Muon MomentumSmearing/muons715 set InputArray MuonFilter/muons 396 716 set OutputArray muons 397 717 … … 399 719 400 720 # efficiency formula for muons 401 set EfficiencyFormula { 721 set EfficiencyFormula { 402 722 (energy < 2.0) * (0.000)+ 403 723 (energy >= 2.0) * (abs(eta) <= 0.88) * (0.99) + … … 421 741 set PTMin 0.5 422 742 423 set PTRatioMax 0.25743 set PTRatioMax 9999. 424 744 } 425 745 … … 473 793 module FastJetFinder GenJetFinder { 474 794 set InputArray NeutrinoFilter/filteredParticles 475 476 795 set OutputArray jets 477 796 478 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt479 set JetAlgorithm 6480 set Parameter R 0.4797 set JetAlgorithm 10 798 set ParameterR 1.5 799 set ParameterP -1.0 481 800 set JetPTMin 1.0 801 482 802 } 483 803 … … 504 824 505 825 # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt 506 set JetAlgorithm 6 507 set ParameterR 0.4 826 set JetAlgorithm 10 827 set ParameterR 1.5 828 set ParameterP -1.0 508 829 set JetPTMin 1.0 830 831 509 832 } 510 833 … … 518 841 519 842 # scale formula for jets 520 set ScaleFormula {1.0 8}843 set ScaleFormula {1.00} 521 844 } 522 845 … … 547 870 548 871 # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt} 549 872 550 873 # default efficiency formula (misidentification rate) 551 874 add EfficiencyFormula {0} {0.01} … … 578 901 579 902 580 #####################################################581 # Find uniquely identified photons/electrons/tau/jets582 #####################################################583 584 module UniqueObjectFinder UniqueObjectFinder {585 # earlier arrays take precedence over later ones586 # add InputArray InputArray OutputArray587 add InputArray PhotonIsolation/photons photons588 add InputArray ElectronIsolation/electrons electrons589 add InputArray MuonIsolation/muons muons590 add InputArray JetEnergyScale/jets jets591 }592 593 594 903 595 904 ################## … … 603 912 module TreeWriter TreeWriter { 604 913 # add Branch InputArray BranchName BranchClass 605 914 606 915 add Branch Delphes/allParticles Particle GenParticle 607 608 add Branch TrackMerger/tracks Track Track 609 add Branch Calorimeter/towers Tower Tower 610 611 add Branch Calorimeter/eflowTracks EFlowTrack Track 916 add Branch TruthVertexFinder/vertices GenVertex Vertex 917 918 add Branch EFlowTrackMerger/eflowTracks EFlowTrack Track 919 add Branch TrackSmearing/tracks Track Track 612 920 add Branch Calorimeter/eflowPhotons EFlowPhoton Tower 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 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 619 932 add Branch GenJetFinder/jets GenJet Jet 620 933 add Branch GenMissingET/momentum GenMissingET MissingET 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 934 935 # add Info InfoName InfoValue 936 add Info Bz $B 937 } -
classes/CMakeLists.txt
ra5af1df rd612dec 9 9 list(REMOVE_ITEM headers ${CMAKE_CURRENT_SOURCE_DIR}/ClassesLinkDef.h) 10 10 11 DELPHES_GENERATE_DICTIONARY(ClassesDict 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 12 23 ${CMAKE_CURRENT_SOURCE_DIR}/DelphesModule.h 13 24 ${CMAKE_CURRENT_SOURCE_DIR}/DelphesFactory.h 14 25 ${CMAKE_CURRENT_SOURCE_DIR}/SortableObject.h 15 26 ${CMAKE_CURRENT_SOURCE_DIR}/DelphesClasses.h 16 LINKDEF ClassesLinkDef.h 17 ) 27 LINKDEF ClassesLinkDef.h 28 ) 29 endif() 18 30 19 31 add_library(classes OBJECT ${sources} ClassesDict.cxx) -
classes/ClassesLinkDef.h
ra5af1df rd612dec 62 62 #pragma link C++ class Track+; 63 63 #pragma link C++ class Tower+; 64 #pragma link C++ class ParticleFlowCandidate+; 64 65 #pragma link C++ class HectorHit+; 65 66 -
classes/DelphesClasses.cc
ra5af1df rd612dec 28 28 29 29 #include "classes/DelphesClasses.h" 30 31 30 #include "classes/DelphesFactory.h" 32 31 #include "classes/SortableObject.h" … … 40 39 CompBase *Track::fgCompare = CompPT<Track>::Instance(); 41 40 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, 0.0); 107 return vec; 108 } 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 109 150 110 151 //------------------------------------------------------------------------------ … … 115 156 vec.SetPtEtaPhiM(ET, Eta, Phi, 0.0); 116 157 return vec; 158 } 159 160 //------------------------------------------------------------------------------ 161 162 TLorentzVector ParticleFlowCandidate::P4() const 163 { 164 TLorentzVector vec; 165 vec.SetPtEtaPhiM(PT, Eta, Phi, Mass); 166 return vec; 167 } 168 169 //------------------------------------------------------------------------------ 170 171 TMatrixDSym ParticleFlowCandidate::CovarianceMatrix() const 172 { 173 TMatrixDSym Cv; 174 Cv.ResizeTo(5, 5); 175 176 // convert diagonal term to original units 177 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 terms 184 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; 117 207 } 118 208 … … 125 215 Flavor(0), FlavorAlgo(0), FlavorPhys(0), 126 216 BTag(0), BTagAlgo(0), BTagPhys(0), 127 TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0), 217 TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0), Etrk(0.0), 128 218 DeltaEta(0.0), DeltaPhi(0.0), 129 219 Momentum(0.0, 0.0, 0.0, 0.0), … … 133 223 PositionError(0.0, 0.0, 0.0, 0.0), 134 224 Area(0.0, 0.0, 0.0, 0.0), 225 TrackCovariance(5), 135 226 L(0), 136 227 D0(0), ErrorD0(0), 137 228 DZ(0), ErrorDZ(0), 138 229 P(0), ErrorP(0), 230 C(0), ErrorC(0), 139 231 PT(0), ErrorPT(0), 140 232 CtgTheta(0), ErrorCtgTheta(0), 141 233 Phi(0), ErrorPhi(0), 142 234 Xd(0), Yd(0), Zd(0), 235 Nclusters(0.0), 236 dNdx(0.0), 143 237 TrackResolution(0), 144 238 NCharged(0), 145 239 NNeutrals(0), 240 NeutralEnergyFraction(0), // charged energy fraction 241 ChargedEnergyFraction(0), // neutral energy fraction 146 242 Beta(0), 147 243 BetaStar(0), … … 163 259 ExclYmerge45(0), 164 260 ExclYmerge56(0), 261 ParticleDensity(0), 165 262 fFactory(0), 166 263 fArray(0) … … 284 381 object.Eem = Eem; 285 382 object.Ehad = Ehad; 383 object.Etrk = Etrk; 286 384 object.Edges[0] = Edges[0]; 287 385 object.Edges[1] = Edges[1]; … … 304 402 object.P = P; 305 403 object.ErrorP = ErrorP; 404 object.C = C; 405 object.ErrorC = ErrorC; 306 406 object.PT = PT; 307 407 object.ErrorPT = ErrorPT; … … 313 413 object.Yd = Yd; 314 414 object.Zd = Zd; 415 object.Nclusters = Nclusters; 416 object.dNdx = dNdx; 315 417 object.TrackResolution = TrackResolution; 316 418 object.NCharged = NCharged; 317 419 object.NNeutrals = NNeutrals; 420 object.NeutralEnergyFraction = NeutralEnergyFraction; 421 object.ChargedEnergyFraction = ChargedEnergyFraction; 318 422 object.Beta = Beta; 319 423 object.BetaStar = BetaStar; … … 366 470 object.SoftDroppedSubJet1 = SoftDroppedSubJet1; 367 471 object.SoftDroppedSubJet2 = SoftDroppedSubJet2; 368 472 object.TrackCovariance = TrackCovariance; 369 473 object.fFactory = fFactory; 370 474 object.fArray = 0; … … 413 517 Eem = 0.0; 414 518 Ehad = 0.0; 519 Etrk = 0.0; 415 520 Edges[0] = 0.0; 416 521 Edges[1] = 0.0; … … 424 529 DecayPosition.SetXYZT(0.0, 0.0, 0.0, 0.0); 425 530 Area.SetXYZT(0.0, 0.0, 0.0, 0.0); 531 TrackCovariance.Zero(); 426 532 L = 0.0; 427 533 ErrorT = 0.0; … … 432 538 P = 0.0; 433 539 ErrorP = 0.0; 540 C = 0.0; 541 ErrorC = 0.0; 434 542 PT = 0.0; 435 543 ErrorPT = 0.0; … … 441 549 Yd = 0.0; 442 550 Zd = 0.0; 551 Nclusters = 0.0; 552 dNdx = 0.0; 443 553 TrackResolution = 0.0; 444 554 NCharged = 0; -
classes/DelphesClasses.h
ra5af1df rd612dec 33 33 34 34 #include "TLorentzVector.h" 35 #include "TMatrixDSym.h" 35 36 #include "TObject.h" 36 37 #include "TRef.h" … … 150 151 Float_t Eta; // particle pseudorapidity 151 152 Float_t Phi; // particle azimuthal angle 152 153 153 Float_t Rapidity; // particle rapidity 154 Float_t CtgTheta; // particle cotangent of theta155 156 Float_t D0; // particle transverse impact parameter157 Float_t DZ; // particle longitudinal impact parameter158 154 159 155 Float_t T; // particle vertex position (t component) | hepevt.vhep[number][3] … … 394 390 Int_t NCharged; // number of charged constituents 395 391 Int_t NNeutrals; // number of neutral constituents 392 393 Float_t NeutralEnergyFraction; // charged energy fraction 394 Float_t ChargedEnergyFraction; // neutral energy fraction 395 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 inverse 448 Float_t Mass; // particle mass 447 449 448 450 Float_t EtaOuter; // track pseudorapidity at the tracker edge … … 466 468 Float_t D0; // track transverse impact parameter 467 469 Float_t DZ; // track longitudinal impact parameter 470 Float_t Nclusters; // Number of ionization clusters 471 Float_t dNdx; // Number of ionization clusters 468 472 469 473 Float_t ErrorP; // track momentum error … … 475 479 Float_t ErrorD0; // track transverse impact parameter error 476 480 Float_t ErrorDZ; // track longitudinal impact parameter error 481 Float_t ErrorC; // track curvature error 482 483 // track covariance off-diagonal terms 484 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; 477 494 478 495 TRef Particle; // reference to generated particle … … 484 501 485 502 TLorentzVector P4() const; 503 TMatrixDSym CovarianceMatrix() const; 486 504 487 505 ClassDef(Track, 3) … … 504 522 Float_t Eem; // calorimeter tower electromagnetic energy 505 523 Float_t Ehad; // calorimeter tower hadronic energy 524 Float_t Etrk; // total charged energy hitting tower 506 525 507 526 Float_t Edges[4]; // calorimeter tower edges … … 514 533 TLorentzVector P4() const; 515 534 516 ClassDef(Tower, 2) 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 517 622 }; 518 623 … … 610 715 Float_t Eem; 611 716 Float_t Ehad; 717 Float_t Etrk; 612 718 613 719 Float_t Edges[4]; … … 618 724 619 725 Float_t L; // path length 726 Float_t DZ; 727 Float_t ErrorDZ; 620 728 Float_t ErrorT; // path length 621 729 Float_t D0; 622 730 Float_t ErrorD0; 623 Float_t DZ;624 Float_t Error DZ;731 Float_t C; 732 Float_t ErrorC; 625 733 Float_t P; 626 734 Float_t ErrorP; … … 632 740 Float_t ErrorPhi; 633 741 742 Float_t Nclusters; // Number of ionization clusters 743 Float_t dNdx; // Number of ionization clusters per unit length 744 634 745 Float_t Xd; 635 746 Float_t Yd; … … 649 760 Float_t PTD; 650 761 Float_t FracPt[5]; 762 Float_t NeutralEnergyFraction; // charged energy fraction 763 Float_t ChargedEnergyFraction; // neutral energy fraction 764 651 765 652 766 // Timing information … … 663 777 Float_t SumPtChargedPU; 664 778 Float_t SumPt; 779 780 // ACTS compliant 6x6 track covariance (D0, phi, Curvature, dz, ctg(theta)) 781 782 TMatrixDSym TrackCovariance; 665 783 666 784 // vertex variables … … 698 816 Double_t ExclYmerge56; 699 817 818 // event characteristics variables 819 Double_t ParticleDensity; // particle multiplicity density in the proximity of the particle 820 700 821 static CompBase *fgCompare; //! 701 822 const CompBase *GetCompare() const { return fgCompare; } -
classes/DelphesFormula.cc
ra5af1df rd612dec 18 18 19 19 #include "classes/DelphesFormula.h" 20 #include "classes/DelphesClasses.h" 20 21 21 22 #include "TString.h" … … 63 64 buffer.ReplaceAll("dz", "[1]"); 64 65 buffer.ReplaceAll("ctgTheta", "[2]"); 66 buffer.ReplaceAll("radius", "[3]"); 67 buffer.ReplaceAll("density", "[4]"); 65 68 66 69 #if ROOT_VERSION_CODE < ROOT_VERSION(6, 3, 0) … … 77 80 //------------------------------------------------------------------------------ 78 81 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) 82 Double_t DelphesFormula::Eval(Double_t pt, Double_t eta, Double_t phi, Double_t energy, Candidate *candidate) 82 83 { 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 83 94 Double_t x[4] = {pt, eta, phi, energy}; 84 Double_t params[ 3] = {d0, dz, ctgTheta};95 Double_t params[5] = {d0, dz, ctgTheta, radius, density}; 85 96 return EvalPar(x, params); 86 97 } -
classes/DelphesFormula.h
ra5af1df rd612dec 22 22 #include "TFormula.h" 23 23 24 class Candidate; 25 24 26 class DelphesFormula: public TFormula 25 27 { … … 33 35 Int_t Compile(const char *expression); 34 36 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); 37 Double_t Eval(Double_t pt, Double_t eta = 0, Double_t phi = 0, Double_t energy = 0, Candidate *candidate = nullptr); 38 38 }; 39 39 -
classes/DelphesModule.cc
ra5af1df rd612dec 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 132 149 ExRootResult *DelphesModule::GetPlots() 133 150 { -
classes/DelphesModule.h
ra5af1df rd612dec 55 55 56 56 ExRootTreeBranch *NewBranch(const char *name, TClass *cl); 57 void AddInfo(const char *name, Double_t value); 57 58 58 59 ExRootResult *GetPlots(); -
classes/DelphesStream.cc
ra5af1df rd612dec 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
ra5af1df rd612dec 35 35 bool ReadDbl(double &value); 36 36 bool ReadInt(int &value); 37 bool FindChr(int value); 38 bool FindStr(const char *value); 37 39 38 40 private: -
classes/DelphesTF2.cc
ra5af1df rd612dec 32 32 { 33 33 34 #if ROOT_VERSION_CODE >= ROOT_VERSION(6, 3, 0) 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) 35 37 fFormula = new TFormula(); 36 38 #endif -
converters/hepmc2pileup.cpp
ra5af1df rd612dec 35 35 #include "classes/DelphesClasses.h" 36 36 #include "classes/DelphesFactory.h" 37 #include "classes/DelphesHepMC Reader.h"37 #include "classes/DelphesHepMC2Reader.h" 38 38 #include "classes/DelphesPileUpWriter.h" 39 39 … … 65 65 Candidate *candidate = 0; 66 66 DelphesPileUpWriter *writer = 0; 67 DelphesHepMC Reader *reader = 0;67 DelphesHepMC2Reader *reader = 0; 68 68 Int_t i; 69 69 Long64_t length, eventCounter; … … 98 98 itParticle = stableParticleOutputArray->MakeIterator(); 99 99 100 reader = new DelphesHepMC Reader;100 reader = new DelphesHepMC2Reader; 101 101 102 102 i = 2; -
doc/Makefile.arch
ra5af1df rd612dec 39 39 OPT2 = -g 40 40 else 41 ifneq ($(findstring debug, $(strip $(shell $(RC) --config))),)42 OPT = -g43 OPT2 = -g44 else45 41 OPT = -O 46 42 OPT2 = -O2 47 endif48 43 endif 49 44 … … 52 47 ROOTLIBS := $(shell $(RC) --libs) 53 48 ROOTGLIBS := $(shell $(RC) --glibs) 54 HASTHREAD := $(shell $(RC) --has-thread) 55 ROOTCINT := rootcint 49 ROOTCLING := rootcling 56 50 57 51 ifeq ($(PLATFORM),macosx) 58 MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2) 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)) 59 55 ifeq ($(MACOSX_DEPLOYMENT_TARGET),) 60 MACOSXTARGET := 10.$(MACOSX_MINOR)56 MACOSXTARGET := $(MACOSX_MAJOR).$(MACOSX_MINOR) 61 57 else 62 58 MACOSXTARGET := $(MACOSX_DEPLOYMENT_TARGET) … … 118 114 SOFLAGS = -shared 119 115 DllSuf = a 120 EXPLLINKLIBS = $(ROOT LIBS) $(ROOTGLIBS)116 EXPLLINKLIBS = $(ROOTGLIBS) 121 117 endif 122 118 … … 146 142 LDFLAGS = $(OPT) 147 143 SOFLAGS = -G 148 endif149 150 ifeq ($(ARCH),sgicc)151 # SGI152 CXX = CC -n32 -I/usr/include/CC.sgi153 CXXFLAGS = $(OPT)154 LD = CC -n32 -LANG:std -I/usr/include/CC.sgi155 LDFLAGS = $(OPT)156 SOFLAGS = -shared157 endif158 159 ifeq ($(ARCH),sgicc64)160 # SGI161 CXX = CC -64 -I/usr/include/CC.sgi162 CXXFLAGS = $(OPT)163 LD = CC -64 -LANG:std -I/usr/include/CC.sgi164 LDFLAGS = $(OPT)165 SOFLAGS = -shared166 endif167 168 ifeq ($(ARCH),sgigcc)169 # SGI 6.x with gcc170 CXX = g++171 CXXFLAGS = $(OPT) -Wall -fPIC172 LD = g++173 LDFLAGS = $(OPT) -Wl,-u,__builtin_new -Wl,-u,__builtin_delete -Wl,-u,__nw__FUiPv174 SOFLAGS = -shared175 endif176 177 ifeq ($(ARCH),sgin32gcc)178 # SGI 6.x with gcc for n32 ABI179 CXX = g++180 CXXFLAGS = $(OPT) -Wall -fPIC181 LD = g++182 LDFLAGS = $(OPT) -L/usr/lib32 -Wl,-woff,134 -lgen183 SOFLAGS = -shared184 endif185 186 ifeq ($(ARCH),alphagcc)187 # Alpha/OSF with gcc188 CXX = g++189 CXXFLAGS = $(OPT2) -Wall -fPIC190 LD = g++191 LDFLAGS = $(OPT2)192 SOFLAGS = -Wl,-expect_unresolved,* -shared193 endif194 195 ifeq ($(ARCH),alphacxx6)196 # Alpha/OSF with cxx6197 CXX = cxx198 CXXFLAGS = $(OPT)199 LD = cxx200 LDFLAGS = $(OPT)201 SOFLAGS = -shared -nocxxstd -Wl,-expect_unresolved,*,-msym202 144 endif 203 145 … … 282 224 endif 283 225 284 ifeq ($(ARCH),linuxalphagcc)285 # Alpha Linux with gcc286 CXX = g++287 CXXFLAGS = $(OPT2) -Wall -fPIC288 LD = g++289 LDFLAGS = $(OPT2)290 SOFLAGS = -shared291 endif292 293 ifeq ($(ARCH),linuxmips)294 # GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc295 CXX = g++296 CXXFLAGS = $(OPT2) -Wall -fPIC297 LD = g++298 LDFLAGS = $(OPT2)299 SOFLAGS = -shared300 endif301 302 226 ifeq ($(ARCH),linuxhppa) 303 227 # GNU/Linux on hppa with gcc … … 318 242 endif 319 243 244 ifeq ($(ARCH),linuxarm64) 245 # ARMv8-A (AArch64) Linux with gcc and glibc 246 CXX = g++ 247 CXXFLAGS = $(OPT) -Wall -fPIC 248 LD = g++ 249 LDFLAGS = $(OPT) 250 SOFLAGS = -shared 251 endif 252 320 253 ifeq ($(ARCH),freebsd4) 321 254 # FreeBSD with glibc … … 360 293 LD = g++ 361 294 LDFLAGS = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) 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) 295 EXPLLINKLIBS = $(ROOTGLIBS) 366 296 DllSuf = so 367 else368 DllSuf = dylib369 endif370 ifneq ($(subst $(MACOSX_MINOR),,12),12)371 LD = g++372 endif373 297 SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/ 374 298 endif … … 376 300 ifeq ($(ARCH),macosxicc) 377 301 # MacOS X with Intel icc compiler 378 ifeq ($(MACOSX_MINOR),5)379 MACOSX_MINOR := 4380 endif381 302 CXX = icc 382 303 CXXFLAGS = $(OPT) -fPIC -wd1476 383 304 LD = icpc 384 305 LDFLAGS = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) 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) 306 EXPLLINKLIBS = $(ROOTGLIBS) 389 307 DllSuf = so 390 else391 DllSuf = dylib392 endif393 308 SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/ 394 309 endif … … 400 315 CXXFLAGS = $(OPT2) -pipe -Wall -W -Woverloaded-virtual 401 316 LD = g++ 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) 317 LDFLAGS = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) -Wl,-rpath,$(ROOTLIBDIR) 318 EXPLLINKLIBS = $(ROOTGLIBS) 407 319 DllSuf = so 408 else 409 DllSuf = dylib 410 endif 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 411 331 SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/ 412 332 endif … … 426 346 LDOPT = -debug 427 347 else 428 ifneq ($(findstring debug, $(strip $(shell $(RC) --config))),)429 CXXOPT = -Z7430 LDOPT = -debug431 else432 348 CXXOPT = -O2 433 349 LDOPT = -opt:ref 434 endif435 350 endif 436 351 ROOTINCDIR := -I$(shell cygpath -m `$(RC) --incdir`) … … 440 355 SOFLAGS = -DLL 441 356 442 EXPLLINKLIBS = $(ROOT LIBS) $(ROOTGLIBS)357 EXPLLINKLIBS = $(ROOTGLIBS) 443 358 ifneq (,$(findstring $(VC_MAJOR),14 15)) 444 359 MT_EXE = mt -nologo -manifest $@.manifest -outputresource:$@\;1; rm -f $@.manifest … … 462 377 SOFLAGS = -shared -Wl,--enable-auto-image-base \ 463 378 -Wl,--export-all-symbols 464 EXPLLINKLIBS = $(ROOT LIBS) $(ROOTGLIBS)379 EXPLLINKLIBS = $(ROOTGLIBS) 465 380 endif 466 381 … … 471 386 CXXFLAGS += $(ROOTCFLAGS) 472 387 LDFLAGS += $(ROOTLDFLAGS) 473 LIBS = $(ROOTLIBS) $(SYSLIBS)474 GLIBS = $(ROOTGLIBS) $(SYSLIBS)388 LIBS = $(ROOTLIBS) 389 GLIBS = $(ROOTGLIBS) 475 390 476 391 ifneq ($(ALTCC),) -
doc/genMakefile.tcl
ra5af1df rd612dec 282 282 DISPLAYLIB = libDelphesDisplay.lib 283 283 284 VERSION = $(shell cat VERSION)284 VERSION = x.y.z 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 .cpp} {readers/DelphesLHEF.cpp} {readers/DelphesSTDHEP.cpp} {readers/DelphesROOT.cpp}294 executableDeps {readers/DelphesHepMC2.cpp} {readers/DelphesHepMC3.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} 323 sourceDeps {DELPHES} {classes/*.cc} {modules/*.cc} {external/ExRootAnalysis/*.cc} {external/Hector/*.cc} {external/TrackCovariance/*.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 else351 348 ifeq ($(PLATFORM),macosx) 352 # We need to make both the .dylib and the .so353 349 @$(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 endif358 endif359 350 else 360 351 ifeq ($(PLATFORM),win32) … … 365 356 else 366 357 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 367 @$(MT_DLL)368 endif369 358 endif 370 359 endif … … 373 362 @mkdir -p $(@D) 374 363 @echo ">> Building $@" 375 ifeq ($(ARCH),aix5)376 @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^377 else378 364 ifeq ($(PLATFORM),macosx) 379 # We need to make both the .dylib and the .so380 365 @$(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 endif385 endif386 366 else 387 367 ifeq ($(PLATFORM),win32) … … 392 372 else 393 373 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS) 394 @$(MT_DLL)395 endif396 374 endif 397 375 endif … … 400 378 @mkdir -p $(@D) 401 379 @echo ">> Building $@" 402 ifeq ($(ARCH),aix5)403 @$(MAKESHARED) $(OutPutOpt) $@ $(DISPLAY_LIBS) -p 0 $^404 else405 380 ifeq ($(PLATFORM),macosx) 406 # We need to make both the .dylib and the .so407 381 @$(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 endif412 endif413 382 else 414 383 ifeq ($(PLATFORM),win32) … … 419 388 else 420 389 @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS) 421 @$(MT_DLL)422 endif423 390 endif 424 391 endif … … 434 401 @echo ">> Building $(DISTTAR)" 435 402 @mkdir -p $(DISTDIR) 436 @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb VERSION Makefile MinBias.pileup configure cards classesconverters display doc examples external modules python readers validation $(DISTDIR)403 @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb Makefile MinBias.pileup configure cards classes cmake converters display doc examples external modules python readers validation $(DISTDIR) 437 404 @find $(DISTDIR) -depth -name .\* -exec rm -rf {} \; 438 405 @tar -czf $(DISTTAR) $(DISTDIR) -
doc/update_fastjet.sh
ra5af1df rd612dec 1 version=3.3. 21 version=3.3.4 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/VERSION15 13 16 14 cd fastjet -
examples/Example5.C
ra5af1df rd612dec 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<<", 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<<", 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; 51 51 } 52 52 } -
external/CMakeLists.txt
ra5af1df rd612dec 4 4 add_subdirectory(tcl) 5 5 add_subdirectory(PUPPI) 6 add_subdirectory(TrackCovariance) -
external/ExRootAnalysis/CMakeLists.txt
ra5af1df rd612dec 6 6 file(GLOB sources *.cc) 7 7 file(GLOB headers *.h) 8 8 9 list(REMOVE_ITEM headers ${CMAKE_CURRENT_SOURCE_DIR}/ExRootAnalysisLinkDef.h) 9 10 10 DELPHES_GENERATE_DICTIONARY(ExRootAnalysisDict ${headers} LINKDEF ExRootAnalysisLinkDef.h) 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() 11 29 12 30 add_library(ExRootAnalysis OBJECT ${sources} ExRootAnalysisDict.cxx) -
external/ExRootAnalysis/ExRootTreeReader.cc
ra5af1df rd612dec 12 12 #include "TBranchElement.h" 13 13 #include "TCanvas.h" 14 #include "TParameter.h" 14 15 #include "TClonesArray.h" 15 16 #include "TH2.h" … … 119 120 //------------------------------------------------------------------------------ 120 121 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 121 135 Bool_t ExRootTreeReader::Notify() 122 136 { -
external/ExRootAnalysis/ExRootTreeReader.h
ra5af1df rd612dec 29 29 30 30 TClonesArray *UseBranch(const char *branchName); 31 Double_t GetInfo(const char *name); 31 32 32 33 private: -
external/ExRootAnalysis/ExRootTreeWriter.cc
ra5af1df rd612dec 11 11 #include "ExRootAnalysis/ExRootTreeBranch.h" 12 12 13 #include "TParameter.h" 13 14 #include "TClonesArray.h" 14 15 #include "TFile.h" … … 48 49 fBranches.insert(branch); 49 50 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)); 50 59 } 51 60 -
external/ExRootAnalysis/ExRootTreeWriter.h
ra5af1df rd612dec 28 28 void SetTreeName(const char *name) { fTreeName = name; } 29 29 30 TTree* GetTree() { return fTree; } 31 void SetTree(TTree* t) { fTree = t; } 32 30 33 ExRootTreeBranch *NewBranch(const char *name, TClass *cl); 34 void AddInfo(const char *name, Double_t value); 31 35 32 36 void Clear(); -
external/fastjet/ActiveAreaSpec.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ActiveAreaSpec.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ActiveAreaSpec.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/AreaDefinition.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: AreaDefinition.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: AreaDefinition.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/AreaDefinition.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: AreaDefinition.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: AreaDefinition.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2006-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2006-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/BasicRandom.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: BasicRandom.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: BasicRandom.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/CircularRange.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CircularRange.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: CircularRange.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClosestPair2D.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClosestPair2D.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClosestPair2D.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequence.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, 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 terms of the GNU GPLv2.\n";441 (*ostr) << "# FastJet is provided without warranty under the GNU GPL v2 or higher. \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
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: ClusterSequence.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: ClusterSequence.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence1GhostPassiveArea.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence1GhostPassiveArea.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequence1GhostPassiveArea.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence1GhostPassiveArea.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence1GhostPassiveArea.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequence1GhostPassiveArea.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceActiveArea.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceActiveArea.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequenceActiveArea.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceActiveArea.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceActiveArea.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceActiveArea.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceActiveAreaExplicitGhosts.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceArea.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceArea.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequenceArea.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2006-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2006-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceArea.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceArea.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2006-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceArea.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2006-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceAreaBase.cc
ra5af1df rd612dec 1 1 2 2 //FJSTARTHEADER 3 // $Id: ClusterSequenceAreaBase.cc 4 354 2018-04-22 07:12:37Z salam$4 // 5 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez3 // $Id: ClusterSequenceAreaBase.cc 4442 2020-05-05 07:50:11Z soyez $ 4 // 5 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 6 6 // 7 7 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceAreaBase.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceAreaBase.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceAreaBase.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequencePassiveArea.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequencePassiveArea.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequencePassiveArea.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequencePassiveArea.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequencePassiveArea.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequencePassiveArea.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceStructure.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceStructure.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceStructure.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceStructure.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceStructure.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceStructure.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceVoronoiArea.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceVoronoiArea.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2006-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequenceVoronoiArea.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2006-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceVoronoiArea.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceVoronoiArea.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequenceVoronoiArea.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequenceWithArea.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequenceWithArea.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequenceWithArea.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2006-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2006-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_CP2DChan.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_CP2DChan.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequence_CP2DChan.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_Delaunay.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_Delaunay.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClusterSequence_Delaunay.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_DumbN3.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_DumbN3.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequence_DumbN3.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_N2.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_N2.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequence_N2.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/ClusterSequence_TiledN2.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClusterSequence_TiledN2.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClusterSequence_TiledN2.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/CompositeJetStructure.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CompositeJetStructure.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: CompositeJetStructure.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/CompositeJetStructure.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CompositeJetStructure.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: CompositeJetStructure.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Dnn2piCylinder.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Dnn2piCylinder.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Dnn2piCylinder.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Dnn3piCylinder.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Dnn3piCylinder.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Dnn3piCylinder.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Dnn4piCylinder.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Dnn4piCylinder.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Dnn4piCylinder.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/DnnPlane.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: DnnPlane.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: DnnPlane.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Error.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Error.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Error.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Error.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: Error.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: Error.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/FunctionOfPseudoJet.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: FunctionOfPseudoJet.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: FunctionOfPseudoJet.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/FunctionOfPseudoJet.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: FunctionOfPseudoJet.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: FunctionOfPseudoJet.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/GhostedAreaSpec.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: GhostedAreaSpec.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: GhostedAreaSpec.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/GhostedAreaSpec.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: GhostedAreaSpec.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: GhostedAreaSpec.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/JetDefinition.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: JetDefinition.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: JetDefinition.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/JetDefinition.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: JetDefinition.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: JetDefinition.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/LazyTiling25.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: LazyTiling25.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: LazyTiling25.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LazyTiling9.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: LazyTiling9.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: LazyTiling9.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LazyTiling9Alt.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: LazyTiling9Alt.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: LazyTiling9Alt.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LazyTiling9SeparateGhosts.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: LazyTiling9SeparateGhosts.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: LazyTiling9SeparateGhosts.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LimitedWarning.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: LimitedWarning.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: LimitedWarning.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/LimitedWarning.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: LimitedWarning.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: LimitedWarning.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/MinHeap.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: MinHeap.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: MinHeap.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, 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]); 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); 113 121 if (child < heap_end && child->minloc->value < here->minloc->value ) { 114 122 here->minloc = child->minloc; -
external/fastjet/NNBase.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: NNBase.hh 4 355 2018-04-22 15:38:54Z salam$5 // $Id: NNBase.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2016-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2016-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/NNFJN2Plain.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: NNFJN2Plain.hh 4 355 2018-04-22 15:38:54Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: NNFJN2Plain.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/NNFJN2Tiled.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: NNFJN2Tiled.hh 4 355 2018-04-22 15:38:54Z salam$5 // $Id: NNFJN2Tiled.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2016-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2016-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/NNH.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: NNH.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: NNH.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/PseudoJet.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: PseudoJet.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: PseudoJet.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/PseudoJet.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: PseudoJet.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: PseudoJet.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/PseudoJetStructureBase.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: PseudoJetStructureBase.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: PseudoJetStructureBase.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/PseudoJetStructureBase.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: PseudoJetStructureBase.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: PseudoJetStructureBase.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/RangeDefinition.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: RangeDefinition.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: RangeDefinition.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/RangeDefinition.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: RangeDefinition.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: RangeDefinition.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/RectangularGrid.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: RectangularGrid.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: RectangularGrid.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/RectangularGrid.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: RectangularGrid.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: RectangularGrid.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/Selector.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Selector.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Selector.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Selector.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: Selector.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2009-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: Selector.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/SharedPtr.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: SharedPtr.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: SharedPtr.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/TilingExtent.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: TilingExtent.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: TilingExtent.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/Voronoi.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Voronoi.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Voronoi.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/WrappedStructure.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: WrappedStructure.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: WrappedStructure.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/config_auto.h
ra5af1df rd612dec 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 89 92 /* compiler supports GNU c++ deprecated attribute */ 90 93 #ifndef FASTJET_HAVE_GNUCXX_DEPRECATED … … 107 110 #endif 108 111 112 /* Define to 1 if you have the <mpfr.h> header file. */ 113 /* #undef HAVE_MPFR_H */ 114 109 115 /* compiler supports the "override" keyword */ 110 116 /* #undef HAVE_OVERRIDE */ … … 167 173 /* Define to the full name and version of this package. */ 168 174 #ifndef FASTJET_PACKAGE_STRING 169 #define FASTJET_PACKAGE_STRING "FastJet 3.3. 2"175 #define FASTJET_PACKAGE_STRING "FastJet 3.3.4" 170 176 #endif 171 177 … … 182 188 /* Define to the version of this package. */ 183 189 #ifndef FASTJET_PACKAGE_VERSION 184 #define FASTJET_PACKAGE_VERSION "3.3. 2"190 #define FASTJET_PACKAGE_VERSION "3.3.4" 185 191 #endif 186 192 … … 192 198 /* Version number of package */ 193 199 #ifndef FASTJET_VERSION 194 #define FASTJET_VERSION "3.3. 2"200 #define FASTJET_VERSION "3.3.4" 195 201 #endif 196 202 … … 207 213 /* Version of the package under the form XYYZZ (instead of X.Y.Z) */ 208 214 #ifndef FASTJET_VERSION_NUMBER 209 #define FASTJET_VERSION_NUMBER 3030 2215 #define FASTJET_VERSION_NUMBER 30304 210 216 #endif 211 217 212 218 /* Patch version of this package */ 213 219 #ifndef FASTJET_VERSION_PATCHLEVEL 214 #define FASTJET_VERSION_PATCHLEVEL 2220 #define FASTJET_VERSION_PATCHLEVEL 4 215 221 #endif 216 222 -
external/fastjet/config_raw.h
ra5af1df rd612dec 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 59 62 /* compiler supports GNU c++ deprecated attribute */ 60 63 #define HAVE_GNUCXX_DEPRECATED /**/ … … 68 71 /* Define to 1 if you have the <memory.h> header file. */ 69 72 #define HAVE_MEMORY_H 1 73 74 /* Define to 1 if you have the <mpfr.h> header file. */ 75 /* #undef HAVE_MPFR_H */ 70 76 71 77 /* compiler supports the "override" keyword */ … … 106 112 107 113 /* Define to the full name and version of this package. */ 108 #define PACKAGE_STRING "FastJet 3.3. 2"114 #define PACKAGE_STRING "FastJet 3.3.4" 109 115 110 116 /* Define to the one symbol short name of this package. */ … … 115 121 116 122 /* Define to the version of this package. */ 117 #define PACKAGE_VERSION "3.3. 2"123 #define PACKAGE_VERSION "3.3.4" 118 124 119 125 /* Define to 1 if you have the ANSI C header files. */ … … 121 127 122 128 /* Version number of package */ 123 #define VERSION "3.3. 2"129 #define VERSION "3.3.4" 124 130 125 131 /* Major version of this package */ … … 130 136 131 137 /* Version of the package under the form XYYZZ (instead of X.Y.Z) */ 132 #define VERSION_NUMBER 3030 2138 #define VERSION_NUMBER 30304 133 139 134 140 /* Patch version of this package */ 135 #define VERSION_PATCHLEVEL 2141 #define VERSION_PATCHLEVEL 4 136 142 137 143 /* Pre-release version of this package */ -
external/fastjet/config_win.h
ra5af1df rd612dec 1 #define FASTJET_PACKAGE_STRING "FastJet 3.3. 2"2 #define FASTJET_PACKAGE_VERSION "3.3. 2"3 #define FASTJET_VERSION "3.3. 2"1 #define FASTJET_PACKAGE_STRING "FastJet 3.3.4" 2 #define FASTJET_PACKAGE_VERSION "3.3.4" 3 #define FASTJET_VERSION "3.3.4" 4 4 #define FASTJET_VERSION_MAJOR 3 5 5 #define FASTJET_VERSION_MINOR 3 6 #define FASTJET_VERSION_PATCHLEVEL 27 #define FASTJET_VERSION_NUMBER 3030 26 #define FASTJET_VERSION_PATCHLEVEL 4 7 #define FASTJET_VERSION_NUMBER 30304 8 8 9 9 /* The ATLASCone plugin is disabled by default*/ -
external/fastjet/contribs/RecursiveTools/AUTHORS
ra5af1df rd612dec 28 28 Recursive Soft Drop. 29 29 Frederic A. Dreyer, Lina Necib, Gregory Soyez, and Jesse Thaler 30 arXiv:1804.0365730 JHEP 1806:093 (2018), arXiv:1804.03657 31 31 -
external/fastjet/contribs/RecursiveTools/ChangeLog
ra5af1df rd612dec 1 2018-11-02 Jesse Thaler <jthaler@jthaler.net> 2 3 * AUTHORS: updated journal for RecursiveSoftDrop 4 5 2018-10-30 Gregory Soyez <soyez@fastjet.fr> 6 7 * RecursiveSoftDrop.cc: 8 fixed a few typos in comments 9 10 * RecursiveSoftDrop.hh: 11 used the native FJ Recluster tool when available (did create 12 conflicts in some cases) 13 14 2018-06-18 Jesse Thaler <jthaler@jthaler.net> 15 16 * README 17 Fixed incorrect order of zcut and beta in the README for SoftDrop example. 18 1 19 2018-05-29 Jesse Thaler <jthaler@jthaler.net> 2 20 -
external/fastjet/contribs/RecursiveTools/NEWS
ra5af1df rd612dec 1 2020/03/03: release of version 2.0.0 with updated readme 2 1 3 2018/05/31: release of version 2.0.0-beta2 with corrected syntax 2 4 -
external/fastjet/contribs/RecursiveTools/README
ra5af1df rd612dec 100 100 A default SoftDrop groomer can be created via: 101 101 102 double beta = 2.0; 102 103 double z_cut = 0.10; 103 double beta = 2.0;104 104 double R0 = 1.0; // this is the default value 105 SoftDrop sd( z_cut,beta,R0);105 SoftDrop sd(beta,z_cut,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 beta = 2.0; 139 140 double z_cut = 0.10; 140 double beta = 2.0;141 141 double R0 = 1.0; // this is the default value 142 142 int N = -1; 143 RecursiveSoftDrop rsd( z_cut, beta, N, R0);143 RecursiveSoftDrop rsd(beta, z_cut, 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 groomer 221 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 value 226 BottomUpSoftDrop busd(beta,z_cut,R0); 227 228 One then acts on a jet as 229 230 PseudoJet groomed_jet = busd(jet) 219 231 220 232 ------------------------------------------------------------------------ -
external/fastjet/contribs/RecursiveTools/RecursiveSoftDrop.cc
ra5af1df rd612dec 1 // $Id: RecursiveSoftDrop.cc 11 11 2018-04-04 10:06:11Z gsoyez $1 // $Id: RecursiveSoftDrop.cc 1192 2018-10-30 16:08:36Z 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 ze counter to 1 subjet (i.e. the full ca_jet)150 // initialise 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_jet166 165 priority_queue<internal_recursive_softdrop::RSDHistoryElement*, vector<internal_recursive_softdrop::RSDHistoryElement*>, internal_recursive_softdrop::OrderRSDHistoryElements> active_branches; 167 166 active_branches.push(& (history[0])); … … 169 168 PseudoJet parent, piece1, piece2; 170 169 double sym, mu2; 171 172 // which R0 to use173 //double R0sqr = _R0sqr;174 170 175 171 // loop over C/A tree until we reach the appropriate number of subjets 176 172 while ((continue_grooming(n_tagged)) && (active_branches.size())) { 177 // get the element corresponding to the max dR 178 // and the associated PJ 173 // get the element corresponding to the max dR and the associated PJ 179 174 internal_recursive_softdrop::RSDHistoryElement * elm = active_branches.top(); 180 175 PseudoJet parent = cs_jets[cs_history[elm->current_in_ca_tree].jetp_index]; … … 217 212 active_branches.pop(); 218 213 // tagging failed and the softest branch should be dropped 219 // keep track of what has een groomed away214 // keep track of what has been groomed away 220 215 max_njet -= piece2.constituents().size(); 221 216 elm->dropped_delta_R .push_back((elm->theta_squared >= 0) ? sqrt(elm->theta_squared) : -sqrt(elm->theta_squared)); … … 223 218 elm->dropped_mu .push_back((mu2>=0) ? sqrt(mu2) : -sqrt(mu2)); 224 219 225 // keep the hardest b hanch in the recursion220 // keep the hardest branch in the recursion 226 221 elm->reset(piece1, this); 227 222 active_branches.push(elm); … … 256 251 const internal_recursive_softdrop::RSDHistoryElement & elm = history[history_index]; 257 252 258 // two kinds of events: either just a final leave, pote itiallywith grooming253 // two kinds of events: either just a final leave, potentially with grooming 259 254 // or a brandhing (also with potential grooming at the end) 260 255 if (elm.child1_in_history<0){ 261 // this is a leaf, i.e. with no further su structure256 // this is a leaf, i.e. with no further substructure 262 257 PseudoJet & subjet = mapped_to_history[history_index] 263 258 = cs_jets[cs_history[elm.current_in_ca_tree].jetp_index]; … … 303 298 const vector<PseudoJet> &cs_jets = cs->jets(); 304 299 305 // initiali ze counter to 1 subjet (i.e. the full ca_jet)300 // initialise counter to 1 subjet (i.e. the full ca_jet) 306 301 int n_depth = 0; 307 302 int max_njet = ca_jet.constituents().size(); … … 319 314 320 315 // create a priority queue containing the subjets and a comparison definition 321 // initialize counter to 1 subjet (i.e. the full ca_jet)322 316 list<internal_recursive_softdrop::RSDHistoryElement*> active_branches; 323 317 active_branches.push_back(& (history[0])); … … 329 323 list<internal_recursive_softdrop::RSDHistoryElement*>::iterator hist_it=active_branches.begin(); 330 324 while (hist_it!=active_branches.end()){ 331 // get the element corresponding to the max dR 332 // and the associated PJ 325 // get the element corresponding to the max dR and the associated PJ 333 326 internal_recursive_softdrop::RSDHistoryElement * elm = (*hist_it); 334 327 PseudoJet parent = cs_jets[cs_history[elm->current_in_ca_tree].jetp_index]; -
external/fastjet/contribs/RecursiveTools/RecursiveSoftDrop.hh
ra5af1df rd612dec 1 // $Id: RecursiveSoftDrop.hh 1 082 2017-10-10 12:00:13Z gsoyez $1 // $Id: RecursiveSoftDrop.hh 1192 2018-10-30 16:08:36Z 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 available 27 #if FASTJET_VERSION_NUMBER >= 30100 28 #include "fastjet/tools/Recluster.hh" 29 #else 26 30 #include "Recluster.hh" 31 #endif 27 32 #include "SoftDrop.hh" 28 33 #include "fastjet/WrappedStructure.hh" -
external/fastjet/internal/ClosestPair2D.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClosestPair2D.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: ClosestPair2D.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/ClosestPair2DBase.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ClosestPair2DBase.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ClosestPair2DBase.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/ClusterSequence_N2.icc
ra5af1df rd612dec 7 7 // $Id: ClusterSequence_N2.cc 1351 2009-01-09 18:03:03Z salam $ 8 8 // 9 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez9 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 10 10 // 11 11 //---------------------------------------------------------------------- -
external/fastjet/internal/Dnn2piCylinder.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Dnn2piCylinder.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Dnn2piCylinder.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/Dnn3piCylinder.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Dnn3piCylinder.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Dnn3piCylinder.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/Dnn4piCylinder.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Dnn4piCylinder.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Dnn4piCylinder.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/DnnPlane.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: DnnPlane.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: DnnPlane.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/DynamicNearestNeighbours.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: DynamicNearestNeighbours.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: DynamicNearestNeighbours.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/IsBase.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: IsBase.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: IsBase.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/LazyTiling25.hh
ra5af1df rd612dec 5 5 6 6 //FJSTARTHEADER 7 // $Id: LazyTiling25.hh 4 354 2018-04-22 07:12:37Z salam$7 // $Id: LazyTiling25.hh 4442 2020-05-05 07:50:11Z soyez $ 8 8 // 9 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez9 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 10 10 // 11 11 //---------------------------------------------------------------------- -
external/fastjet/internal/LazyTiling9.hh
ra5af1df rd612dec 5 5 6 6 //FJSTARTHEADER 7 // $Id: LazyTiling9.hh 4 354 2018-04-22 07:12:37Z salam$8 // 9 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // $Id: LazyTiling9.hh 4442 2020-05-05 07:50:11Z soyez $ 8 // 9 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 10 10 // 11 11 //---------------------------------------------------------------------- -
external/fastjet/internal/LazyTiling9Alt.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: LazyTiling9Alt.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: LazyTiling9Alt.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/internal/LazyTiling9SeparateGhosts.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: LazyTiling9SeparateGhosts.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: LazyTiling9SeparateGhosts.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/internal/LimitedWarning.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: LimitedWarning.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: LimitedWarning.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/internal/MinHeap.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: MinHeap.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: MinHeap.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/SearchTree.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: SearchTree.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: SearchTree.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/internal/TilingExtent.hh
ra5af1df rd612dec 5 5 6 6 //FJSTARTHEADER 7 // $Id: TilingExtent.hh 4 354 2018-04-22 07:12:37Z salam$7 // $Id: TilingExtent.hh 4442 2020-05-05 07:50:11Z soyez $ 8 8 // 9 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez9 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 10 10 // 11 11 //---------------------------------------------------------------------- -
external/fastjet/internal/Triangulation.hh
ra5af1df rd612dec 4 4 5 5 //FJSTARTHEADER 6 // $Id: Triangulation.hh 4 354 2018-04-22 07:12:37Z salam$6 // $Id: Triangulation.hh 4442 2020-05-05 07:50:11Z soyez $ 7 7 // 8 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez8 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 9 9 // 10 10 //---------------------------------------------------------------------- -
external/fastjet/internal/Voronoi.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: Voronoi.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: Voronoi.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/internal/base.hh
ra5af1df rd612dec 1 1 2 2 //FJSTARTHEADER 3 // $Id: base.hh 4 354 2018-04-22 07:12:37Z salam$3 // $Id: base.hh 4442 2020-05-05 07:50:11Z soyez $ 4 4 // 5 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 6 6 // 7 7 //---------------------------------------------------------------------- -
external/fastjet/internal/deprecated.hh
ra5af1df rd612dec 1 1 2 2 //FJSTARTHEADER 3 // $Id: deprecated.hh 4 354 2018-04-22 07:12:37Z salam$3 // $Id: deprecated.hh 4442 2020-05-05 07:50:11Z soyez $ 4 4 // 5 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // Copyright (c) 2005-2020, 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) and(!defined(__FJCORE__))41 #if defined(FASTJET_HAVE_CXX14_DEPRECATED) && (!defined(__FJCORE__)) 42 42 #define FASTJET_DEPRECATED [[deprecated]] 43 43 #define FASTJET_DEPRECATED_MSG(message) [[deprecated(message)]] -
external/fastjet/internal/numconsts.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: numconsts.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: numconsts.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/ATLASCone/ATLASConePlugin.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ATLASConePlugin.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ATLASConePlugin.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/ATLASCone/fastjet/ATLASConePlugin.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: ATLASConePlugin.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: ATLASConePlugin.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CDFCones/CDFJetCluPlugin.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CDFJetCluPlugin.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: CDFJetCluPlugin.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CDFCones/CDFMidPointPlugin.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CDFMidPointPlugin.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: CDFMidPointPlugin.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CDFCones/fastjet/CDFJetCluPlugin.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CDFJetCluPlugin.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: CDFJetCluPlugin.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CDFCones/fastjet/CDFMidPointPlugin.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CDFMidPointPlugin.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: CDFMidPointPlugin.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CMSIterativeCone/CMSIterativeConePlugin.cc
ra5af1df rd612dec 2 2 // $Id: CMSIterativeConePlugin.cc 1504 2009-04-10 13:39:48Z salam $ 3 3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh
ra5af1df rd612dec 2 2 // $Id: CMSIterativeConePlugin.hh 1508 2009-04-10 22:46:49Z soyez $ 3 3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunICone/D0RunIBaseConePlugin.cc
ra5af1df rd612dec 2 2 // $Id: D0RunIBaseConePlugin.cc 1779 2010-10-25 10:32:59Z soyez $ 3 3 // 4 // Copyright (c) 2009-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh
ra5af1df rd612dec 5 5 // $Id: D0RunIBaseConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $ 6 6 // 7 // Copyright (c) 2009-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh
ra5af1df rd612dec 5 5 // $Id: D0RunIConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $ 6 6 // 7 // Copyright (c) 2009-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh
ra5af1df rd612dec 5 5 // $Id: D0RunIpre96ConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $ 6 6 // 7 // Copyright (c) 2009-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunIICone/D0RunIIConePlugin.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: D0RunIIConePlugin.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: D0RunIIConePlugin.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: D0RunIIConePlugin.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: D0RunIIConePlugin.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/EECambridge/EECambridgePlugin.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: EECambridgePlugin.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: EECambridgePlugin.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/EECambridge/fastjet/EECambridgePlugin.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: EECambridgePlugin.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: EECambridgePlugin.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/GridJet/GridJetPlugin.cc
ra5af1df rd612dec 2 2 // $Id: GridJetPlugin.cc 2268 2011-06-20 15:12:26Z salam $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/GridJet/fastjet/GridJetPlugin.hh
ra5af1df rd612dec 5 5 // $Id: GridJetPlugin.hh 2267 2011-06-20 15:10:23Z salam $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/Jade/JadePlugin.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: JadePlugin.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: JadePlugin.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2007-2020, 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 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) 111 113 const double almost_max = numeric_limits<double>::max() * (1 - 1e-13); 112 return almost_max / rt2E; 114 if (rt2E>1.0) return almost_max / rt2E; 115 else return almost_max; 113 116 } 114 117 -
external/fastjet/plugins/Jade/fastjet/JadePlugin.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: JadePlugin.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: JadePlugin.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/plugins/NestedDefs/NestedDefsPlugin.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: NestedDefsPlugin.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: NestedDefsPlugin.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/NestedDefs/fastjet/NestedDefsPlugin.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: NestedDefsPlugin.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: NestedDefsPlugin.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/SISCone/AUTHORS
ra5af1df rd612dec 6 6 France 7 7 8 (2) PH-TH, CERN, CH-1211 Geneva 23, Switzerland; 8 (2) Rudolf Peierls Centre for Theoretical Physics, Parks Road, Oxford OX1 3PU, UK; 9 PH-TH, CERN, CH-1211 Geneva 23, Switzerland; 9 10 LPTHE, UPMC (Univ. Paris 6), 75252 Paris cedex 05, France. 10 11 11 phone : +33 69 08 40 1112 +41 22 767 246213 14 12 email : soyez@fastjet.fr 15 gavin.salam@ cern.ch13 gavin.salam@physics.ox.ac.uk -
external/fastjet/plugins/SISCone/config.h
ra5af1df rd612dec 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. 4"85 #define SISCONE_PACKAGE_STRING "SISCone 3.0.5" 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. 4"100 #define SISCONE_PACKAGE_VERSION "3.0.5" 101 101 #endif 102 102 … … 111 111 /* Version number of package */ 112 112 #ifndef SISCONE_VERSION 113 #define SISCONE_VERSION "3.0. 4"113 #define SISCONE_VERSION "3.0.5" 114 114 #endif 115 115 -
external/fastjet/plugins/SISCone/config_raw.h
ra5af1df rd612dec 48 48 49 49 /* Define to the full name and version of this package. */ 50 #define PACKAGE_STRING "SISCone 3.0. 4"50 #define PACKAGE_STRING "SISCone 3.0.5" 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. 4"59 #define PACKAGE_VERSION "3.0.5" 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. 4"68 #define VERSION "3.0.5" -
external/fastjet/plugins/SISCone/geom_2d.h
ra5af1df rd612dec 22 22 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA // 23 23 // // 24 // $Revision:: 268$//25 // $Date:: 20 09-03-12 21:24:16 +0100 (Thu, 12 Mar 2009) $//24 // $Revision:: 422 $// 25 // $Date:: 2020-04-22 11:51:09 +0200 (Wed, 22 Apr 2020) $// 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 << ((int) (32*((eta-eta_min)/(eta_max-eta_min)))));155 return (unsigned int) (1u << ((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 << ((int) (32*phi/twopi+16)%32));160 return (unsigned int) (1u << ((int) (32*phi/twopi+16)%32)); 161 161 } 162 162 }; -
external/fastjet/plugins/TrackJet/TrackJetPlugin.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: TrackJetPlugin.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: TrackJetPlugin.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/plugins/TrackJet/fastjet/TrackJetPlugin.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: TrackJetPlugin.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: TrackJetPlugin.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2007-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/BackgroundEstimatorBase.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: BackgroundEstimatorBase.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: BackgroundEstimatorBase.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/BackgroundEstimatorBase.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: BackgroundEstimatorBase.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: BackgroundEstimatorBase.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/Boost.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Boost.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Boost.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/CASubJetTagger.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CASubJetTagger.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: CASubJetTagger.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/CASubJetTagger.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: CASubJetTagger.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: CASubJetTagger.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Filter.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Filter.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Filter.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Filter.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: Filter.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: Filter.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/GridMedianBackgroundEstimator.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: GridMedianBackgroundEstimator.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: GridMedianBackgroundEstimator.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/GridMedianBackgroundEstimator.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: GridMedianBackgroundEstimator.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: GridMedianBackgroundEstimator.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/JHTopTagger.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: JHTopTagger.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: JHTopTagger.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/JHTopTagger.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: JHTopTagger.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: JHTopTagger.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/JetMedianBackgroundEstimator.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: JetMedianBackgroundEstimator.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: JetMedianBackgroundEstimator.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/JetMedianBackgroundEstimator.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: JetMedianBackgroundEstimator.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: JetMedianBackgroundEstimator.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/MassDropTagger.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: MassDropTagger.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: MassDropTagger.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/MassDropTagger.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: MassDropTagger.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: MassDropTagger.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Pruner.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Pruner.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Pruner.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Pruner.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: Pruner.hh 4 354 2018-04-22 07:12:37Z salam$6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez5 // $Id: Pruner.hh 4442 2020-05-05 07:50:11Z soyez $ 6 // 7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/RestFrameNSubjettinessTagger.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: RestFrameNSubjettinessTagger.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: RestFrameNSubjettinessTagger.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/RestFrameNSubjettinessTagger.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: RestFrameNSubjettinessTagger.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: RestFrameNSubjettinessTagger.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/Subtractor.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Subtractor.cc 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Subtractor.cc 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/Subtractor.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Subtractor.hh 4 354 2018-04-22 07:12:37Z salam$3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez2 // $Id: Subtractor.hh 4442 2020-05-05 07:50:11Z soyez $ 3 // 4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/TopTaggerBase.cc
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: TopTaggerBase.cc 4 354 2018-04-22 07:12:37Z salam$2 // $Id: TopTaggerBase.cc 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/tools/TopTaggerBase.hh
ra5af1df rd612dec 3 3 4 4 //FJSTARTHEADER 5 // $Id: TopTaggerBase.hh 4 354 2018-04-22 07:12:37Z salam$5 // $Id: TopTaggerBase.hh 4442 2020-05-05 07:50:11Z soyez $ 6 6 // 7 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 8 8 // 9 9 //---------------------------------------------------------------------- -
external/fastjet/tools/Transformer.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: Transformer.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: Transformer.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
external/fastjet/version.hh
ra5af1df rd612dec 1 1 //FJSTARTHEADER 2 // $Id: version.hh 4 354 2018-04-22 07:12:37Z salam$2 // $Id: version.hh 4442 2020-05-05 07:50:11Z soyez $ 3 3 // 4 // Copyright (c) 2005-20 18, Matteo Cacciari, Gavin P. Salam and Gregory Soyez4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 5 5 // 6 6 //---------------------------------------------------------------------- -
modules/AngularSmearing.cc
ra5af1df rd612dec 98 98 { 99 99 Candidate *candidate, *mother; 100 Double_t pt, eta, phi, e ;100 Double_t pt, eta, phi, e, m; 101 101 102 102 fItInputArray->Reset(); 103 103 while((candidate = static_cast<Candidate *>(fItInputArray->Next()))) 104 104 { 105 const TLorentzVector &candidatePosition = candidate->Position;106 105 const TLorentzVector &candidateMomentum = candidate->Momentum; 107 eta = candidate Position.Eta();108 phi = candidate Position.Phi();106 eta = candidateMomentum.Eta(); 107 phi = candidateMomentum.Phi(); 109 108 pt = candidateMomentum.Pt(); 110 109 e = candidateMomentum.E(); 110 m = candidateMomentum.M(); 111 111 112 112 // apply smearing formula for eta,phi 113 114 eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e)); 115 phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e)); 113 eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e, candidate)); 114 phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e, candidate)); 116 115 117 116 if(pt <= 0.0) continue; … … 119 118 mother = candidate; 120 119 candidate = static_cast<Candidate *>(candidate->Clone()); 121 eta = candidateMomentum.Eta(); 122 phi = candidateMomentum.Phi(); 123 candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt * TMath::CosH(eta)); 120 candidate->Momentum.SetPtEtaPhiM(pt, eta, phi, m); 124 121 candidate->AddCandidate(mother); 125 122 -
modules/Calorimeter.cc
ra5af1df rd612dec 231 231 fItParticleInputArray->Reset(); 232 232 number = -1; 233 fTowerRmax=0.; 233 234 while((particle = static_cast<Candidate *>(fItParticleInputArray->Next()))) 234 235 { 235 236 const TLorentzVector &particlePosition = particle->Position; 236 237 ++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(); 237 242 238 243 pdgCode = TMath::Abs(particle->PID); … … 450 455 451 456 fTower->AddCandidate(particle); 457 fTower->Position = position; 452 458 } 453 459 … … 461 467 { 462 468 Candidate *track, *tower, *mother; 463 Double_t energy, pt, eta, phi ;469 Double_t energy, pt, eta, phi, r; 464 470 Double_t ecalEnergy, hcalEnergy; 465 471 Double_t ecalNeutralEnergy, hcalNeutralEnergy; … … 511 517 for(size_t i = 0; i < fTower->ECalEnergyTimePairs.size(); ++i) 512 518 { 513 weight = TMath:: Sqrt(fTower->ECalEnergyTimePairs[i].first);519 weight = TMath::Power((fTower->ECalEnergyTimePairs[i].first),2); 514 520 sumWeightedTime += weight * fTower->ECalEnergyTimePairs[i].second; 515 521 sumWeight += weight; … … 517 523 } 518 524 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); 528 else 529 r = fTower->Position.Pt(); 530 519 531 if(sumWeight > 0.0) 520 532 { 521 fTower->Position.SetPtEtaPhiE( 1.0, eta, phi, sumWeightedTime / sumWeight);533 fTower->Position.SetPtEtaPhiE(r, eta, phi, sumWeightedTime / sumWeight); 522 534 } 523 535 else 524 536 { 525 fTower->Position.SetPtEtaPhiE( 1.0, eta, phi, 999999.9);537 fTower->Position.SetPtEtaPhiE(r, eta, phi, 999999.9); 526 538 } 527 539 … … 559 571 if(ecalNeutralEnergy > fECalEnergyMin && ecalNeutralSigma > fECalEnergySignificanceMin) 560 572 { 561 // create new photon tower 573 // create new photon tower assuming null mass 562 574 tower = static_cast<Candidate *>(fTower->Clone()); 563 575 pt = ecalNeutralEnergy / TMath::CosH(eta); … … 646 658 track = static_cast<Candidate *>(track->Clone()); 647 659 track->AddCandidate(mother); 648 649 660 track->Momentum *= rescaleFactor; 661 track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M()); 650 662 651 663 fEFlowTrackOutputArray->Add(track); -
modules/Calorimeter.h
ra5af1df rd612dec 60 60 Double_t fTimingEnergyMin; 61 61 Bool_t fElectronsFromTrack; 62 Double_t fTowerRmax; 62 63 63 64 Int_t fTowerTrackHits, fTowerPhotonHits; -
modules/Delphes.cc
ra5af1df rd612dec 61 61 fFactory(0) 62 62 { 63 TFolder *folder = new TFolder(name, ""); 63 TFolder *folder; 64 64 65 fFactory = new DelphesFactory("ObjectFactory"); 66 67 folder = new TFolder(name, ""); 65 68 66 69 SetName(name); … … 80 83 if(folder) 81 84 { 85 gROOT->GetListOfBrowsables()->Remove(folder); 82 86 folder->Clear(); 83 87 delete folder; -
modules/DenseTrackFilter.cc
ra5af1df rd612dec 237 237 238 238 Candidate *candidate, *track; 239 Double_t pt, eta, phi ;239 Double_t pt, eta, phi, m; 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 253 255 eta = gRandom->Gaus(eta, fEtaPhiRes); 254 256 phi = gRandom->Gaus(phi, fEtaPhiRes); 255 candidate->Momentum.SetPtEtaPhi E(pt, eta, phi, pt * TMath::CosH(eta));257 candidate->Momentum.SetPtEtaPhiM(pt, eta, phi, m); 256 258 candidate->AddCandidate(track); 257 259 -
modules/DualReadoutCalorimeter.cc
ra5af1df rd612dec 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); 174 175 175 176 fECalEnergySignificanceMin = GetDouble("ECalEnergySignificanceMin", 0.0); 176 177 fHCalEnergySignificanceMin = GetDouble("HCalEnergySignificanceMin", 0.0); 178 fEnergySignificanceMin = GetDouble("EnergySignificanceMin", 0.0); 177 179 178 180 // switch on or off the dithering of the center of DualReadoutCalorimeter towers … … 245 247 fItParticleInputArray->Reset(); 246 248 number = -1; 249 fTowerRmax=0.; 250 251 //cout<<"--------- new event ---------- "<<endl; 252 247 253 while((particle = static_cast<Candidate*>(fItParticleInputArray->Next()))) 248 254 { 249 255 const TLorentzVector &particlePosition = particle->Position; 250 256 ++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(); 251 261 252 262 pdgCode = TMath::Abs(particle->PID); … … 377 387 fHCalTrackEnergy = 0.0; 378 388 fTrackEnergy = 0.0; 379 389 380 390 fECalTrackSigma = 0.0; 381 391 fHCalTrackSigma = 0.0; 382 392 fTrackSigma = 0.0; 383 393 384 394 fTowerTrackHits = 0; 385 395 fTowerPhotonHits = 0; 396 397 fTowerTime = 0.0; 398 fTowerTimeWeight = 0.0; 386 399 387 400 fECalTowerTrackArray->Clear(); 388 401 fHCalTowerTrackArray->Clear(); 389 402 fTowerTrackArray->Clear(); 390 403 391 404 } 392 405 … … 412 425 } 413 426 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 // muons439 else if(fECalTrackFractions[number] < 1.0E-9 && fHCalTrackFractions[number] < 1.0E-9)440 {441 fEFlowTrackOutputArray->Add(track);442 }443 */444 445 427 // in Dual Readout we do not care if tracks are ECAL of HCAL 446 428 if(fECalTrackFractions[number] > 1.0E-9 || fHCalTrackFractions[number] > 1.0E-9) 447 { 429 { 448 430 fTrackEnergy += energy; 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) 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) 450 432 sigma = 0.0; 451 433 if(fHCalTrackFractions[number] > 0) … … 453 435 else 454 436 sigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E()); 455 456 if(sigma/momentum.E() < track->TrackResolution) 457 energyGuess = ecalEnergy + hcalEnergy; 437 438 if(sigma/momentum.E() < track->TrackResolution) 439 energyGuess = ecalEnergy + hcalEnergy; 458 440 else 459 441 energyGuess = momentum.E(); 460 442 461 443 fTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess; 462 444 fTowerTrackArray->Add(track); 463 464 445 } 465 446 else … … 478 459 position = particle->Position; 479 460 461 480 462 // fill current tower 481 463 ecalEnergy = momentum.E() * fECalTowerFractions[number]; … … 485 467 fHCalTowerEnergy += hcalEnergy; 486 468 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 } 469 // assume combined timing measurements in ECAL/HCAL sections 470 fTowerTime += (ecalEnergy + hcalEnergy) * position.T(); //sigma_t ~ 1/sqrt(E) 471 fTowerTimeWeight += ecalEnergy + hcalEnergy; 494 472 495 473 fTower->AddCandidate(particle); 474 fTower->Position = position; 496 475 } 497 476 … … 506 485 507 486 Candidate *track, *tower, *mother; 508 Double_t energy, pt, eta, phi ;487 Double_t energy, pt, eta, phi, r, time; 509 488 Double_t ecalEnergy, hcalEnergy; 510 489 Double_t ecalNeutralEnergy, hcalNeutralEnergy, neutralEnergy; 511 490 512 491 Double_t ecalSigma, hcalSigma, sigma; 513 492 Double_t ecalNeutralSigma, hcalNeutralSigma, neutralSigma; 514 493 515 494 Double_t weightTrack, weightCalo, bestEnergyEstimate, rescaleFactor; 516 495 517 496 TLorentzVector momentum; 518 497 TFractionMap::iterator itFractionMap; … … 522 501 if(!fTower) return; 523 502 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 503 // if no hadronic energy, use ECAL resolution 537 504 if (fHCalTowerEnergy <= fHCalEnergyMin) 538 505 { 539 506 energy = fECalTowerEnergy; 540 507 sigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, energy); 541 //cout<<"em energy"<<energy<<", sigma: "<<sigma<<endl; 542 } 543 544 // if hadronic fraction > 0, use HCAL resolution 508 } 509 510 // if hadronic fraction > 0, use HCAL resolution 545 511 else 546 512 { 547 513 energy = fECalTowerEnergy + fHCalTowerEnergy; 548 514 sigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, energy); 549 //cout<<"had energy: "<<energy<<", sigma: "<<sigma<<endl;550 515 } 551 516 552 517 energy = LogNormal(energy, sigma); 553 //cout<<energy<<","<<ecalEnergy<<","<<hcalEnergy<<endl; 554 518 555 519 if(energy < fEnergyMin || energy < fEnergySignificanceMin*sigma) energy = 0.0; 556 520 … … 562 526 hcalEnergy = LogNormal(fHCalTowerEnergy, hcalSigma); 563 527 528 time = (fTowerTimeWeight < 1.0E-09) ? 0.0 : fTowerTime / fTowerTimeWeight; 529 564 530 ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, ecalEnergy); 565 531 hcalSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, hcalEnergy); … … 568 534 if(hcalEnergy < fHCalEnergyMin || hcalEnergy < fHCalEnergySignificanceMin*hcalSigma) hcalEnergy = 0.0; 569 535 570 //cout<<"Measured energy: "<<energy<<endl;571 572 536 if(fSmearTowerCenter) 573 537 { … … 583 547 pt = energy / TMath::CosH(eta); 584 548 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 } 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(); 606 563 607 564 fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy); 608 565 fTower->Eem = ecalEnergy; 609 566 fTower->Ehad = hcalEnergy; 610 567 fTower->Etrk = fTrackEnergy; 611 568 fTower->Edges[0] = fTowerEdges[0]; 612 569 fTower->Edges[1] = fTowerEdges[1]; … … 624 581 625 582 // fill energy flow candidates 626 583 627 584 fTrackSigma = TMath::Sqrt(fTrackSigma); 628 585 neutralEnergy = max( (energy - fTrackEnergy) , 0.0); 629 586 neutralSigma = neutralEnergy / TMath::Sqrt(fTrackSigma*fTrackSigma + sigma*sigma); 630 587 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 FIXED636 588 if(neutralEnergy > fEnergyMin && neutralSigma > fEnergySignificanceMin) 637 589 { 638 639 //cout<<"significant neutral excess found:"<<endl;640 590 // create new photon tower 641 591 tower = static_cast<Candidate*>(fTower->Clone()); 642 pt = neutralEnergy / TMath::CosH(eta); 643 //cout<<"Creating tower with Pt, Eta, Phi, Energy: "<<pt<<","<<eta<<","<<phi<<","<<neutralEnergy<<endl; 592 pt = neutralEnergy / TMath::CosH(eta); 644 593 tower->Momentum.SetPtEtaPhiE(pt, eta, phi, neutralEnergy); 645 tower->Eem = neutralEnergy; 646 tower->Ehad = 0.0; 647 tower->PID = 22; 648 649 fEFlowPhotonOutputArray->Add(tower); 650 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 } 651 611 652 612 //clone tracks … … 654 614 while((track = static_cast<Candidate*>(fItTowerTrackArray->Next()))) 655 615 { 656 //cout<<"looping over tracks"<<endl;657 616 mother = track; 658 617 track = static_cast<Candidate*>(track->Clone()); … … 662 621 } 663 622 664 623 665 624 // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the DualReadoutCalorimeter and tracking 666 625 else if(fTrackEnergy > 0.0) … … 670 629 weightCalo = (sigma > 0.0) ? 1 / (sigma*sigma) : 0.0; 671 630 672 bestEnergyEstimate = (weightTrack*fTrackEnergy + weightCalo*energy) / (weightTrack + weightCalo); 631 bestEnergyEstimate = (weightTrack*fTrackEnergy + weightCalo*energy) / (weightTrack + weightCalo); 673 632 rescaleFactor = bestEnergyEstimate/fTrackEnergy; 674 633 … … 676 635 fItTowerTrackArray->Reset(); 677 636 while((track = static_cast<Candidate*>(fItTowerTrackArray->Next()))) 678 { 637 { 679 638 mother = track; 680 track = static_cast<Candidate *>(track->Clone());639 track = static_cast<Candidate *>(track->Clone()); 681 640 track->AddCandidate(mother); 682 683 track->Momentum *= rescaleFactor; 684 641 track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M()); 685 642 fEFlowTrackOutputArray->Add(track); 686 643 } 687 644 } 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 */ 645 646 803 647 } 804 648 -
modules/DualReadoutCalorimeter.h
ra5af1df rd612dec 60 60 Double_t fECalTrackEnergy, fHCalTrackEnergy; 61 61 Double_t fTrackEnergy; 62 Double_t fTowerRmax; 62 63 63 64 Double_t fTimingEnergyMin; … … 77 78 Double_t fHCalTrackSigma; 78 79 Double_t fTrackSigma; 80 81 Double_t fTowerTime; 82 Double_t fTowerTimeWeight; 79 83 80 84 Bool_t fSmearTowerCenter; -
modules/Efficiency.cc
ra5af1df rd612dec 78 78 fItInputArray = fInputArray->MakeIterator(); 79 79 80 // switch to compute efficiency based on momentum vector eta, phi 81 fUseMomentumVector = GetBool("UseMomentumVector", false); 82 80 83 // create output array 81 84 … … 95 98 { 96 99 Candidate *candidate; 97 Double_t pt, eta, phi, e, d0, dz, ctgTheta; 100 Double_t pt, eta, phi, e; 101 98 102 99 103 fItInputArray->Reset(); … … 104 108 eta = candidatePosition.Eta(); 105 109 phi = candidatePosition.Phi(); 110 111 if (fUseMomentumVector){ 112 eta = candidateMomentum.Eta(); 113 phi = candidateMomentum.Phi(); 114 } 115 106 116 pt = candidateMomentum.Pt(); 107 117 e = candidateMomentum.E(); 108 d0 = candidate->D0;109 dz = candidate->DZ;110 ctgTheta = candidate->CtgTheta;111 118 112 119 // apply an efficency formula 113 if(gRandom->Uniform() > fFormula->Eval(pt, eta, phi, e, d0, dz, ctgTheta)) continue;120 if(gRandom->Uniform() > fFormula->Eval(pt, eta, phi, e, candidate)) continue; 114 121 115 122 fOutputArray->Add(candidate); -
modules/Efficiency.h
ra5af1df rd612dec 53 53 TObjArray *fOutputArray; //! 54 54 55 Double_t fUseMomentumVector; //! 56 55 57 ClassDef(Efficiency, 1) 56 58 }; -
modules/EnergySmearing.cc
ra5af1df rd612dec 95 95 { 96 96 Candidate *candidate, *mother; 97 Double_t pt, energy, eta, phi ;97 Double_t pt, energy, eta, phi, m; 98 98 99 99 fItInputArray->Reset(); … … 107 107 phi = candidatePosition.Phi(); 108 108 energy = candidateMomentum.E(); 109 m = candidateMomentum.M(); 109 110 110 111 // apply smearing formula … … 117 118 eta = candidateMomentum.Eta(); 118 119 phi = candidateMomentum.Phi(); 119 candidate->Momentum.SetPtEtaPhiE(energy / TMath::CosH(eta), eta, phi, energy); 120 pt = (energy > m) ? TMath::Sqrt(energy*energy - m*m)/TMath::CosH(eta) : 0; 121 candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, energy); 120 122 candidate->TrackResolution = fFormula->Eval(pt, eta, phi, energy) / candidateMomentum.E(); 121 123 candidate->AddCandidate(mother); -
modules/FastJetFinder.cc
ra5af1df rd612dec 104 104 fJetAlgorithm = GetInt("JetAlgorithm", 6); 105 105 fParameterR = GetDouble("ParameterR", 0.5); 106 fParameterP = GetDouble("ParameterP", -1.0); 106 107 107 108 fConeRadius = GetDouble("ConeRadius", 0.5); … … 247 248 fDefinition = new JetDefinition(fValenciaPlugin); 248 249 break; 250 case 10: 251 fDefinition = new JetDefinition(ee_genkt_algorithm,fParameterR,fParameterP); 252 break; 253 249 254 } 250 255 … … 316 321 Double_t deta, dphi, detaMax, dphiMax; 317 322 Double_t time, timeWeight; 323 Double_t neutralEnergyFraction, chargedEnergyFraction; 324 318 325 Int_t number, ncharged, nneutrals; 319 326 Int_t charge; … … 418 425 nneutrals = 0; 419 426 427 neutralEnergyFraction =0.; 428 chargedEnergyFraction =0.; 429 420 430 inputList.clear(); 421 431 inputList = sequence->constituents(*itOutputList); … … 432 442 433 443 if(constituent->Charge == 0) 444 { 434 445 nneutrals++; 446 neutralEnergyFraction += constituent->Momentum.E(); 447 } 435 448 else 449 { 436 450 ncharged++; 437 451 chargedEnergyFraction += constituent->Momentum.E(); 452 } 453 438 454 time += TMath::Sqrt(constituent->Momentum.E()) * (constituent->Position.T()); 439 455 timeWeight += TMath::Sqrt(constituent->Momentum.E()); … … 455 471 candidate->NCharged = ncharged; 456 472 473 candidate->NeutralEnergyFraction = (momentum.E() > 0 ) ? neutralEnergyFraction/momentum.E() : 0.0; 474 candidate->ChargedEnergyFraction = (momentum.E() > 0 ) ? chargedEnergyFraction/momentum.E() : 0.0; 475 457 476 //for exclusive clustering, access y_n,n+1 as exclusive_ymerge (fNJets); 458 477 candidate->ExclYmerge23 = excl_ymerge23; … … 470 489 fastjet::Filter trimmer(fastjet::JetDefinition(fastjet::kt_algorithm, fRTrim), fastjet::SelectorPtFractionMin(fPtFracTrim)); 471 490 fastjet::PseudoJet trimmed_jet = trimmer(*itOutputList); 472 473 trimmed_jet = join(trimmed_jet.constituents()); 474 491 475 492 candidate->TrimmedP4[0].SetPtEtaPhiM(trimmed_jet.pt(), trimmed_jet.eta(), trimmed_jet.phi(), trimmed_jet.m()); 476 493 -
modules/FastJetFinder.h
ra5af1df rd612dec 72 72 Int_t fJetAlgorithm; 73 73 Double_t fParameterR; 74 Double_t fParameterP; 74 75 75 76 Double_t fJetPTMin; -
modules/IdentificationMap.cc
ra5af1df rd612dec 170 170 { 171 171 // change PID of particle 172 candidate = static_cast<Candidate *>(candidate->Clone()); 172 173 if(pdgCodeOut != 0) candidate->PID = charge * pdgCodeOut; 173 174 fOutputArray->Add(candidate); -
modules/JetFakeParticle.cc
ra5af1df rd612dec 146 146 while((candidate = static_cast<Candidate *>(fItInputArray->Next()))) 147 147 { 148 const TLorentzVector &candidatePosition = candidate->Position;149 148 const TLorentzVector &candidateMomentum = candidate->Momentum; 150 eta = candidate Position.Eta();151 phi = candidate Position.Phi();149 eta = candidateMomentum.Eta(); 150 phi = candidateMomentum.Phi(); 152 151 pt = candidateMomentum.Pt(); 153 152 e = candidateMomentum.E(); -
modules/ModulesLinkDef.h
ra5af1df rd612dec 36 36 #include "modules/MomentumSmearing.h" 37 37 #include "modules/TrackSmearing.h" 38 #include "modules/TrackCovariance.h" 39 #include "modules/ClusterCounting.h" 38 40 #include "modules/ImpactParameterSmearing.h" 39 41 #include "modules/TimeSmearing.h" 42 #include "modules/TimeOfFlight.h" 40 43 #include "modules/SimpleCalorimeter.h" 41 44 #include "modules/DenseTrackFilter.h" … … 72 75 #include "modules/VertexFinder.h" 73 76 #include "modules/VertexFinderDA4D.h" 77 #include "modules/DecayFilter.h" 78 #include "modules/ParticleDensity.h" 79 #include "modules/TruthVertexFinder.h" 74 80 #include "modules/ExampleModule.h" 75 81 #include "modules/LLPFilter.h" … … 93 99 #pragma link C++ class MomentumSmearing+; 94 100 #pragma link C++ class TrackSmearing+; 101 #pragma link C++ class TrackCovariance+; 102 #pragma link C++ class ClusterCounting+; 95 103 #pragma link C++ class ImpactParameterSmearing+; 96 104 #pragma link C++ class TimeSmearing+; 105 #pragma link C++ class TimeOfFlight+; 97 106 #pragma link C++ class SimpleCalorimeter+; 98 107 #pragma link C++ class DenseTrackFilter+; … … 129 138 #pragma link C++ class VertexFinder+; 130 139 #pragma link C++ class VertexFinderDA4D+; 140 #pragma link C++ class DecayFilter+; 141 #pragma link C++ class ParticleDensity+; 142 #pragma link C++ class TruthVertexFinder+; 131 143 #pragma link C++ class ExampleModule+; 132 144 #pragma link C++ class LLPFilter+; -
modules/MomentumSmearing.cc
ra5af1df rd612dec 78 78 fItInputArray = fInputArray->MakeIterator(); 79 79 80 // switch to compute momentum smearing based on momentum vector eta, phi 81 fUseMomentumVector = GetBool("UseMomentumVector", false); 82 80 83 // create output array 81 84 … … 95 98 { 96 99 Candidate *candidate, *mother; 97 Double_t pt, eta, phi, e, res;100 Double_t pt, eta, phi, e, m, res; 98 101 99 102 fItInputArray->Reset(); … … 104 107 eta = candidatePosition.Eta(); 105 108 phi = candidatePosition.Phi(); 109 110 if (fUseMomentumVector){ 111 eta = candidateMomentum.Eta(); 112 phi = candidateMomentum.Phi(); 113 } 114 106 115 pt = candidateMomentum.Pt(); 107 116 e = candidateMomentum.E(); 108 res = fFormula->Eval(pt, eta, phi, e); 117 m = candidateMomentum.M(); 118 res = fFormula->Eval(pt, eta, phi, e, candidate); 109 119 110 120 // apply smearing formula … … 121 131 eta = candidateMomentum.Eta(); 122 132 phi = candidateMomentum.Phi(); 123 candidate->Momentum.SetPtEtaPhi E(pt, eta, phi, pt * TMath::CosH(eta));133 candidate->Momentum.SetPtEtaPhiM(pt, eta, phi, m); 124 134 //candidate->TrackResolution = fFormula->Eval(pt, eta, phi, e); 125 135 candidate->TrackResolution = res; -
modules/MomentumSmearing.h
ra5af1df rd612dec 55 55 TObjArray *fOutputArray; //! 56 56 57 Double_t fUseMomentumVector; //! 58 57 59 ClassDef(MomentumSmearing, 1) 58 60 }; -
modules/ParticlePropagator.cc
ra5af1df rd612dec 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, 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; 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; 136 135 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 { 141 142 beamSpotPosition.SetXYZT(0.0, 0.0, 0.0, 0.0); 143 } 142 144 else 143 145 { … … 160 162 particlePosition = particle->Position; 161 163 particleMomentum = particle->Momentum; 164 162 165 x = particlePosition.X() * 1.0E-3; 163 166 y = particlePosition.Y() * 1.0E-3; … … 206 209 // solve pt2*t^2 + 2*(px*x + py*y)*t - (fRadius2 - x*x - y*y) = 0 207 210 tmp = px * y - py * x; 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 } 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); 229 216 230 217 x_t = x + px * t; … … 245 232 246 233 fOutputArray->Add(candidate); 234 247 235 if(TMath::Abs(q) > 1.0E-9) 248 236 { … … 267 255 { 268 256 269 // 1. 270 // initial transverse momentum direction phi_0 = -atan(p_X0/p_Y0)271 // relativistic gamma: gamma = E/mc^2; gammam = gamma * m272 // gyration frequency omega = q/(gamma m) fBz273 // helix radius r = p_{T0} / (omega gammam)257 // 1. initial transverse momentum p_{T0}: Part->pt 258 // initial transverse momentum direction phi_0 = -atan(p_{X0} / p_{Y0}) 259 // relativistic gamma: gamma = E / mc^2; gammam = gamma * m 260 // gyration frequency omega = q * Bz / (gammam) 261 // helix radius r = p_{T0} / (omega * gammam) 274 262 275 263 gammam = e * 1.0E9 / (c_light * c_light); // gammam in [eV/c^2] 276 omega = q * fBz / (gammam); // omega is here in [89875518/s]264 omega = q * fBz / gammam; // omega is here in [89875518/s] 277 265 r = pt / (q * fBz) * 1.0E9 / c_light; // in [m] 278 266 … … 283 271 y_c = y - r * TMath::Cos(phi_0); 284 272 r_c = TMath::Hypot(x_c, y_c); 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()); 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()); 308 297 309 298 // calculate additional track parameters (correct for beamspot position) 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(); 299 d0 = ((xd - bsx) * py - (yd - bsy) * px) / pt; 300 dz = zd - bsz; 314 301 ctgTheta = 1.0 / TMath::Tan(particleMomentum.Theta()); 315 302 … … 317 304 // t_r : time to exit from the sides 318 305 // t_z : time to exit from the front or the back 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); 306 t_z = (vz == 0.0) ? 1.0E99 : (TMath::Sign(fHalfLength, pz) - z) / vz; 325 307 326 308 if(r_c + TMath::Abs(r) < fRadius) … … 331 313 else 332 314 { 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); 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 354 318 t = TMath::Min(t_r, t_z); 355 319 } 356 320 357 321 // 4. position in terms of x(t), y(t), z(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; 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; 361 326 r_t = TMath::Hypot(x_t, y_t); 362 327 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); 328 // lenght of the path from production to tracker 329 l = t * TMath::Hypot(vz, r * omega); 367 330 368 331 if(r_t > 0.0) 369 332 { 370 371 333 // store these variables before cloning 372 334 if(particle == candidate) … … 374 336 particle->D0 = d0 * 1.0E3; 375 337 particle->DZ = dz * 1.0E3; 376 particle->P = p ;338 particle->P = particleMomentum.P(); 377 339 particle->PT = pt; 378 340 particle->CtgTheta = ctgTheta; 379 particle->Phi = p hip;341 particle->Phi = particleMomentum.Phi(); 380 342 } 381 343 -
modules/SimpleCalorimeter.cc
ra5af1df rd612dec 208 208 fItParticleInputArray->Reset(); 209 209 number = -1; 210 fTowerRmax=0.; 210 211 while((particle = static_cast<Candidate *>(fItParticleInputArray->Next()))) 211 212 { 212 213 const TLorentzVector &particlePosition = particle->Position; 213 214 ++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(); 214 219 215 220 pdgCode = TMath::Abs(particle->PID); … … 394 399 fTowerEnergy += energy; 395 400 396 fTowerTime += energy * position.T();397 fTowerTimeWeight += energy ;401 fTowerTime += energy * energy * position.T(); //sigma_t ~ 1/E 402 fTowerTimeWeight += energy * energy; 398 403 399 404 fTower->AddCandidate(particle); 405 fTower->Position = position; 406 400 407 } 401 408 … … 409 416 { 410 417 Candidate *tower, *track, *mother; 411 Double_t energy, neutralEnergy, pt, eta, phi ;418 Double_t energy, neutralEnergy, pt, eta, phi, r; 412 419 Double_t sigma, neutralSigma; 413 420 Double_t time; … … 443 450 pt = energy / TMath::CosH(eta); 444 451 445 fTower->Position.SetPtEtaPhiE(1.0, eta, phi, time); 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); 446 462 fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy); 463 fTower->L = fTower->Position.Vect().Mag(); 447 464 448 465 fTower->Eem = (!fIsEcal) ? 0 : energy; 449 466 fTower->Ehad = (fIsEcal) ? 0 : energy; 467 fTower->Etrk = fTrackEnergy; 450 468 451 469 fTower->Edges[0] = fTowerEdges[0]; … … 507 525 track = static_cast<Candidate *>(track->Clone()); 508 526 track->AddCandidate(mother); 509 510 track->Momentum *= rescaleFactor; 511 527 track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M()); 512 528 fEFlowTrackOutputArray->Add(track); 513 529 } -
modules/SimpleCalorimeter.h
ra5af1df rd612dec 62 62 Double_t fTrackTime; 63 63 64 Double_t fTowerRmax; 65 64 66 Double_t fTowerTimeWeight; 65 67 Double_t fTrackTimeWeight; -
modules/TauTagging.cc
ra5af1df rd612dec 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 elseif(pdgCode == 24)85 //if(pdgCode == 11 || pdgCode == 13 || pdgCode == 15) 86 // return -1; 87 if(pdgCode == 24) 88 88 { 89 89 if(daughter1->D1 < 0) return -1; … … 96 96 } 97 97 } 98 99 98 return 0; 100 99 } … … 190 189 void TauTagging::Process() 191 190 { 192 Candidate *jet, *tau, *daughter ;191 Candidate *jet, *tau, *daughter, *part; 193 192 TLorentzVector tauMomentum; 194 193 Double_t pt, eta, phi, e, eff; … … 204 203 // loop over all input jets 205 204 fItJetInputArray->Reset(); 205 206 206 while((jet = static_cast<Candidate *>(fItJetInputArray->Next()))) 207 207 { 208 208 209 const TLorentzVector &jetMomentum = jet->Momentum; 209 210 pdgCode = 0; … … 243 244 } 244 245 } 246 247 // fake electrons and muons 248 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 245 273 // find an efficency formula 246 274 itEfficiencyMap = fEfficiencyMap.find(pdgCode); -
modules/TimeSmearing.cc
ra5af1df rd612dec 19 19 /** \class TimeSmearing 20 20 * 21 * Performs t ransverse momentum resolutionsmearing.21 * Performs time smearing. 22 22 * 23 * \author P. Demin - UCL, Louvain-la-Neuve23 * \author M. Selvaggi - CERN 24 24 * 25 25 */ … … 49 49 50 50 using namespace std; 51 52 51 //------------------------------------------------------------------------------ 53 52 54 53 TimeSmearing::TimeSmearing() : 55 fItInputArray(0) 54 fItInputArray(0), fResolutionFormula(0) 56 55 { 56 fResolutionFormula = new DelphesFormula; 57 57 } 58 58 … … 61 61 TimeSmearing::~TimeSmearing() 62 62 { 63 if(fResolutionFormula) delete fResolutionFormula; 63 64 } 64 65 … … 69 70 // read resolution formula 70 71 71 fTimeResolution = GetDouble("TimeResolution", 1.0E-10);72 // import input array72 // read time resolution formula in seconds 73 fResolutionFormula->Compile(GetString("TimeResolution", "30e-12")); 73 74 75 // import track input array 74 76 fInputArray = ImportArray(GetString("InputArray", "MuonMomentumSmearing/muons")); 75 77 fItInputArray = fInputArray->MakeIterator(); 76 78 79 77 80 // create output array 78 79 fOutputArray = ExportArray(GetString("OutputArray", "muons")); 81 fOutputArray = ExportArray(GetString("OutputArray", "tracks")); 80 82 } 81 83 … … 92 94 { 93 95 Candidate *candidate, *mother; 94 Double_t ti, tf_smeared, tf; 96 Double_t tf_smeared, tf; 97 Double_t eta, energy; 98 Double_t timeResolution; 99 95 100 const Double_t c_light = 2.99792458E8; 96 101 … … 98 103 while((candidate = static_cast<Candidate *>(fItInputArray->Next()))) 99 104 { 100 const TLorentzVector &candidateInitialPosition = candidate->InitialPosition; 105 101 106 const TLorentzVector &candidateFinalPosition = candidate->Position; 107 const TLorentzVector &candidateMomentum = candidate->Momentum; 102 108 103 ti = candidateInitialPosition.T() * 1.0E-3 / c_light;104 109 tf = candidateFinalPosition.T() * 1.0E-3 / c_light; 105 110 111 eta = candidateMomentum.Eta(); 112 energy = candidateMomentum.E(); 113 106 114 // apply smearing formula 107 tf_smeared = gRandom->Gaus(tf, fTimeResolution); 108 ti = ti + tf_smeared - tf; 109 tf = tf_smeared; 115 timeResolution = fResolutionFormula->Eval(0.0, eta, 0.0, energy); 116 tf_smeared = gRandom->Gaus(tf, timeResolution); 110 117 111 118 mother = candidate; 112 119 candidate = static_cast<Candidate *>(candidate->Clone()); 113 candidate->InitialPosition.SetT(ti * 1.0E3 * c_light);114 candidate->Position.SetT(tf * 1.0E3 * c_light);115 120 116 candidate->ErrorT = fTimeResolution * 1.0E3 * c_light; 121 candidate->Position.SetT(tf_smeared * 1.0E3 * c_light); 122 candidate->ErrorT = timeResolution * 1.0E3 * c_light; 117 123 118 124 candidate->AddCandidate(mother); 119 120 125 fOutputArray->Add(candidate); 121 126 } 122 127 } 123 124 //------------------------------------------------------------------------------ -
modules/TimeSmearing.h
ra5af1df rd612dec 22 22 /** \class TimeSmearing 23 23 * 24 * Performs t ransverse time smearing.24 * Performs time smearing. 25 25 * 26 * \author Michele Selvaggi - UCL, Louvain-la-Neuve26 * \author Michele Selvaggi - CERN 27 27 * 28 28 */ … … 32 32 class TIterator; 33 33 class TObjArray; 34 class DelphesFormula; 34 35 35 36 class TimeSmearing: public DelphesModule … … 44 45 45 46 private: 46 Double_t fTimeResolution; 47 48 DelphesFormula *fResolutionFormula; 49 Int_t fVertexTimeMode; 47 50 48 51 TIterator *fItInputArray; //! -
modules/TrackSmearing.cc
ra5af1df rd612dec 158 158 TLorentzVector beamSpotPosition; 159 159 Candidate *candidate, *mother; 160 Double_t pt, eta, d0, d0Error, trueD0, dz, dzError, trueDZ, p, pError, trueP, ctgTheta, ctgThetaError, trueCtgTheta, phi, phiError, truePhi;160 Double_t pt, eta, e, m, 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(); 225 227 226 228 d0 = trueD0 = candidate->D0; … … 232 234 233 235 if(fUseD0Formula) 234 d0Error = fD0Formula->Eval(pt, eta );236 d0Error = fD0Formula->Eval(pt, eta, phi, e, candidate); 235 237 else 236 238 { … … 247 249 248 250 if(fUseDZFormula) 249 dzError = fDZFormula->Eval(pt, eta );251 dzError = fDZFormula->Eval(pt, eta, phi, e, candidate); 250 252 else 251 253 { … … 262 264 263 265 if(fUsePFormula) 264 pError = fPFormula->Eval(pt, eta ) * p;266 pError = fPFormula->Eval(pt, eta, phi, e, candidate) * p; 265 267 else 266 268 { … … 277 279 278 280 if(fUseCtgThetaFormula) 279 ctgThetaError = fCtgThetaFormula->Eval(pt, eta );281 ctgThetaError = fCtgThetaFormula->Eval(pt, eta, phi, e, candidate); 280 282 else 281 283 { … … 292 294 293 295 if(fUsePhiFormula) 294 phiError = fPhiFormula->Eval(pt, eta );296 phiError = fPhiFormula->Eval(pt, eta, phi, e, candidate); 295 297 else 296 298 { … … 331 333 candidate->Momentum.SetPy(p * TMath::Sin(phi) * TMath::Sin(theta)); 332 334 candidate->Momentum.SetPz(p * TMath::Cos(theta)); 333 candidate->Momentum.SetE( candidate->Momentum.Pt() * TMath::CosH(eta));335 candidate->Momentum.SetE(TMath::Sqrt(p*p + m*m)); 334 336 candidate->PT = candidate->Momentum.Pt(); 335 337 -
modules/TreeWriter.cc
ra5af1df rd612dec 72 72 fClassMap[Track::Class()] = &TreeWriter::ProcessTracks; 73 73 fClassMap[Tower::Class()] = &TreeWriter::ProcessTowers; 74 fClassMap[ParticleFlowCandidate::Class()] = &TreeWriter::ProcessParticleFlowCandidates; 74 75 fClassMap[Photon::Class()] = &TreeWriter::ProcessPhotons; 75 76 fClassMap[Electron::Class()] = &TreeWriter::ProcessElectrons; … … 123 124 fBranchMap.insert(make_pair(branch, make_pair(itClassMap->second, array))); 124 125 } 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 } 125 139 } 126 140 … … 138 152 it1.Reset(); 139 153 array->Clear(); 154 140 155 while((candidate = static_cast<Candidate *>(it1.Next()))) 141 156 { … … 215 230 entry->Pz = momentum.Pz(); 216 231 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 224 232 entry->Eta = eta; 225 233 entry->Phi = momentum.Phi(); … … 322 330 Candidate *particle = 0; 323 331 Track *entry = 0; 324 Double_t pt, signz, cosTheta, eta, rapidity, p, ctgTheta, phi ;332 Double_t pt, signz, cosTheta, eta, rapidity, p, ctgTheta, phi, m; 325 333 const Double_t c_light = 2.99792458E8; 326 334 … … 356 364 357 365 entry->D0 = candidate->D0; 358 entry->ErrorD0 = candidate->ErrorD0;359 366 entry->DZ = candidate->DZ; 360 entry->ErrorDZ = candidate->ErrorDZ; 367 entry->Nclusters = candidate->Nclusters; 368 entry->dNdx = candidate->dNdx; 361 369 362 370 entry->ErrorP = candidate->ErrorP; 363 371 entry->ErrorPT = candidate->ErrorPT; 372 373 // diagonal covariance matrix terms 374 entry->ErrorD0 = candidate->ErrorD0; 375 entry->ErrorC = candidate->ErrorC; 376 entry->ErrorPhi = candidate->ErrorPhi; 377 entry->ErrorDZ = candidate->ErrorDZ; 364 378 entry->ErrorCtgTheta = candidate->ErrorCtgTheta; 365 entry->ErrorPhi = candidate->ErrorPhi; 379 380 // add some offdiagonal covariance matrix elements 381 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); 366 391 367 392 entry->Xd = candidate->Xd; … … 374 399 p = momentum.P(); 375 400 phi = momentum.Phi(); 401 m = momentum.M(); 376 402 ctgTheta = (TMath::Tan(momentum.Theta()) != 0) ? 1 / TMath::Tan(momentum.Theta()) : 1e10; 377 403 … … 386 412 entry->Phi = phi; 387 413 entry->CtgTheta = ctgTheta; 414 entry->C = candidate->C; 415 entry->Mass = m; 388 416 389 417 particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0)); 390 const TLorentzVector &initialPosition = particle->Position; 418 //const TLorentzVector &initialPosition = particle->Position; 419 const TLorentzVector &initialPosition = candidate->InitialPosition; 391 420 392 421 entry->X = initialPosition.X(); … … 394 423 entry->Z = initialPosition.Z(); 395 424 entry->T = initialPosition.T() * 1.0E-3 / c_light; 425 entry->ErrorT =candidate-> ErrorT * 1.0E-3 / c_light; 396 426 397 427 entry->Particle = particle; … … 435 465 entry->Eem = candidate->Eem; 436 466 entry->Ehad = candidate->Ehad; 467 entry->Etrk = candidate->Etrk; 437 468 entry->Edges[0] = candidate->Edges[0]; 438 469 entry->Edges[1] = candidate->Edges[1]; … … 444 475 445 476 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 tracks 493 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 terms 533 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 elements 541 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 446 599 } 447 600 } … … 687 840 entry->NCharged = candidate->NCharged; 688 841 entry->NNeutrals = candidate->NNeutrals; 842 843 entry->NeutralEnergyFraction = candidate->NeutralEnergyFraction; 844 entry->ChargedEnergyFraction = candidate->ChargedEnergyFraction; 689 845 entry->Beta = candidate->Beta; 690 846 entry->BetaStar = candidate->BetaStar; -
modules/TreeWriter.h
ra5af1df rd612dec 56 56 void ProcessTracks(ExRootTreeBranch *branch, TObjArray *array); 57 57 void ProcessTowers(ExRootTreeBranch *branch, TObjArray *array); 58 void ProcessParticleFlowCandidates(ExRootTreeBranch *branch, TObjArray *array); 58 59 void ProcessPhotons(ExRootTreeBranch *branch, TObjArray *array); 59 60 void ProcessElectrons(ExRootTreeBranch *branch, TObjArray *array); … … 79 80 #endif 80 81 81 ClassDef(TreeWriter, 1)82 ClassDef(TreeWriter, 2) 82 83 }; 83 84 -
readers/DelphesCMSFWLite.cpp
ra5af1df rd612dec 217 217 // Prevent duplicated particle. 218 218 if(!isMiniAOD) stableParticleOutputArray->Add(candidate); 219 } 220 else if(pdgCode <= 5 || pdgCode == 21 || pdgCode == 15) 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) 221 223 { 222 224 partonOutputArray->Add(candidate); … … 309 311 DelphesFactory *factory = 0; 310 312 TObjArray *allParticleOutputArray = 0, *stableParticleOutputArray = 0, *partonOutputArray = 0; 311 Int_t i ;313 Int_t i, maxEvents, skipEvents; 312 314 Long64_t eventCounter, numberOfEvents; 313 315 Bool_t firstEvent = kTRUE; … … 351 353 confReader = new ExRootConfReader; 352 354 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 } 353 368 354 369 modularDelphes = new Delphes("Delphes"); … … 389 404 treeWriter->Clear(); 390 405 391 for(event.toBegin(); !event.atEnd() && !interrupted ; ++event)406 for(event.toBegin(); !event.atEnd() && !interrupted && (maxEvents <= 0 || eventCounter-skipEvents < maxEvents); ++event) 392 407 { 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(); 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 } 403 420 404 421 progressBar.Update(eventCounter, eventCounter); -
readers/DelphesPythia8.cpp
ra5af1df rd612dec 296 296 297 297 // jet matching 298 #if PYTHIA_VERSION_INTEGER < 8300 298 299 matching = combined->getHook(*pythia); 299 300 if(!matching) … … 302 303 } 303 304 pythia->setUserHooksPtr(matching); 305 #endif 304 306 305 307 if(pythia == NULL) -
validation/DelphesValidation.cpp
ra5af1df rd612dec 32 32 #include "TGraph.h" 33 33 #include "TGraphErrors.h" 34 #include "TF1.h" 34 35 #include "TH1.h" 35 36 #include "TH2.h" -
validation/validation.sh
ra5af1df rd612dec 1 #!/bin/ sh1 #!/bin/bash 2 2 ################################################################################ 3 3 # 4 # This code produces a tset of validation plots for a given detector card.4 # This code produces a 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 # ./ examples/validation.sh [detector_card] [number_of_events]12 # ./validation/validation.sh [detector_card] [number_of_events] 13 13 # 14 14 # e.g. 15 15 # 16 # ./ examples/validation.sh cards/delphes_card_CMS.tcl 10000016 # ./validation/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= $(cat VERSION)40 version=x.y.z 41 41 outpdf=$mainoutputdir/${output%.*}.pdf 42 42 cardsdir=validation/cards
Note:
See TracChangeset
for help on using the changeset viewer.