Fork me on GitHub

Changes in / [d612dec:a5af1df] in git


Ignore:
Files:
12 added
112 deleted
217 edited

Legend:

Unmodified
Added
Removed
  • CHANGELOG

    rd612dec ra5af1df  
    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 
    2013.4.2:
    212- added DenseTrackFilter for modelling tracking inefficiencies in boosted, dense environments
  • CMakeLists.txt

    rd612dec ra5af1df  
    7070  $<TARGET_OBJECTS:Hector>
    7171  $<TARGET_OBJECTS:PUPPI>
    72   $<TARGET_OBJECTS:TrackCovariance>
    7372)
    7473
     
    8281  $<TARGET_OBJECTS:Hector>
    8382  $<TARGET_OBJECTS:PUPPI>
    84   $<TARGET_OBJECTS:TrackCovariance>
    8583)
    8684
  • DelphesEnv.sh

    rd612dec ra5af1df  
    1 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
     1export PYTHONPATH=`pwd`/python:$PYTHONPATH
     2export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
    23
    3 export DELPHES_HOME="$DIR"
    4 export PYTHONPATH="$DIR/python:${PYTHONPATH}"
    5 export LD_LIBRARY_PATH="$DIR:${LD_LIBRARY_PATH}"
    6 export LIBRARY_PATH="$DIR:${LIBRARY_PATH}"
  • Makefile

    rd612dec ra5af1df  
    9090DISPLAYLIB = libDelphesDisplay.lib
    9191
    92 VERSION = x.y.z
     92VERSION = $(shell cat VERSION)
    9393DISTDIR = Delphes-$(VERSION)
    9494DISTTAR = $(DISTDIR).tar.gz
     
    104104        classes/DelphesClasses.h \
    105105        classes/DelphesFactory.h \
    106         classes/DelphesHepMC2Reader.h \
     106        classes/DelphesHepMCReader.h \
    107107        classes/DelphesPileUpWriter.h \
    108108        external/ExRootAnalysis/ExRootProgressBar.h \
     
    214214        tmp/validation/DelphesValidation.$(ObjSuf)
    215215
    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 \
     216DelphesHepMC$(ExeSuf): \
     217        tmp/readers/DelphesHepMC.$(ObjSuf)
     218
     219tmp/readers/DelphesHepMC.$(ObjSuf): \
     220        readers/DelphesHepMC.cpp \
     221        classes/DelphesClasses.h \
     222        classes/DelphesFactory.h \
     223        classes/DelphesHepMCReader.h \
    236224        modules/Delphes.h \
    237225        external/ExRootAnalysis/ExRootProgressBar.h \
     
    276264        external/ExRootAnalysis/ExRootTreeWriter.h
    277265EXECUTABLE +=  \
    278         DelphesHepMC2$(ExeSuf) \
    279         DelphesHepMC3$(ExeSuf) \
     266        DelphesHepMC$(ExeSuf) \
    280267        DelphesLHEF$(ExeSuf) \
    281268        DelphesROOT$(ExeSuf) \
     
    283270
    284271EXECUTABLE_OBJ +=  \
    285         tmp/readers/DelphesHepMC2.$(ObjSuf) \
    286         tmp/readers/DelphesHepMC3.$(ObjSuf) \
     272        tmp/readers/DelphesHepMC.$(ObjSuf) \
    287273        tmp/readers/DelphesLHEF.$(ObjSuf) \
    288274        tmp/readers/DelphesROOT.$(ObjSuf) \
     
    423409        modules/MomentumSmearing.h \
    424410        modules/TrackSmearing.h \
    425         modules/TrackCovariance.h \
    426         modules/ClusterCounting.h \
    427411        modules/ImpactParameterSmearing.h \
    428412        modules/TimeSmearing.h \
    429         modules/TimeOfFlight.h \
    430413        modules/SimpleCalorimeter.h \
    431414        modules/DenseTrackFilter.h \
     
    462445        modules/VertexFinder.h \
    463446        modules/VertexFinderDA4D.h \
     447        modules/ExampleModule.h \
    464448        modules/LLPFilter.h \
    465449        modules/CscClusterEfficiency.h \
    466         modules/CscClusterId.h \
    467         modules/DecayFilter.h \
    468         modules/ParticleDensity.h \
    469         modules/TruthVertexFinder.h \
    470         modules/ExampleModule.h
     450        modules/CscClusterId.h
    471451tmp/modules/ModulesDict$(PcmSuf): \
    472452        tmp/modules/ModulesDict.$(SrcSuf)
     
    532512tmp/classes/DelphesFormula.$(ObjSuf): \
    533513        classes/DelphesFormula.$(SrcSuf) \
    534         classes/DelphesFormula.h \
    535         classes/DelphesClasses.h
    536 tmp/classes/DelphesHepMC2Reader.$(ObjSuf): \
    537         classes/DelphesHepMC2Reader.$(SrcSuf) \
    538         classes/DelphesHepMC2Reader.h \
    539         classes/DelphesClasses.h \
    540         classes/DelphesFactory.h \
    541         classes/DelphesStream.h \
    542         external/ExRootAnalysis/ExRootTreeBranch.h
    543 tmp/classes/DelphesHepMC3Reader.$(ObjSuf): \
    544         classes/DelphesHepMC3Reader.$(SrcSuf) \
    545         classes/DelphesHepMC3Reader.h \
     514        classes/DelphesFormula.h
     515tmp/classes/DelphesHepMCReader.$(ObjSuf): \
     516        classes/DelphesHepMCReader.$(SrcSuf) \
     517        classes/DelphesHepMCReader.h \
    546518        classes/DelphesClasses.h \
    547519        classes/DelphesFactory.h \
     
    676648tmp/external/Hector/H_VerticalQuadrupole.$(ObjSuf): \
    677649        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)
    692650tmp/modules/AngularSmearing.$(ObjSuf): \
    693651        modules/AngularSmearing.$(SrcSuf) \
     
    732690        external/ExRootAnalysis/ExRootFilter.h \
    733691        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
    739692tmp/modules/ConstituentFilter.$(ObjSuf): \
    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
     693        modules/ConstituentFilter.$(SrcSuf) \
     694        modules/ConstituentFilter.h \
     695        classes/DelphesClasses.h \
     696        classes/DelphesFactory.h \
     697        classes/DelphesFormula.h \
     698        external/ExRootAnalysis/ExRootClassifier.h \
     699        external/ExRootAnalysis/ExRootFilter.h \
     700        external/ExRootAnalysis/ExRootResult.h
    748701tmp/modules/CscClusterEfficiency.$(ObjSuf): \
    749702        modules/CscClusterEfficiency.$(SrcSuf) \
     
    758711        modules/CscClusterId.$(SrcSuf) \
    759712        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 \
    769713        classes/DelphesClasses.h \
    770714        classes/DelphesFactory.h \
     
    949893        external/ExRootAnalysis/ExRootFilter.h \
    950894        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
    960895tmp/modules/ParticlePropagator.$(ObjSuf): \
    961896        modules/ParticlePropagator.$(SrcSuf) \
     
    10661001        classes/DelphesFactory.h \
    10671002        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
    10771003tmp/modules/TimeSmearing.$(ObjSuf): \
    10781004        modules/TimeSmearing.$(SrcSuf) \
     
    10991025        external/ExRootAnalysis/ExRootFilter.h \
    11001026        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
    11081027tmp/modules/TrackPileUpSubtractor.$(ObjSuf): \
    11091028        modules/TrackPileUpSubtractor.$(SrcSuf) \
     
    11341053        external/ExRootAnalysis/ExRootResult.h \
    11351054        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
    11461055tmp/modules/UniqueObjectFinder.$(ObjSuf): \
    11471056        modules/UniqueObjectFinder.$(SrcSuf) \
     
    11971106        tmp/classes/DelphesFactory.$(ObjSuf) \
    11981107        tmp/classes/DelphesFormula.$(ObjSuf) \
    1199         tmp/classes/DelphesHepMC2Reader.$(ObjSuf) \
    1200         tmp/classes/DelphesHepMC3Reader.$(ObjSuf) \
     1108        tmp/classes/DelphesHepMCReader.$(ObjSuf) \
    12011109        tmp/classes/DelphesLHEFReader.$(ObjSuf) \
    12021110        tmp/classes/DelphesModule.$(ObjSuf) \
     
    12441152        tmp/external/Hector/H_VerticalKicker.$(ObjSuf) \
    12451153        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) \
    12531154        tmp/modules/AngularSmearing.$(ObjSuf) \
    12541155        tmp/modules/BTagging.$(ObjSuf) \
     
    12561157        tmp/modules/Calorimeter.$(ObjSuf) \
    12571158        tmp/modules/Cloner.$(ObjSuf) \
    1258         tmp/modules/ClusterCounting.$(ObjSuf) \
    12591159        tmp/modules/ConstituentFilter.$(ObjSuf) \
    12601160        tmp/modules/CscClusterEfficiency.$(ObjSuf) \
    12611161        tmp/modules/CscClusterId.$(ObjSuf) \
    1262         tmp/modules/DecayFilter.$(ObjSuf) \
    12631162        tmp/modules/Delphes.$(ObjSuf) \
    12641163        tmp/modules/DenseTrackFilter.$(ObjSuf) \
     
    12801179        tmp/modules/MomentumSmearing.$(ObjSuf) \
    12811180        tmp/modules/OldCalorimeter.$(ObjSuf) \
    1282         tmp/modules/ParticleDensity.$(ObjSuf) \
    12831181        tmp/modules/ParticlePropagator.$(ObjSuf) \
    12841182        tmp/modules/PdgCodeFilter.$(ObjSuf) \
     
    12921190        tmp/modules/TaggingParticlesSkimmer.$(ObjSuf) \
    12931191        tmp/modules/TauTagging.$(ObjSuf) \
    1294         tmp/modules/TimeOfFlight.$(ObjSuf) \
    12951192        tmp/modules/TimeSmearing.$(ObjSuf) \
    12961193        tmp/modules/TrackCountingBTagging.$(ObjSuf) \
    12971194        tmp/modules/TrackCountingTauTagging.$(ObjSuf) \
    1298         tmp/modules/TrackCovariance.$(ObjSuf) \
    12991195        tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \
    13001196        tmp/modules/TrackSmearing.$(ObjSuf) \
    13011197        tmp/modules/TreeWriter.$(ObjSuf) \
    1302         tmp/modules/TruthVertexFinder.$(ObjSuf) \
    13031198        tmp/modules/UniqueObjectFinder.$(ObjSuf) \
    13041199        tmp/modules/VertexFinder.$(ObjSuf) \
     
    20161911        @touch $@
    20171912
    2018 modules/TrackCovariance.h: \
    2019         classes/DelphesModule.h
    2020         @touch $@
    2021 
    20221913modules/ExampleModule.h: \
    20231914        classes/DelphesModule.h
    20241915        @touch $@
    20251916
     1917modules/Isolation.h: \
     1918        classes/DelphesModule.h
     1919        @touch $@
     1920
     1921modules/EnergyScale.h: \
     1922        classes/DelphesModule.h
     1923        @touch $@
     1924
    20261925modules/Merger.h: \
    2027         classes/DelphesModule.h
    2028         @touch $@
    2029 
    2030 modules/Isolation.h: \
    2031         classes/DelphesModule.h
    2032         @touch $@
    2033 
    2034 modules/EnergyScale.h: \
    20351926        classes/DelphesModule.h
    20361927        @touch $@
     
    20671958        external/fastjet/config.h \
    20681959        external/fastjet/LimitedWarning.hh
    2069         @touch $@
    2070 
    2071 modules/DecayFilter.h: \
    2072         classes/DelphesModule.h
    20731960        @touch $@
    20741961
     
    21502037        @touch $@
    21512038
    2152 modules/TimeOfFlight.h: \
    2153         classes/DelphesModule.h
    2154         @touch $@
    2155 
    21562039external/fastjet/contribs/Nsubjettiness/NjettinessPlugin.hh: \
    21572040        external/fastjet/ClusterSequence.hh \
     
    22722155        @touch $@
    22732156
    2274 modules/TruthVertexFinder.h: \
    2275         classes/DelphesModule.h
    2276         @touch $@
    2277 
    22782157classes/DelphesSTDHEPReader.h: \
    22792158        classes/DelphesXDRReader.h
     
    23522231        @touch $@
    23532232
    2354 modules/ClusterCounting.h: \
    2355         classes/DelphesModule.h
    2356         @touch $@
    2357 
    23582233modules/SimpleCalorimeter.h: \
    23592234        classes/DelphesModule.h
     
    23912266        @touch $@
    23922267
    2393 modules/ParticleDensity.h: \
     2268modules/TimeSmearing.h: \
    23942269        classes/DelphesModule.h
    23952270        @touch $@
    23962271
    23972272modules/TreeWriter.h: \
    2398         classes/DelphesModule.h
    2399         @touch $@
    2400 
    2401 modules/TimeSmearing.h: \
    24022273        classes/DelphesModule.h
    24032274        @touch $@
     
    24652336        @mkdir -p $(@D)
    24662337        @echo ">> Building $@"
     2338ifeq ($(ARCH),aix5)
     2339        @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^
     2340else
    24672341ifeq ($(PLATFORM),macosx)
     2342# We need to make both the .dylib and the .so
    24682343        @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS)
     2344ifneq ($(subst $(MACOSX_MINOR),,1234),1234)
     2345ifeq ($(MACOSX_MINOR),4)
     2346        @ln -sf $@ $(subst .$(DllSuf),.so,$@)
     2347endif
     2348endif
    24692349else
    24702350ifeq ($(PLATFORM),win32)
     
    24752355else
    24762356        @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS)
     2357        @$(MT_DLL)
     2358endif
    24772359endif
    24782360endif
     
    24812363        @mkdir -p $(@D)
    24822364        @echo ">> Building $@"
     2365ifeq ($(ARCH),aix5)
     2366        @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^
     2367else
    24832368ifeq ($(PLATFORM),macosx)
     2369# We need to make both the .dylib and the .so
    24842370        @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS)
     2371ifneq ($(subst $(MACOSX_MINOR),,1234),1234)
     2372ifeq ($(MACOSX_MINOR),4)
     2373        @ln -sf $@ $(subst .$(DllSuf),.so,$@)
     2374endif
     2375endif
    24852376else
    24862377ifeq ($(PLATFORM),win32)
     
    24912382else
    24922383        @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS)
     2384        @$(MT_DLL)
     2385endif
    24932386endif
    24942387endif
     
    24972390        @mkdir -p $(@D)
    24982391        @echo ">> Building $@"
     2392ifeq ($(ARCH),aix5)
     2393        @$(MAKESHARED) $(OutPutOpt) $@ $(DISPLAY_LIBS) -p 0 $^
     2394else
    24992395ifeq ($(PLATFORM),macosx)
     2396# We need to make both the .dylib and the .so
    25002397        @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS)
     2398ifneq ($(subst $(MACOSX_MINOR),,1234),1234)
     2399ifeq ($(MACOSX_MINOR),4)
     2400        @ln -sf $@ $(subst .$(DllSuf),.so,$@)
     2401endif
     2402endif
    25012403else
    25022404ifeq ($(PLATFORM),win32)
     
    25072409else
    25082410        @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS)
     2411        @$(MT_DLL)
     2412endif
    25092413endif
    25102414endif
     
    25202424        @echo ">> Building $(DISTTAR)"
    25212425        @mkdir -p $(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)
     2426        @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb VERSION Makefile MinBias.pileup configure cards classes converters display doc examples external modules python readers validation $(DISTDIR)
    25232427        @find $(DISTDIR) -depth -name .\* -exec rm -rf {} \;
    25242428        @tar -czf $(DISTTAR) $(DISTDIR)
  • README

    rd612dec ra5af1df  
    44Commands to get the code:
    55
    6    wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.5.0.tar.gz
     6   wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.4.2.tar.gz
    77
    8    tar -zxf Delphes-3.5.0.tar.gz
     8   tar -zxf Delphes-3.4.2.tar.gz
    99
    1010Commands to compile the code:
    1111
    12    cd Delphes-3.5.0
     12   cd Delphes-3.4.2
    1313
    1414   make
     
    1616Finally, we can run Delphes:
    1717
    18    ./DelphesHepMC3
     18   ./DelphesHepMC
    1919
    2020Command line parameters:
    2121
    22    ./DelphesHepMC3 config_file output_file [input_file(s)]
     22   ./DelphesHepMC config_file output_file [input_file(s)]
    2323     config_file - configuration file in Tcl format
    2424     output_file - output file in ROOT format,
     
    4747cd Delphes
    4848
    49 source /cvmfs/sft.cern.ch/lcg/views/LCG_99/x86_64-centos7-gcc10-opt/setup.sh
     49source  /afs/cern.ch/sw/lcg/external/gcc/4.9.3/x86_64-slc6/setup.sh
     50
     51source /afs/cern.ch/sw/lcg/app/releases/ROOT/6.06.00/x86_64-slc6-gcc49-opt/root/bin/thisroot.sh
    5052
    5153make
     
    6466Open ROOT file and do some basic analysis using Draw or TBrowser:
    6567
    66    TFile *f = TFile::Open("delphes_output.root");
    67    f->Get("Delphes")->Draw("Electron.PT");
     68   TFile::Open("delphes_output.root");
     69   Delphes->Draw("Electron.PT");
    6870   TBrowser browser;
    6971
  • README.md

    rd612dec ra5af1df  
    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)
     1[![CircleCI](https://circleci.com/gh/delphes/delphes.svg?style=shield)](https://circleci.com/gh/delphes/delphes)
    22
    33Delphes
     
    1414
    1515```
    16    wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.5.0.tar.gz
     16   wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.4.2.tar.gz
    1717
    18    tar -zxf Delphes-3.5.0.tar.gz
     18   tar -zxf Delphes-3.4.2.tar.gz
    1919```
    2020
     
    2222
    2323```
    24    cd Delphes-3.5.0
     24   cd Delphes-3.4.2
    2525
    2626   make
     
    3030
    3131```
    32    ./DelphesHepMC3
     32   ./DelphesHepMC
    3333```
    3434
     
    3636
    3737```
    38    ./DelphesHepMC3 config_file output_file [input_file(s)]
     38   ./DelphesHepMC config_file output_file [input_file(s)]
    3939     config_file - configuration file in Tcl format
    4040     output_file - output file in ROOT format,
     
    6767cd Delphes
    6868
    69 source /cvmfs/sft.cern.ch/lcg/views/LCG_99/x86_64-centos7-gcc10-opt/setup.sh
     69source  /afs/cern.ch/sw/lcg/external/gcc/4.9.3/x86_64-slc6/setup.sh
     70
     71source /afs/cern.ch/sw/lcg/app/releases/ROOT/6.06.00/x86_64-slc6-gcc49-opt/root/bin/thisroot.sh
    7072
    7173make
     
    8789
    8890```
    89    TFile *f = TFile::Open("delphes_output.root");
    90    f->Get("Delphes")->Draw("Electron.PT");
     91   TFile::Open("delphes_output.root");
     92   Delphes->Draw("Electron.PT");
    9193   TBrowser browser;
    9294```
  • cards/FCC/FCChh.tcl

    rd612dec ra5af1df  
    44#  Main authors:  Michele Selvaggi (CERN)
    55#
    6 #  Released on: October 14th, 2020
    7 #
    8 #  - fix muon resolution at high pT
    9 #  - updated btagging, tau tagging and photon ID
    10 #
     6#  Released on: Dec. 1st, 2017
    117#
    128#  Configuration: FCC-hh baseline detector
     
    10531049  (abs(eta) <= 2.5) * (pt > 1.0 && pt < 5.0)  * (0.70) +
    10541050  (abs(eta) <= 2.5) * (pt > 5.0 && pt < 10.0) * (0.85) +
    1055   (abs(eta) <= 2.5) * (pt > 10.0)             * (0.90) +
     1051  (abs(eta) <= 2.5) * (pt > 10.0)             * (0.95) +
    10561052   
    10571053  (abs(eta) > 2.5 && abs(eta) <= 4.0) * (pt > 1.0 && pt < 5.0)  * (0.60) +
     
    11421138  (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 15000.0) * (0.01)*(1.0 - pt/15000.) + \
    11431139  (abs(eta) < 2.5)                   * (pt > 15000.0)               * (0.00) + \
    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.) + \
     1140  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.0075) + \
     1141  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.0075)*(1.0 - pt/15000.) + \
    11461142  (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0)               * (0.000) + \
    11471143  (abs(eta) > 4.0) * (0.00)}
     
    11501146
    11511147  (pt <= 10.0)                       * (0.00) +
    1152   (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 500)      * (0.15) + \
    1153   (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 15000.0) * (0.15)*(1.0 - pt/15000.) + \
     1148  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 500)      * (0.05) + \
     1149  (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 15000.0) * (0.05)*(1.0 - pt/15000.) + \
    11541150  (abs(eta) < 2.5)                   * (pt > 15000.0)               * (0.000) + \
    1155   (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.10) + \
    1156   (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.10)*(1.0 - pt/15000.) + \
     1151  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.03) + \
     1152  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.03)*(1.0 - pt/15000.) + \
    11571153  (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0)               * (0.000) + \
    11581154  (abs(eta) > 4.0) * (0.00)}
     
    11611157
    11621158  (pt <= 10.0)                                                       * (0.00) +
    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.) +
     1159  (abs(eta) < 2.5)                    * (pt > 10.0 && pt < 500)      * (0.85) +
     1160  (abs(eta) < 2.5)                    * (pt > 500.0 && pt < 15000.0) * (0.85)*(1.0 - pt/15000.) +
    11651161  (abs(eta) < 2.5)                    * (pt > 15000.0)               * (0.000) +
    11661162  (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.64) +
     
    12211217
    12221218  (pt <= 10.0)                                                       * (0.00) +
    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.) + \
     1219  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 5000.0)    * (0.01) + \
     1220  (abs(eta) < 2.5)                   * (pt > 5000.0 && pt < 34000.0) * (0.01)  *(8./9. - pt/30000.) + \
    12251221  (abs(eta) < 2.5)                   * (pt > 34000.0)                * (0.000) + \
    12261222  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0)    * (0.0075) + \
     
    12321228
    12331229  (pt <= 10.0)                                                       * (0.00) +
    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.) + \
     1230  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 5000.0)    * (0.005) + \
     1231  (abs(eta) < 2.5)                   * (pt > 5000.0 && pt < 34000.0) * (0.005)  *(8./9. - pt/30000.) + \
    12361232  (abs(eta) < 2.5)                   * (pt > 34000.0)                * (0.000) + \
    1237   (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0)    * (0.001) + \
    1238   (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.001)*(8./9. - pt/30000.) + \
     1233  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 5000.0)    * (0.00375) + \
     1234  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 5000.0 && pt < 34000.0) * (0.00375)*(8./9. - pt/30000.) + \
    12391235  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 34000.0)                * (0.00) + \
    12401236  (abs(eta) > 4.0)                   * (0.00)}
  • cards/FCC/muonMomentumResolutionVsP.tcl

    rd612dec ra5af1df  
    1212set ResolutionFormula {
    1313 
    14 
    15 ( abs(eta) < 1.35 ) *
    16 
    17     (sqrt(0.0000364164 + (
    18                           3*9.06262e-8 *pt^2* cosh(
    19          eta)^2 *(2.82074e-7/sin(2*atan(exp(-abs(eta))))^2 + (
    20           504.525 *(1/400000000 + (0.117945* 1/cosh(eta)^2)/(
    21              pt^2 *sin(2*atan(exp(-abs(eta))))^2)))/
    22           sin(2*atan(exp(-abs(eta))))^2) *sin(2*atan(exp(-abs(eta))))^2)/(
    23        0.00516429/sin(2*atan(exp(-abs(eta))))^2 + (
    24         96868.8 *(1/400000000 + 5*(0.117945 * 1/cosh(eta)^2)/(
    25            pt^2 *sin(2*atan(exp(-abs(eta))))^2)))/
    26         sin(2*atan(exp(-abs(eta))))^2))
    27 
    28     ) +
     14( abs(eta) < 1.35 ) *
     15
     16(sqrt(0.0000364164 + (
     17   9.06262e-8 *pt^2* cosh(
     18     eta)^2 *(2.82074e-7/sin(2*atan(exp(-abs(eta))))^2 + (
     19      504.525 *(1/400000000 + (0.117945* 1/cosh(eta)^2)/(
     20         pt^2 *sin(2*atan(exp(-abs(eta))))^2)))/
     21      sin(2*atan(exp(-abs(eta))))^2) *sin(2*atan(exp(-abs(eta))))^2)/(
     22   0.00516429/sin(2*atan(exp(-abs(eta))))^2 + (
     23    96868.8 *(1/400000000 + (0.117945 * 1/cosh(eta)^2)/(
     24       pt^2 *sin(2*atan(exp(-abs(eta))))^2)))/
     25    sin(2*atan(exp(-abs(eta))))^2))
     26
     27) +
    2928 
    3029( abs(eta) > 1.35 && abs(eta) < 2.00) *
  • cards/delphes_card_CLICdet_Stage1.tcl

    rd612dec ra5af1df  
    298298
    299299    set EfficiencyFormula {
    300  (pt <= 0.1)                                                                        * (0.000) +
    301  (pt > 0.1)                                * (abs(eta) > 2.54)                      * (0.000) +
    302  (pt > 0.1) * (energy >= 80)               * (abs(eta) < 2.54)                      * (1.000) +
    303  (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34)   * (0.994) +
    304  (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <= 2.34)                     * (1.000) +
    305  (pt > 0.1) * (energy < 3)                 * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.990) +
    306  (pt > 0.1) * (energy < 3)                 * (abs(eta) <= 0.55 )                    * (1.000)
     300        (abs(eta) > 2.54) * (0.000) +
     301        (energy >= 80) * (abs(eta) < 2.54)  * (1.000) +
     302        (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34)  * (0.994) +
     303        (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) +
     304        (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.000) +
     305        (energy < 3) * (abs(eta) <= 0.55 ) * (1.000)
    307306    }
    308307}
     
    319318    # Current full simulation with CLICdet provides for electrons:
    320319    set EfficiencyFormula {
    321  (pt <= 0.1)                                                                        * (0.000) +
    322  (pt > 0.1)                                * (abs(eta) > 2.54)                      * (0.000) +
    323  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +
    324  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +
    325  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.34  )                   * (1.000) +
    326  (pt > 0.1) * (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +
    327  (pt > 0.1) * (energy < 80 && energy >= 5) * (abs(eta) <= 2.17)                     * (1.000) +
    328  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 2.54 && abs(eta) > 2.34 ) * (1.000) +
    329  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +
    330  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 0.76)                     * (0.999)
     320        (pt <= 1)                                                               * (0.000) +
     321        (abs(eta) > 2.54)                                                       * (0.000) +
     322        (energy >= 80)                 * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +
     323        (energy >= 80)                 * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +
     324        (energy >= 80)                 * (abs(eta) <= 2.34  )                   * (1.000) +
     325        (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +
     326        (energy < 80 && energy >= 5) * (abs(eta) <= 2.17)                     * (1.000) +
     327        (energy < 5)   * (abs(eta) > 2.34 )                     * (0.000) +
     328        (energy < 5)   * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +
     329        (energy < 5)   * (abs(eta) <= 0.76)                     * (0.999)
    331330    }
    332331}
     
    342341    # Current full simulation with CLICdet provides for muons:
    343342    set EfficiencyFormula {
    344   (pt <= 0.1)                                                                          * (0.000) +
    345   (pt > 0.1) * (abs(eta) > 2.54)                                                       * (0.000) +
    346   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80)                 * (0.994) +
    347   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80)   * (0.996) +
    348   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 )                  * (0.996) +
    349   (pt > 0.1) * (abs(eta) <= 2.44 )                    * (energy >= 5 )                 * (1.000) +
    350   (pt > 0.1) * (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 )                  * (0.999) +
    351   (pt > 0.1) * (abs(eta) <= 2.25 )                    * (energy < 5 )                  * (1.000)
     343        (pt < 1)                                                                * (0.000) +
     344        (abs(eta) > 2.54)                                                       * (0.000) +
     345        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80)                 * (0.994) +
     346        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80)   * (0.996) +
     347        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 )                  * (0.996) +
     348        (abs(eta) <= 2.44 )                    * (energy >= 5 )                 * (1.000) +
     349        (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 && pt >=1 )        * (0.999) +
     350        (abs(eta) <= 2.25 )                    * (energy >= 1)                  * (1.000)
     351
     352       
    352353    }
    353354}
     
    944945module FastJetFinder FastJetFinderKt {
    945946    #  set InputArray Calorimeter/towers
    946     set InputArray EFlowFilter/eflow
     947    set InputArray EFlowMerger/eflow
    947948
    948949    set OutputArray KTjets
  • cards/delphes_card_CLICdet_Stage2.tcl

    rd612dec ra5af1df  
    490490
    491491    set EfficiencyFormula {
    492  (pt <= 0.1)                                                                        * (0.000) +
    493  (pt > 0.1)                                * (abs(eta) > 2.54)                      * (0.000) +
    494  (pt > 0.1) * (energy >= 80)               * (abs(eta) < 2.54)                      * (1.000) +
    495  (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34)   * (0.994) +
    496  (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <= 2.34)                     * (1.000) +
    497  (pt > 0.1) * (energy < 3)                 * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.990) +
    498  (pt > 0.1) * (energy < 3)                 * (abs(eta) <= 0.55 )                    * (1.000)
     492        (abs(eta) > 2.54) * (0.000) +
     493        (energy >= 80) * (abs(eta) < 2.54)  * (1.000) +
     494        (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34)  * (0.994) +
     495        (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) +
     496        (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.000) +
     497        (energy < 3) * (abs(eta) <= 0.55 ) * (1.000)
    499498    }
    500499}
     
    511510    # Current full simulation with CLICdet provides for electrons:
    512511    set EfficiencyFormula {
    513  (pt <= 0.1)                                                                        * (0.000) +
    514  (pt > 0.1)                                * (abs(eta) > 2.54)                      * (0.000) +
    515  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +
    516  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +
    517  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.34  )                   * (1.000) +
    518  (pt > 0.1) * (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +
    519  (pt > 0.1) * (energy < 80 && energy >= 5) * (abs(eta) <= 2.17)                     * (1.000) +
    520  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 2.54 && abs(eta) > 2.34 ) * (1.000) +
    521  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +
    522  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 0.76)                     * (0.999)
     512        (pt <= 1)                                                               * (0.000) +
     513        (abs(eta) > 2.54)                                                       * (0.000) +
     514        (energy >= 80)                 * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +
     515        (energy >= 80)                 * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +
     516        (energy >= 80)                 * (abs(eta) <= 2.34  )                   * (1.000) +
     517        (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +
     518        (energy < 80 && energy >= 5) * (abs(eta) <= 2.17)                     * (1.000) +
     519        (energy < 5)   * (abs(eta) > 2.34 )                     * (0.000) +
     520        (energy < 5)   * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +
     521        (energy < 5)   * (abs(eta) <= 0.76)                     * (0.999)
    523522    }
    524523}
     
    534533    # Current full simulation with CLICdet provides for muons:
    535534    set EfficiencyFormula {
    536   (pt <= 0.1)                                                                          * (0.000) +
    537   (pt > 0.1) * (abs(eta) > 2.54)                                                       * (0.000) +
    538   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80)                 * (0.994) +
    539   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80)   * (0.996) +
    540   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 )                  * (0.996) +
    541   (pt > 0.1) * (abs(eta) <= 2.44 )                    * (energy >= 5 )                 * (1.000) +
    542   (pt > 0.1) * (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 )                  * (0.999) +
    543   (pt > 0.1) * (abs(eta) <= 2.25 )                    * (energy < 5 )                  * (1.000)
     535        (pt < 1)                                                                * (0.000) +
     536        (abs(eta) > 2.54)                                                       * (0.000) +
     537        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80)                 * (0.994) +
     538        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80)   * (0.996) +
     539        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 )                  * (0.996) +
     540        (abs(eta) <= 2.44 )                    * (energy >= 5 )                 * (1.000) +
     541        (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 && pt >=1 )        * (0.999) +
     542        (abs(eta) <= 2.25 )                    * (energy >= 1)                  * (1.000)
     543
     544       
    544545    }
    545546}
     
    11351136module FastJetFinder FastJetFinderKt {
    11361137    #  set InputArray Calorimeter/towers
    1137     set InputArray EFlowFilter/eflow
     1138    set InputArray EFlowMerger/eflow
    11381139
    11391140    set OutputArray KTjets
  • cards/delphes_card_CLICdet_Stage3.tcl

    rd612dec ra5af1df  
    484484
    485485    set EfficiencyFormula {
    486  (pt <= 0.1)                                                                        * (0.000) +
    487  (pt > 0.1)                                * (abs(eta) > 2.54)                      * (0.000) +
    488  (pt > 0.1) * (energy >= 80)               * (abs(eta) < 2.54)                      * (1.000) +
    489  (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34)   * (0.994) +
    490  (pt > 0.1) * (energy < 80 && energy >= 3) * (abs(eta) <= 2.34)                     * (1.000) +
    491  (pt > 0.1) * (energy < 3)                 * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.990) +
    492  (pt > 0.1) * (energy < 3)                 * (abs(eta) <= 0.55 )                    * (1.000)
     486        (abs(eta) > 2.54) * (0.000) +
     487        (energy >= 80) * (abs(eta) < 2.54)  * (1.000) +
     488        (energy < 80 && energy >= 3) * (abs(eta) <=2.54 && abs(eta) > 2.34)  * (0.994) +
     489        (energy < 80 && energy >= 3) * (abs(eta) <= 2.34) * (1.000) +
     490        (energy < 3) * (abs(eta) <= 2.54 && abs(eta) > 0.55 ) * (0.000) +
     491        (energy < 3) * (abs(eta) <= 0.55 ) * (1.000)
    493492    }
    494493}
     
    505504    # Current full simulation with CLICdet provides for electrons:
    506505    set EfficiencyFormula {
    507  (pt <= 0.1)                                                                        * (0.000) +
    508  (pt > 0.1)                                * (abs(eta) > 2.54)                      * (0.000) +
    509  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +
    510  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +
    511  (pt > 0.1) * (energy >= 80)               * (abs(eta) <= 2.34  )                   * (1.000) +
    512  (pt > 0.1) * (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +
    513  (pt > 0.1) * (energy < 80 && energy >= 5) * (abs(eta) <= 2.17)                     * (1.000) +
    514  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 2.54 && abs(eta) > 2.34 ) * (1.000) +
    515  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +
    516  (pt > 0.1) * (energy < 5)                 * (abs(eta) <= 0.76)                     * (0.999)
     506        (pt <= 1)                                                               * (0.000) +
     507        (abs(eta) > 2.54)                                                       * (0.000) +
     508        (energy >= 80)                 * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (0.993) +
     509        (energy >= 80)                 * (abs(eta) <= 2.44 && abs(eta) > 2.34 ) * (0.997) +
     510        (energy >= 80)                 * (abs(eta) <= 2.34  )                   * (1.000) +
     511        (energy < 80 && energy >= 5) * (abs(eta) <= 2.54 && abs(eta) > 2.17 ) * (0.998) +
     512        (energy < 80 && energy >= 5) * (abs(eta) <= 2.17)                     * (1.000) +
     513        (energy < 5)   * (abs(eta) > 2.34 )                     * (0.000) +
     514        (energy < 5)   * (abs(eta) <= 2.34 && abs(eta) > 0.76 ) * (0.997) +
     515        (energy < 5)   * (abs(eta) <= 0.76)                     * (0.999)
    517516    }
    518517}
     
    528527    # Current full simulation with CLICdet provides for muons:
    529528    set EfficiencyFormula {
    530   (pt <= 0.1)                                                                          * (0.000) +
    531   (pt > 0.1) * (abs(eta) > 2.54)                                                       * (0.000) +
    532   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80)                 * (0.994) +
    533   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80)   * (0.996) +
    534   (pt > 0.1) * (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 )                  * (0.996) +
    535   (pt > 0.1) * (abs(eta) <= 2.44 )                    * (energy >= 5 )                 * (1.000) +
    536   (pt > 0.1) * (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 )                  * (0.999) +
    537   (pt > 0.1) * (abs(eta) <= 2.25 )                    * (energy < 5 )                  * (1.000)
     529        (pt < 1)                                                                * (0.000) +
     530        (abs(eta) > 2.54)                                                       * (0.000) +
     531        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 80)                 * (0.994) +
     532        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy >= 5 && energy < 80)   * (0.996) +
     533        (abs(eta) <= 2.54 && abs(eta) > 2.44 ) * (energy < 5 )                  * (0.996) +
     534        (abs(eta) <= 2.44 )                    * (energy >= 5 )                 * (1.000) +
     535        (abs(eta) <= 2.44 && abs(eta) > 2.25 ) * (energy < 5 && pt >=1 )        * (0.999) +
     536        (abs(eta) <= 2.25 )                    * (energy >= 1)                  * (1.000)
     537
     538       
    538539    }
    539540}
     
    11311132module FastJetFinder FastJetFinderKt {
    11321133    #  set InputArray Calorimeter/towers
    1133     set InputArray EFlowFilter/eflow
     1134    set InputArray EFlowMerger/eflow
    11341135
    11351136    set OutputArray KTjets
  • cards/delphes_card_IDEA.tcl

    rd612dec ra5af1df  
    1 set RandomSeed 123
    2 
    31####################################################################                                l
    4 # FCC-ee IDEA detector model
    5 #
    6 # Authors: Elisa Fontanesi, Lorenzo Pezzotti, Massimiliano Antonello, Michele Selvaggi
     2# FCC-ee IDEA detector model                                                                                     
     3#                                                                                                   
     4# Authors: Elisa Fontanesi, Lorenzo Pezzotti, Massimiliano Antonello                                 
    75# email: efontane@bo.infn.it,
    8 #        lorenzo.pezzotti01@universitadipavia.it,
    9 #        m.antonello@uninsubria.it,
    10 #        michele.selvaggi@cern.ch
    11 #####################################################################
    12 
    13 ## MOD2: set vtx mode timing to MC truth
    14 
    15 set B 2.0
    16 
    17 ## Drift chamber coordinates
    18 set DCHZMIN -2.125
    19 set DCHZMAX 2.125
    20 set DCHRMIN 0.345
    21 set DCHRMAX 2.02
    22 
    23 
     6#        lorenzo.pezzotti01@universitadipavia.it,                                                   
     7#        m.antonello@uninsubria.it,                                                                 
     8#####################################################################                               
     9#       
    2410#######################################
    2511# Order of execution of various modules
     
    2713
    2814set ExecutionPath {
    29 
    30   TruthVertexFinder
    3115  ParticlePropagator
    3216
     
    3519  MuonTrackingEfficiency
    3620
    37   TrackMergerPre
    38   TrackSmearing
    39   ClusterCounting
    40   TimeSmearing
    41   TimeOfFlight
    42 
    43   TrackMerger
    44   ForwardLooperTracks
     21  ChargedHadronMomentumSmearing
     22  ElectronMomentumSmearing
     23  MuonMomentumSmearing
     24
     25  TrackMerger
    4526  Calorimeter
    46 
    47   TimeSmearingNeutrals
    48   TimeOfFlightNeutralHadron
    49 
    50   EFlowTrackMerger
    5127  EFlowMerger
    5228
    5329  PhotonEfficiency
    5430  PhotonIsolation
    55 
    56   MuonFilter
    5731
    5832  ElectronFilter
     
    6842  GenJetFinder
    6943  GenMissingET
    70 
     44 
    7145  FastJetFinder
    7246
     
    7852  TauTagging
    7953
     54  UniqueObjectFinder
     55
     56  ScalarHT
    8057  TreeWriter
    8158}
    8259
    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 }
    9560
    9661#################################
     
    11378
    11479  # magnetic field, in T
    115   set Bz $B
     80  set Bz 2.0
    11681}
    11782
     
    12388    set InputArray ParticlePropagator/chargedHadrons
    12489    set OutputArray chargedHadrons
    125     set UseMomentumVector true
     90    # We use only one efficiency, we set only 0 effincency out of eta bounds:
    12691
    12792    set EfficiencyFormula {
    128         (abs(eta) > 2.56)                                  * (0.000) +
    129         (pt < 0.1) * (abs(eta) <= 2.56)                    * (0.000) +
    130         (pt >= 0.1) * (abs(eta) <= 2.56)                   * (1.000)
    131     }
    132 }
     93        (abs(eta) > 3.0)                                       * (0.000) +
     94        (energy >= 0.5) * (abs(eta) <= 3.0)                    * (0.997) +
     95        (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0)    * (0.65) +
     96        (energy < 0.3) * (abs(eta) <= 3.0)                     * (0.06)
     97    }
     98}
     99
     100#       (pt <= 0.1)                                     * (0.00) +
     101#       (abs(eta) <= 3.0)               * (pt > 0.1)    * (1.00) +
     102#       (abs(eta) > 3)                                  * (0.00)
    133103
    134104
     
    141111    set InputArray ParticlePropagator/electrons
    142112    set OutputArray electrons
    143     set UseMomentumVector true
    144 
     113
     114
     115    # Current full simulation with CLICdet provides for electrons:
    145116    set EfficiencyFormula {
    146         (abs(eta) > 2.56)                                  * (0.000) +
    147         (pt < 0.1) * (abs(eta) <= 2.56)                    * (0.000) +
    148         (pt >= 0.1) * (abs(eta) <= 2.56)                   * (1.000)
    149     }
     117        (abs(eta) > 3.0)                                       * (0.000) +
     118        (energy >= 0.5) * (abs(eta) <= 3.0)                    * (0.997) +
     119        (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0)    * (0.65) +
     120        (energy < 0.3) * (abs(eta) <= 3.0)                     * (0.06)
     121    }
    150122}
    151123
     
    158130    set InputArray ParticlePropagator/muons
    159131    set OutputArray muons
    160     set UseMomentumVector true
    161 
     132
     133    # Current full simulation with CLICdet provides for muons:
    162134    set EfficiencyFormula {
    163         (abs(eta) > 2.56)                                  * (0.000) +
    164         (pt < 0.1) * (abs(eta) <= 2.56)                    * (0.000) +
    165         (pt >= 0.1) * (abs(eta) <= 2.56)                   * (1.000)
     135        (abs(eta) > 3.0)                                       * (0.000) +
     136        (energy >= 0.5) * (abs(eta) <= 3.0)                    * (0.997) +
     137        (energy < 0.5 && energy >= 0.3) * (abs(eta) <= 3.0)    * (0.65) +
     138        (energy < 0.3) * (abs(eta) <= 3.0)                     * (0.06)
     139    }
     140}
     141
     142
     143########################################
     144# Momentum resolution for charged tracks
     145########################################
     146
     147module 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
     163module 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
     178module 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)
    166186    }
    167187}
     
    171191##############
    172192
    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 
    434193module Merger TrackMerger {
    435194# add InputArray InputArray
    436   add InputArray TimeOfFlight/tracks
     195  add InputArray ChargedHadronMomentumSmearing/chargedHadrons
     196  add InputArray ElectronMomentumSmearing/electrons
     197  add InputArray MuonMomentumSmearing/muons
    437198  set OutputArray tracks
    438199}
    439200
    440201
    441 ######################
    442 # Looper Selection
    443 ######################
    444 
    445 module Efficiency ForwardLooperTracks  {
    446   set InputArray TrackMerger/tracks
    447   set OutputArray tracks
    448   set UseMomentumVector False
    449 
    450   ## select looping tracks that end up in position |eta| > 3.142 (lost by calo)
    451   set EfficiencyFormula {
    452     (abs(eta) > 3.0 )                                 * (1.000) +
    453     (abs(eta) <= 3.0 )                                * (0.000)
    454   }
    455 
    456 }
    457 
    458 
    459 #############
    460 # Calorimeter
    461 #############
     202#############                                                                                                                         
     203# Calorimeter                                                                                                                                           
     204#############                                                                                                                                           
    462205module DualReadoutCalorimeter Calorimeter {
    463206  set ParticleInputArray ParticlePropagator/stableParticles
     
    473216  set ECalEnergyMin 0.5
    474217  set HCalEnergyMin 0.5
    475   set ECalEnergySignificanceMin 3.0
    476   set HCalEnergySignificanceMin 3.0
    477 
    478218  set EnergyMin 0.5
    479   set EnergySignificanceMin 3.0
    480 
    481   #set SmearTowerCenter true
    482   set SmearTowerCenter false
     219  set ECalEnergySignificanceMin 1.0
     220  set HCalEnergySignificanceMin 1.0
     221  set EnergySignificanceMin 1.0
     222
     223  set SmearTowerCenter true
    483224    set pi [expr {acos(-1)}]
    484225
    485     # Lists of the edges of each tower in eta and phi;
    486     # each list starts with the lower edge of the first tower;
    487     # the list ends with the higher edged of the last tower.
    488     # Barrel:  deta=0.02 towers up to |eta| <= 0.88 ( up to 45°)
    489     # Endcaps: deta=0.02 towers up to |eta| <= 3.0 (8.6° = 100 mrad)
    490     # Cell size: about 6 cm x 6 cm
    491 
    492     #barrel:
     226    # Lists of the edges of each tower in eta and phi;                                                                                           
     227    # each list starts with the lower edge of the first tower;                                                                                                   
     228    # the list ends with the higher edged of the last tower.                                                                                       
     229    # Barrel:  deta=0.02 towers up to |eta| <= 0.88 ( up to 45°)                                                                                       
     230    # Endcaps: deta=0.02 towers up to |eta| <= 3.0 (8.6° = 100 mrad)                                                                                           
     231    # Cell size: about 6 cm x 6 cm                                                 
     232
     233    #barrel:                                                                                       
    493234    set PhiBins {}
    494235    for {set i -120} {$i <= 120} {incr i} {
    495236        add PhiBins [expr {$i * $pi/120}]
    496237    }
    497     #deta=0.02 units for |eta| <= 0.88
     238    #deta=0.02 units for |eta| <= 0.88                                                             
    498239    for {set i -44} {$i < 45} {incr i} {
    499240        set eta [expr {$i * 0.02}]
     
    501242    }
    502243
    503     #endcaps:
     244    #endcaps:                                                                                       
    504245    set PhiBins {}
    505246    for {set i -120} {$i <= 120} {incr i} {
    506247        add PhiBins [expr {$i* $pi/120}]
    507248    }
    508     #deta=0.02 units for 0.88 < |eta| <= 3.0
    509     #first, from -3.0 to -0.88
    510     for {set i 0} {$i <=106} {incr i} {
     249    #deta=0.02 units for 0.88 < |eta| <= 3.0                                                       
     250    #first, from -3.0 to -0.88                                                                     
     251    for {set i 1} {$i <=106} {incr i} {
    511252        set eta [expr {-3.00 + $i * 0.02}]
    512253        add EtaPhiBins $eta $PhiBins
    513254    }
    514     #same for 0.88 to 3.0
     255    #same for 0.88 to 3.0                                                                           
    515256    for  {set i 1} {$i <=106} {incr i} {
    516257        set eta [expr {0.88 + $i * 0.02}]
     
    518259    }
    519260
    520     # default energy fractions {abs(PDG code)} {Fecal Fhcal}
     261    # default energy fractions {abs(PDG code)} {Fecal Fhcal}                                                                                 
    521262    add EnergyFraction {0} {0.0 1.0}
    522     # energy fractions for e, gamma and pi0
     263    # energy fractions for e, gamma and pi0                                                                                                           
    523264    add EnergyFraction {11} {1.0 0.0}
    524265    add EnergyFraction {22} {1.0 0.0}
    525266    add EnergyFraction {111} {1.0 0.0}
    526     # energy fractions for muon, neutrinos and neutralinos
     267    # energy fractions for muon, neutrinos and neutralinos                                                                             
    527268    add EnergyFraction {12} {0.0 0.0}
    528269    add EnergyFraction {13} {0.0 0.0}
     
    534275    add EnergyFraction {1000035} {0.0 0.0}
    535276    add EnergyFraction {1000045} {0.0 0.0}
    536     # energy fractions for K0short and Lambda
     277    # energy fractions for K0short and Lambda                                                                                                           
    537278    add EnergyFraction {310} {0.3 0.7}
    538     add EnergyFraction {130} {0.3 0.7}
    539279    add EnergyFraction {3122} {0.3 0.7}
    540280
    541281
    542     # set ECalResolutionFormula {resolution formula as a function of eta and energy}
     282    # set ECalResolutionFormula {resolution formula as a function of eta and energy}                               
    543283    set ECalResolutionFormula {
    544284    (abs(eta) <= 0.88 )                     * sqrt(energy^2*0.01^2 + energy*0.11^2)+
     
    546286    }
    547287
    548     # set HCalResolutionFormula {resolution formula as a function of eta and energy}
     288    # set HCalResolutionFormula {resolution formula as a function of eta and energy}                                               
    549289    set HCalResolutionFormula {
    550290    (abs(eta) <= 0.88 )                     * sqrt(energy^2*0.01^2 + energy*0.30^2)+
     
    553293}
    554294
    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 
    601295####################
    602296# Energy flow merger
     
    605299module Merger EFlowMerger {
    606300# add InputArray InputArray
    607   add InputArray EFlowTrackMerger/eflowTracks
     301  add InputArray Calorimeter/eflowTracks
    608302  add InputArray Calorimeter/eflowPhotons
    609   add InputArray TimeOfFlightNeutralHadron/eflowNeutralHadrons
     303  add InputArray Calorimeter/eflowNeutralHadrons
    610304  set OutputArray eflow
    611305}
    612 
    613306
    614307###################
     
    644337  set PTMin 0.5
    645338
    646   set PTRatioMax 9999.
     339  set PTRatioMax 999.
    647340}
    648341
     
    652345
    653346module PdgCodeFilter ElectronFilter {
    654   set InputArray EFlowTrackMerger/eflowTracks
     347  set InputArray Calorimeter/eflowTracks
    655348  set OutputArray electrons
    656349  set Invert true
     
    659352}
    660353
    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 
    674354#####################
    675355# Electron efficiency
     
    683363
    684364  # efficiency formula for electrons
    685   set EfficiencyFormula {
     365  set EfficiencyFormula {         
    686366        (energy < 2.0)                                         * (0.000)+
    687367        (energy >= 2.0) * (abs(eta) <= 0.88)                   * (0.99) +
     
    705385  set PTMin 0.5
    706386
    707   set PTRatioMax 9999
     387  set PTRatioMax 0.12
    708388}
    709389
     
    713393
    714394module Efficiency MuonEfficiency {
    715   set InputArray MuonFilter/muons
     395  set InputArray MuonMomentumSmearing/muons
    716396  set OutputArray muons
    717397
     
    719399
    720400  # efficiency formula for muons
    721   set EfficiencyFormula {
     401  set EfficiencyFormula {                                   
    722402        (energy < 2.0)                                         * (0.000)+
    723403        (energy >= 2.0) * (abs(eta) <= 0.88)                   * (0.99) +
     
    741421  set PTMin 0.5
    742422
    743   set PTRatioMax 9999.
     423  set PTRatioMax 0.25
    744424}
    745425
     
    793473module FastJetFinder GenJetFinder {
    794474  set InputArray NeutrinoFilter/filteredParticles
     475
    795476  set OutputArray jets
    796477
    797   set JetAlgorithm 10
    798   set ParameterR 1.5
    799   set ParameterP -1.0
     478  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     479  set JetAlgorithm 6
     480  set ParameterR 0.4
    800481  set JetPTMin 1.0
    801 
    802482}
    803483
     
    824504
    825505  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
    826   set JetAlgorithm 10
    827   set ParameterR 1.5
    828   set ParameterP -1.0
     506  set JetAlgorithm 6
     507  set ParameterR 0.4
    829508  set JetPTMin 1.0
    830 
    831 
    832509}
    833510
     
    841518
    842519  # scale formula for jets
    843   set ScaleFormula {1.00}
     520  set ScaleFormula {1.08}
    844521}
    845522
     
    870547
    871548  # add EfficiencyFormula {abs(PDG code)} {efficiency formula as a function of eta and pt}
    872 
     549 
    873550  # default efficiency formula (misidentification rate)
    874551  add EfficiencyFormula {0} {0.01}
     
    901578
    902579
     580#####################################################
     581# Find uniquely identified photons/electrons/tau/jets
     582#####################################################
     583
     584module UniqueObjectFinder UniqueObjectFinder {
     585# earlier arrays take precedence over later ones
     586# add InputArray InputArray OutputArray
     587  add InputArray PhotonIsolation/photons photons
     588  add InputArray ElectronIsolation/electrons electrons
     589  add InputArray MuonIsolation/muons muons
     590  add InputArray JetEnergyScale/jets jets
     591}
     592
     593
    903594
    904595##################
     
    912603module TreeWriter TreeWriter {
    913604    # add Branch InputArray BranchName BranchClass
    914 
     605   
    915606    add Branch Delphes/allParticles Particle GenParticle
    916     add Branch TruthVertexFinder/vertices GenVertex Vertex
    917 
    918     add Branch EFlowTrackMerger/eflowTracks EFlowTrack Track
    919     add Branch TrackSmearing/tracks Track Track
     607
     608    add Branch TrackMerger/tracks Track Track
     609    add Branch Calorimeter/towers Tower Tower
     610   
     611    add Branch Calorimeter/eflowTracks EFlowTrack Track
    920612    add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
    921     add Branch TimeOfFlightNeutralHadron/eflowNeutralHadrons EFlowNeutralHadron Tower
    922 
    923     add Branch EFlowMerger/eflow ParticleFlowCandidate ParticleFlowCandidate
    924 
    925     add Branch ElectronEfficiency/electrons Electron Electron
    926     add Branch MuonEfficiency/muons Muon Muon
    927     add Branch PhotonEfficiency/photons Photon Photon
    928 
    929     add Branch JetEnergyScale/jets Jet Jet
    930     add Branch MissingET/momentum MissingET MissingET
    931 
     613    add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
     614
     615    add Branch Calorimeter/photons CaloPhoton Photon
     616    add Branch PhotonEfficiency/photons PhotonEff Photon
     617    add Branch PhotonIsolation/photons PhotonIso Photon
     618   
    932619    add Branch GenJetFinder/jets GenJet Jet
    933620    add Branch GenMissingET/momentum GenMissingET MissingET
    934 
    935     # add Info InfoName InfoValue
    936     add Info Bz $B
    937 }
     621   
     622    add Branch UniqueObjectFinder/jets Jet Jet
     623    add Branch UniqueObjectFinder/electrons Electron Electron
     624    add Branch UniqueObjectFinder/photons Photon Photon
     625    add Branch UniqueObjectFinder/muons Muon Muon
     626   
     627    add Branch JetEnergyScale/jets AntiKtJet Jet 
     628   
     629    add Branch MissingET/momentum MissingET MissingET
     630    add Branch ScalarHT/energy ScalarHT ScalarHT
     631}
     632
  • classes/CMakeLists.txt

    rd612dec ra5af1df  
    99list(REMOVE_ITEM headers ${CMAKE_CURRENT_SOURCE_DIR}/ClassesLinkDef.h)
    1010
    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
     11DELPHES_GENERATE_DICTIONARY(ClassesDict
    2312  ${CMAKE_CURRENT_SOURCE_DIR}/DelphesModule.h
    2413  ${CMAKE_CURRENT_SOURCE_DIR}/DelphesFactory.h
    2514  ${CMAKE_CURRENT_SOURCE_DIR}/SortableObject.h
    2615  ${CMAKE_CURRENT_SOURCE_DIR}/DelphesClasses.h
    27     LINKDEF ClassesLinkDef.h
    28   )
    29 endif()
     16  LINKDEF ClassesLinkDef.h
     17)
    3018
    3119add_library(classes OBJECT ${sources} ClassesDict.cxx)
  • classes/ClassesLinkDef.h

    rd612dec ra5af1df  
    6262#pragma link C++ class Track+;
    6363#pragma link C++ class Tower+;
    64 #pragma link C++ class ParticleFlowCandidate+;
    6564#pragma link C++ class HectorHit+;
    6665
  • classes/DelphesClasses.cc

    rd612dec ra5af1df  
    2828
    2929#include "classes/DelphesClasses.h"
     30
    3031#include "classes/DelphesFactory.h"
    3132#include "classes/SortableObject.h"
     
    3940CompBase *Track::fgCompare = CompPT<Track>::Instance();
    4041CompBase *Tower::fgCompare = CompE<Tower>::Instance();
    41 CompBase *ParticleFlowCandidate::fgCompare = CompE<ParticleFlowCandidate>::Instance();
    4242CompBase *HectorHit::fgCompare = CompE<HectorHit>::Instance();
    4343CompBase *Vertex::fgCompare = CompSumPT2<Vertex>::Instance();
     
    104104{
    105105  TLorentzVector vec;
    106   vec.SetPtEtaPhiM(PT, Eta, Phi, Mass);
    107   return vec;
    108 }
    109 
    110 //------------------------------------------------------------------------------
    111 
    112 TMatrixDSym Track::CovarianceMatrix() const
    113 {
    114   TMatrixDSym Cv;
    115   Cv.ResizeTo(5, 5);
    116 
    117   // convert diagonal term to original units
    118   Cv(0, 0)=TMath::Power(ErrorD0, 2.);
    119   Cv(1, 1)=TMath::Power(ErrorPhi, 2.);
    120   Cv(2, 2)=TMath::Power(ErrorC, 2.);
    121   Cv(3, 3)=TMath::Power(ErrorDZ, 2.);
    122   Cv(4, 4)=TMath::Power(ErrorCtgTheta, 2.);
    123 
    124   // off diagonal terms
    125   Cv(0, 1)=ErrorD0Phi;
    126   Cv(0, 2)=ErrorD0C;
    127   Cv(0, 3)=ErrorD0DZ;
    128   Cv(0, 4)=ErrorD0CtgTheta;
    129   Cv(1, 2)=ErrorPhiC;
    130   Cv(1, 3)=ErrorPhiDZ;
    131   Cv(1, 4)=ErrorPhiCtgTheta;
    132   Cv(2, 3)=ErrorCDZ;
    133   Cv(2, 4)=ErrorCCtgTheta;
    134   Cv(3, 4)=ErrorDZCtgTheta;
    135 
    136   Cv(1, 0)=Cv(0, 1);
    137   Cv(2, 0)=Cv(0, 2);
    138   Cv(3, 0)=Cv(0, 3);
    139   Cv(4, 0)=Cv(0, 4);
    140   Cv(2, 1)=Cv(1, 2);
    141   Cv(3, 1)=Cv(1, 3);
    142   Cv(4, 1)=Cv(1, 4);
    143   Cv(3, 2)=Cv(2, 3);
    144   Cv(4, 2)=Cv(2, 4);
    145   Cv(4, 3)=Cv(3, 4);
    146 
    147   return Cv;
    148 }
    149 
     106  vec.SetPtEtaPhiM(PT, Eta, Phi, 0.0);
     107  return vec;
     108}
    150109
    151110//------------------------------------------------------------------------------
     
    156115  vec.SetPtEtaPhiM(ET, Eta, Phi, 0.0);
    157116  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;
    207117}
    208118
     
    215125  Flavor(0), FlavorAlgo(0), FlavorPhys(0),
    216126  BTag(0), BTagAlgo(0), BTagPhys(0),
    217   TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0), Etrk(0.0),
     127  TauTag(0), TauWeight(0.0), Eem(0.0), Ehad(0.0),
    218128  DeltaEta(0.0), DeltaPhi(0.0),
    219129  Momentum(0.0, 0.0, 0.0, 0.0),
     
    223133  PositionError(0.0, 0.0, 0.0, 0.0),
    224134  Area(0.0, 0.0, 0.0, 0.0),
    225   TrackCovariance(5),
    226135  L(0),
    227136  D0(0), ErrorD0(0),
    228137  DZ(0), ErrorDZ(0),
    229138  P(0), ErrorP(0),
    230   C(0), ErrorC(0),
    231139  PT(0), ErrorPT(0),
    232140  CtgTheta(0), ErrorCtgTheta(0),
    233141  Phi(0), ErrorPhi(0),
    234142  Xd(0), Yd(0), Zd(0),
    235   Nclusters(0.0),
    236   dNdx(0.0),
    237143  TrackResolution(0),
    238144  NCharged(0),
    239145  NNeutrals(0),
    240   NeutralEnergyFraction(0),  // charged energy fraction
    241   ChargedEnergyFraction(0),  // neutral energy fraction
    242146  Beta(0),
    243147  BetaStar(0),
     
    259163  ExclYmerge45(0),
    260164  ExclYmerge56(0),
    261   ParticleDensity(0),
    262165  fFactory(0),
    263166  fArray(0)
     
    381284  object.Eem = Eem;
    382285  object.Ehad = Ehad;
    383   object.Etrk = Etrk;
    384286  object.Edges[0] = Edges[0];
    385287  object.Edges[1] = Edges[1];
     
    402304  object.P = P;
    403305  object.ErrorP = ErrorP;
    404   object.C = C;
    405   object.ErrorC = ErrorC;
    406306  object.PT = PT;
    407307  object.ErrorPT = ErrorPT;
     
    413313  object.Yd = Yd;
    414314  object.Zd = Zd;
    415   object.Nclusters = Nclusters;
    416   object.dNdx = dNdx;
    417315  object.TrackResolution = TrackResolution;
    418316  object.NCharged = NCharged;
    419317  object.NNeutrals = NNeutrals;
    420   object.NeutralEnergyFraction = NeutralEnergyFraction;
    421   object.ChargedEnergyFraction = ChargedEnergyFraction;
    422318  object.Beta = Beta;
    423319  object.BetaStar = BetaStar;
     
    470366  object.SoftDroppedSubJet1 = SoftDroppedSubJet1;
    471367  object.SoftDroppedSubJet2 = SoftDroppedSubJet2;
    472   object.TrackCovariance = TrackCovariance;
     368
    473369  object.fFactory = fFactory;
    474370  object.fArray = 0;
     
    517413  Eem = 0.0;
    518414  Ehad = 0.0;
    519   Etrk = 0.0;
    520415  Edges[0] = 0.0;
    521416  Edges[1] = 0.0;
     
    529424  DecayPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
    530425  Area.SetXYZT(0.0, 0.0, 0.0, 0.0);
    531   TrackCovariance.Zero();
    532426  L = 0.0;
    533427  ErrorT = 0.0;
     
    538432  P = 0.0;
    539433  ErrorP = 0.0;
    540   C = 0.0;
    541   ErrorC = 0.0;
    542434  PT = 0.0;
    543435  ErrorPT = 0.0;
     
    549441  Yd = 0.0;
    550442  Zd = 0.0;
    551   Nclusters = 0.0;
    552   dNdx = 0.0;
    553443  TrackResolution = 0.0;
    554444  NCharged = 0;
  • classes/DelphesClasses.h

    rd612dec ra5af1df  
    3333
    3434#include "TLorentzVector.h"
    35 #include "TMatrixDSym.h"
    3635#include "TObject.h"
    3736#include "TRef.h"
     
    151150  Float_t Eta; // particle pseudorapidity
    152151  Float_t Phi; // particle azimuthal angle
     152
    153153  Float_t Rapidity; // particle rapidity
     154  Float_t CtgTheta; // particle cotangent of theta
     155
     156  Float_t D0; // particle transverse impact parameter
     157  Float_t DZ; // particle longitudinal impact parameter
    154158
    155159  Float_t T; // particle vertex position (t component) | hepevt.vhep[number][3]
     
    390394  Int_t NCharged; // number of charged constituents
    391395  Int_t NNeutrals; // number of neutral constituents
    392 
    393   Float_t NeutralEnergyFraction;  // charged energy fraction
    394   Float_t ChargedEnergyFraction;  // neutral energy fraction
    395 
    396396  Float_t Beta; // (sum pt of charged pile-up constituents)/(sum pt of charged constituents)
    397397  Float_t BetaStar; // (sum pt of charged constituents coming from hard interaction)/(sum pt of charged constituents)
     
    445445  Float_t Phi; // track azimuthal angle
    446446  Float_t CtgTheta; // track cotangent of theta
    447   Float_t C; // track curvature inverse
    448   Float_t Mass; // particle mass
    449447
    450448  Float_t EtaOuter; // track pseudorapidity at the tracker edge
     
    468466  Float_t D0; // track transverse impact parameter
    469467  Float_t DZ; // track longitudinal impact parameter
    470   Float_t Nclusters; // Number of ionization clusters
    471   Float_t dNdx; // Number of ionization clusters
    472468
    473469  Float_t ErrorP; // track momentum error
     
    479475  Float_t ErrorD0; // track transverse impact parameter error
    480476  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;
    494477
    495478  TRef Particle; // reference to generated particle
     
    501484
    502485  TLorentzVector P4() const;
    503   TMatrixDSym CovarianceMatrix() const;
    504486
    505487  ClassDef(Track, 3)
     
    522504  Float_t Eem; // calorimeter tower electromagnetic energy
    523505  Float_t Ehad; // calorimeter tower hadronic energy
    524   Float_t Etrk; // total charged energy hitting tower
    525506
    526507  Float_t Edges[4]; // calorimeter tower edges
     
    533514  TLorentzVector P4() const;
    534515
    535   ClassDef(Tower, 3)
    536 };
    537 
    538 //---------------------------------------------------------------------------
    539 
    540 class ParticleFlowCandidate: public SortableObject
    541 {
    542 
    543 public:
    544   Int_t PID; // HEP ID number
    545 
    546   Int_t Charge; // track charge
    547 
    548   Float_t E; // reconstructed energy [GeV]
    549   Float_t P; // track momentum
    550   Float_t PT; // track transverse momentum
    551   Float_t Eta; // track pseudorapidity
    552   Float_t Phi; // track azimuthal angle
    553   Float_t CtgTheta; // track cotangent of theta
    554   Float_t C; // track curvature inverse
    555   Float_t Mass; // particle mass
    556 
    557   Float_t EtaOuter; // track pseudorapidity at the tracker edge
    558   Float_t PhiOuter; // track azimuthal angle at the tracker edge
    559 
    560   Float_t T; // track vertex position (t component)
    561   Float_t X; // track vertex position (x component)
    562   Float_t Y; // track vertex position (y component)
    563   Float_t Z; // track vertex position (z component)
    564 
    565   Float_t TOuter; // track position (t component) at the tracker edge
    566   Float_t XOuter; // track position (x component) at the tracker edge
    567   Float_t YOuter; // track position (y component) at the tracker edge
    568   Float_t ZOuter; // track position (z component) at the tracker edge
    569 
    570   Float_t Xd; // X coordinate of point of closest approach to vertex
    571   Float_t Yd; // Y coordinate of point of closest approach to vertex
    572   Float_t Zd; // Z coordinate of point of closest approach to vertex
    573 
    574   Float_t L; // track path length
    575   Float_t D0; // track transverse impact parameter
    576   Float_t DZ; // track longitudinal impact parameter
    577   Float_t Nclusters; // Number of ionization clusters
    578   Float_t dNdx; // Number of ionization clusters
    579 
    580   Float_t ErrorP; // track momentum error
    581   Float_t ErrorPT; // track transverse momentum error
    582   Float_t ErrorPhi; // track azimuthal angle error
    583   Float_t ErrorCtgTheta; // track cotangent of theta error
    584 
    585   Float_t ErrorT; // time measurement error
    586   Float_t ErrorD0; // track transverse impact parameter error
    587   Float_t ErrorDZ; // track longitudinal impact parameter error
    588   Float_t ErrorC; // track curvature error
    589 
    590   // track covariance off-diagonal terms
    591   Float_t ErrorD0Phi;
    592   Float_t ErrorD0C;
    593   Float_t ErrorD0DZ;
    594   Float_t ErrorD0CtgTheta;
    595   Float_t ErrorPhiC;
    596   Float_t ErrorPhiDZ;
    597   Float_t ErrorPhiCtgTheta ;
    598   Float_t ErrorCDZ;
    599   Float_t ErrorCCtgTheta;
    600   Float_t ErrorDZCtgTheta;
    601 
    602   Int_t VertexIndex; // reference to vertex
    603 
    604   static CompBase *fgCompare; //!
    605   const CompBase *GetCompare() const { return fgCompare; }
    606 
    607   TLorentzVector P4() const;
    608   TMatrixDSym CovarianceMatrix() const;
    609 
    610   Int_t NTimeHits; // number of hits contributing to time measurement
    611 
    612   Float_t Eem; // calorimeter tower electromagnetic energy
    613   Float_t Ehad; // calorimeter tower hadronic energy
    614   Float_t Etrk; // total charged energy hitting tower
    615 
    616   Float_t Edges[4]; // calorimeter tower edges
    617 
    618   TRefArray Particles; // references to generated particles
    619 
    620   ClassDef(ParticleFlowCandidate, 3)
    621 
     516  ClassDef(Tower, 2)
    622517};
    623518
     
    715610  Float_t Eem;
    716611  Float_t Ehad;
    717   Float_t Etrk;
    718612
    719613  Float_t Edges[4];
     
    724618
    725619  Float_t L; // path length
    726   Float_t DZ;
    727   Float_t ErrorDZ;
    728620  Float_t ErrorT; // path length
    729621  Float_t D0;
    730622  Float_t ErrorD0;
    731   Float_t C;
    732   Float_t ErrorC;
     623  Float_t DZ;
     624  Float_t ErrorDZ;
    733625  Float_t P;
    734626  Float_t ErrorP;
     
    740632  Float_t ErrorPhi;
    741633
    742   Float_t Nclusters; // Number of ionization clusters
    743   Float_t dNdx; // Number of ionization clusters per unit length
    744 
    745634  Float_t Xd;
    746635  Float_t Yd;
     
    760649  Float_t PTD;
    761650  Float_t FracPt[5];
    762   Float_t NeutralEnergyFraction;  // charged energy fraction
    763   Float_t ChargedEnergyFraction;  // neutral energy fraction
    764 
    765651
    766652  // Timing information
     
    777663  Float_t SumPtChargedPU;
    778664  Float_t SumPt;
    779 
    780   // ACTS compliant 6x6 track covariance (D0, phi, Curvature, dz, ctg(theta))
    781 
    782   TMatrixDSym TrackCovariance;
    783665
    784666  // vertex variables
     
    816698  Double_t ExclYmerge56;
    817699
    818   // event characteristics variables
    819   Double_t ParticleDensity; // particle multiplicity density in the proximity of the particle
    820 
    821700  static CompBase *fgCompare; //!
    822701  const CompBase *GetCompare() const { return fgCompare; }
  • classes/DelphesFormula.cc

    rd612dec ra5af1df  
    1818
    1919#include "classes/DelphesFormula.h"
    20 #include "classes/DelphesClasses.h"
    2120
    2221#include "TString.h"
     
    6463  buffer.ReplaceAll("dz", "[1]");
    6564  buffer.ReplaceAll("ctgTheta", "[2]");
    66   buffer.ReplaceAll("radius", "[3]");
    67   buffer.ReplaceAll("density", "[4]");
    6865
    6966#if ROOT_VERSION_CODE < ROOT_VERSION(6, 3, 0)
     
    8077//------------------------------------------------------------------------------
    8178
    82 Double_t DelphesFormula::Eval(Double_t pt, Double_t eta, Double_t phi, Double_t energy, Candidate *candidate)
     79Double_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)
    8382{
    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    
    9483  Double_t x[4] = {pt, eta, phi, energy};
    95   Double_t params[5] = {d0, dz, ctgTheta, radius, density};
     84  Double_t params[3] = {d0, dz, ctgTheta};
    9685  return EvalPar(x, params);
    9786}
  • classes/DelphesFormula.h

    rd612dec ra5af1df  
    2222#include "TFormula.h"
    2323
    24 class Candidate;
    25 
    2624class DelphesFormula: public TFormula
    2725{
     
    3533  Int_t Compile(const char *expression);
    3634
    37   Double_t Eval(Double_t pt, Double_t eta = 0, Double_t phi = 0, Double_t energy = 0, Candidate *candidate = nullptr);
     35  Double_t Eval(Double_t pt, Double_t eta = 0, Double_t phi = 0,
     36    Double_t energy = 0, Double_t d0 = 0, Double_t dz = 0,
     37    Double_t ctgTheta = 0);
    3838};
    3939
  • classes/DelphesModule.cc

    rd612dec ra5af1df  
    130130//------------------------------------------------------------------------------
    131131
    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 
    149132ExRootResult *DelphesModule::GetPlots()
    150133{
  • classes/DelphesModule.h

    rd612dec ra5af1df  
    5555
    5656  ExRootTreeBranch *NewBranch(const char *name, TClass *cl);
    57   void AddInfo(const char *name, Double_t value);
    5857
    5958  ExRootResult *GetPlots();
  • classes/DelphesStream.cc

    rd612dec ra5af1df  
    106106
    107107//------------------------------------------------------------------------------
    108 
    109 bool DelphesStream::FindChr(int value)
    110 {
    111   char *position;
    112   bool result = false;
    113 
    114   position = strchr(fBuffer, value);
    115 
    116   if(position)
    117   {
    118     result = true;
    119     fBuffer = position + 1;
    120   }
    121 
    122   return result;
    123 }
    124 
    125 //------------------------------------------------------------------------------
    126 
    127 bool DelphesStream::FindStr(const char *value)
    128 {
    129   char *position;
    130   bool result = false;
    131 
    132   position = strstr(fBuffer, value);
    133 
    134   if(position)
    135   {
    136     result = true;
    137     fBuffer = position + strlen(value);
    138   }
    139 
    140   return result;
    141 }
    142 
    143 //------------------------------------------------------------------------------
  • classes/DelphesStream.h

    rd612dec ra5af1df  
    3535  bool ReadDbl(double &value);
    3636  bool ReadInt(int &value);
    37   bool FindChr(int value);
    38   bool FindStr(const char *value);
    3937
    4038private:
  • classes/DelphesTF2.cc

    rd612dec ra5af1df  
    3232{
    3333
    34 #if ROOT_VERSION_CODE >= ROOT_VERSION(6, 22, 7)
    35   fFormula = std::unique_ptr<TFormula>(new TFormula());
    36 #elif ROOT_VERSION_CODE >= ROOT_VERSION(6, 3, 0)
     34#if ROOT_VERSION_CODE >= ROOT_VERSION(6, 3, 0)
    3735  fFormula = new TFormula();
    3836#endif
  • converters/hepmc2pileup.cpp

    rd612dec ra5af1df  
    3535#include "classes/DelphesClasses.h"
    3636#include "classes/DelphesFactory.h"
    37 #include "classes/DelphesHepMC2Reader.h"
     37#include "classes/DelphesHepMCReader.h"
    3838#include "classes/DelphesPileUpWriter.h"
    3939
     
    6565  Candidate *candidate = 0;
    6666  DelphesPileUpWriter *writer = 0;
    67   DelphesHepMC2Reader *reader = 0;
     67  DelphesHepMCReader *reader = 0;
    6868  Int_t i;
    6969  Long64_t length, eventCounter;
     
    9898    itParticle = stableParticleOutputArray->MakeIterator();
    9999
    100     reader = new DelphesHepMC2Reader;
     100    reader = new DelphesHepMCReader;
    101101
    102102    i = 2;
  • doc/Makefile.arch

    rd612dec ra5af1df  
    3939OPT2          = -g
    4040else
     41ifneq ($(findstring debug, $(strip $(shell $(RC) --config))),)
     42OPT           = -g
     43OPT2          = -g
     44else
    4145OPT           = -O
    4246OPT2          = -O2
     47endif
    4348endif
    4449
     
    4752ROOTLIBS     := $(shell $(RC) --libs)
    4853ROOTGLIBS    := $(shell $(RC) --glibs)
    49 ROOTCLING    := rootcling
     54HASTHREAD    := $(shell $(RC) --has-thread)
     55ROOTCINT     := rootcint
    5056
    5157ifeq ($(PLATFORM),macosx)
    52 ROOTLIBDIR   := $(shell $(RC) --libdir)
    53 MACOSX_MAJOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1))
    54 MACOSX_MINOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2))
     58MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
    5559ifeq ($(MACOSX_DEPLOYMENT_TARGET),)
    56 MACOSXTARGET := $(MACOSX_MAJOR).$(MACOSX_MINOR)
     60MACOSXTARGET := 10.$(MACOSX_MINOR)
    5761else
    5862MACOSXTARGET := $(MACOSX_DEPLOYMENT_TARGET)
     
    114118SOFLAGS       = -shared
    115119DllSuf        = a
    116 EXPLLINKLIBS  = $(ROOTGLIBS)
     120EXPLLINKLIBS  = $(ROOTLIBS) $(ROOTGLIBS)
    117121endif
    118122
     
    142146LDFLAGS       = $(OPT)
    143147SOFLAGS       = -G
     148endif
     149
     150ifeq ($(ARCH),sgicc)
     151# SGI
     152CXX           = CC -n32  -I/usr/include/CC.sgi
     153CXXFLAGS      = $(OPT)
     154LD            = CC -n32 -LANG:std  -I/usr/include/CC.sgi
     155LDFLAGS       = $(OPT)
     156SOFLAGS       = -shared
     157endif
     158
     159ifeq ($(ARCH),sgicc64)
     160# SGI
     161CXX           = CC -64  -I/usr/include/CC.sgi
     162CXXFLAGS      = $(OPT)
     163LD            = CC -64 -LANG:std -I/usr/include/CC.sgi
     164LDFLAGS       = $(OPT)
     165SOFLAGS       = -shared
     166endif
     167
     168ifeq ($(ARCH),sgigcc)
     169# SGI 6.x with gcc
     170CXX           = g++
     171CXXFLAGS      = $(OPT) -Wall -fPIC
     172LD            = g++
     173LDFLAGS       = $(OPT) -Wl,-u,__builtin_new -Wl,-u,__builtin_delete -Wl,-u,__nw__FUiPv
     174SOFLAGS       = -shared
     175endif
     176
     177ifeq ($(ARCH),sgin32gcc)
     178# SGI 6.x with gcc for n32 ABI
     179CXX           = g++
     180CXXFLAGS      = $(OPT) -Wall -fPIC
     181LD            = g++
     182LDFLAGS       = $(OPT) -L/usr/lib32 -Wl,-woff,134 -lgen
     183SOFLAGS       = -shared
     184endif
     185
     186ifeq ($(ARCH),alphagcc)
     187# Alpha/OSF with gcc
     188CXX           = g++
     189CXXFLAGS      = $(OPT2) -Wall -fPIC
     190LD            = g++
     191LDFLAGS       = $(OPT2)
     192SOFLAGS       = -Wl,-expect_unresolved,* -shared
     193endif
     194
     195ifeq ($(ARCH),alphacxx6)
     196# Alpha/OSF with cxx6
     197CXX           = cxx
     198CXXFLAGS      = $(OPT)
     199LD            = cxx
     200LDFLAGS       = $(OPT)
     201SOFLAGS       = -shared -nocxxstd -Wl,-expect_unresolved,*,-msym
    144202endif
    145203
     
    224282endif
    225283
     284ifeq ($(ARCH),linuxalphagcc)
     285# Alpha Linux with gcc
     286CXX           = g++
     287CXXFLAGS      = $(OPT2) -Wall -fPIC
     288LD            = g++
     289LDFLAGS       = $(OPT2)
     290SOFLAGS       = -shared
     291endif
     292
     293ifeq ($(ARCH),linuxmips)
     294# GNU/Linux on mips (BE/LE, O32/N32/N64) with gcc
     295CXX           = g++
     296CXXFLAGS      = $(OPT2) -Wall -fPIC
     297LD            = g++
     298LDFLAGS       = $(OPT2)
     299SOFLAGS       = -shared
     300endif
     301
    226302ifeq ($(ARCH),linuxhppa)
    227303# GNU/Linux on hppa with gcc
     
    242318endif
    243319
    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 
    253320ifeq ($(ARCH),freebsd4)
    254321# FreeBSD with glibc
     
    293360LD            = g++
    294361LDFLAGS       = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET)
    295 EXPLLINKLIBS  = $(ROOTGLIBS)
     362EXPLLINKLIBS  = $(ROOTLIBS) $(ROOTGLIBS)
     363# The SOFLAGS will be used to create the .dylib,
     364# the .so will be created separately
     365ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
    296366DllSuf        = so
     367else
     368DllSuf        = dylib
     369endif
     370ifneq ($(subst $(MACOSX_MINOR),,12),12)
     371LD            = g++
     372endif
    297373SOFLAGS       = -dynamiclib -single_module -install_name $(CURDIR)/
    298374endif
     
    300376ifeq ($(ARCH),macosxicc)
    301377# MacOS X with Intel icc compiler
     378ifeq ($(MACOSX_MINOR),5)
     379MACOSX_MINOR := 4
     380endif
    302381CXX           = icc
    303382CXXFLAGS      = $(OPT) -fPIC -wd1476
    304383LD            = icpc
    305384LDFLAGS       = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET)
    306 EXPLLINKLIBS  = $(ROOTGLIBS)
     385EXPLLINKLIBS  = $(ROOTLIBS) $(ROOTGLIBS)
     386# The SOFLAGS will be used to create the .dylib,
     387# the .so will be created separately
     388ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
    307389DllSuf        = so
     390else
     391DllSuf        = dylib
     392endif
    308393SOFLAGS       = -dynamiclib -single_module -install_name $(CURDIR)/
    309394endif
     
    315400CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
    316401LD            = g++
    317 LDFLAGS       = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET) -Wl,-rpath,$(ROOTLIBDIR)
    318 EXPLLINKLIBS  = $(ROOTGLIBS)
     402LDFLAGS       = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET)
     403EXPLLINKLIBS  = $(ROOTLIBS) $(ROOTGLIBS)
     404# The SOFLAGS will be used to create the .dylib,
     405# the .so will be created separately
     406ifeq ($(subst $(MACOSX_MINOR),,1234),1234)
    319407DllSuf        = so
    320 SOFLAGS       = -dynamiclib -single_module -install_name $(CURDIR)/
    321 endif
    322 
    323 ifeq ($(ARCH),macosxarm64)
    324 # Apple Silicon running macOS 11.x.
    325 CXX           = g++
    326 CXXFLAGS      = $(OPT2) -pipe -Wall -W -Woverloaded-virtual
    327 LD            = g++
    328 LDFLAGS       = $(OPT2) -mmacosx-version-min=$(MACOSXTARGET)  -Wl,-rpath,$(ROOTLIBDIR)
    329 EXPLLINKLIBS  = $(ROOTGLIBS)
    330 DllSuf        = so
     408else
     409DllSuf        = dylib
     410endif
    331411SOFLAGS       = -dynamiclib -single_module -install_name $(CURDIR)/
    332412endif
     
    346426LDOPT         = -debug
    347427else
     428ifneq ($(findstring debug, $(strip $(shell $(RC) --config))),)
     429CXXOPT        = -Z7
     430LDOPT         = -debug
     431else
    348432CXXOPT        = -O2
    349433LDOPT         = -opt:ref
     434endif
    350435endif
    351436ROOTINCDIR   := -I$(shell cygpath -m `$(RC) --incdir`)
     
    355440SOFLAGS       = -DLL
    356441
    357 EXPLLINKLIBS  = $(ROOTGLIBS)
     442EXPLLINKLIBS  = $(ROOTLIBS) $(ROOTGLIBS)
    358443ifneq (,$(findstring $(VC_MAJOR),14 15))
    359444MT_EXE        = mt -nologo -manifest $@.manifest -outputresource:$@\;1; rm -f $@.manifest
     
    377462SOFLAGS       = -shared -Wl,--enable-auto-image-base \
    378463                -Wl,--export-all-symbols
    379 EXPLLINKLIBS  = $(ROOTGLIBS)
     464EXPLLINKLIBS  = $(ROOTLIBS) $(ROOTGLIBS)
    380465endif
    381466
     
    386471CXXFLAGS     += $(ROOTCFLAGS)
    387472LDFLAGS      += $(ROOTLDFLAGS)
    388 LIBS          = $(ROOTLIBS)
    389 GLIBS         = $(ROOTGLIBS)
     473LIBS          = $(ROOTLIBS) $(SYSLIBS)
     474GLIBS         = $(ROOTGLIBS) $(SYSLIBS)
    390475
    391476ifneq ($(ALTCC),)
  • doc/genMakefile.tcl

    rd612dec ra5af1df  
    282282DISPLAYLIB = libDelphesDisplay.lib
    283283
    284 VERSION = x.y.z
     284VERSION = $(shell cat VERSION)
    285285DISTDIR = Delphes-$(VERSION)
    286286DISTTAR = $(DISTDIR).tar.gz
     
    292292executableDeps {converters/*.cpp} {examples/*.cpp} {validation/*.cpp}
    293293
    294 executableDeps {readers/DelphesHepMC2.cpp} {readers/DelphesHepMC3.cpp} {readers/DelphesLHEF.cpp} {readers/DelphesSTDHEP.cpp} {readers/DelphesROOT.cpp}
     294executableDeps {readers/DelphesHepMC.cpp} {readers/DelphesLHEF.cpp} {readers/DelphesSTDHEP.cpp} {readers/DelphesROOT.cpp}
    295295
    296296puts {ifeq ($(HAS_CMSSW),true)}
     
    321321dictDeps {DISPLAY_DICT} {display/DisplayLinkDef.h}
    322322
    323 sourceDeps {DELPHES} {classes/*.cc} {modules/*.cc} {external/ExRootAnalysis/*.cc} {external/Hector/*.cc} {external/TrackCovariance/*.cc}
     323sourceDeps {DELPHES} {classes/*.cc} {modules/*.cc} {external/ExRootAnalysis/*.cc} {external/Hector/*.cc}
    324324
    325325sourceDeps {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}
     
    346346        @mkdir -p $(@D)
    347347        @echo ">> Building $@"
     348ifeq ($(ARCH),aix5)
     349        @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^
     350else
    348351ifeq ($(PLATFORM),macosx)
     352# We need to make both the .dylib and the .so
    349353        @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS)
     354ifneq ($(subst $(MACOSX_MINOR),,1234),1234)
     355ifeq ($(MACOSX_MINOR),4)
     356        @ln -sf $@ $(subst .$(DllSuf),.so,$@)
     357endif
     358endif
    350359else
    351360ifeq ($(PLATFORM),win32)
     
    356365else
    357366        @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS)
     367        @$(MT_DLL)
     368endif
    358369endif
    359370endif
     
    362373        @mkdir -p $(@D)
    363374        @echo ">> Building $@"
     375ifeq ($(ARCH),aix5)
     376        @$(MAKESHARED) $(OutPutOpt) $@ $(DELPHES_LIBS) -p 0 $^
     377else
    364378ifeq ($(PLATFORM),macosx)
     379# We need to make both the .dylib and the .so
    365380        @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS)
     381ifneq ($(subst $(MACOSX_MINOR),,1234),1234)
     382ifeq ($(MACOSX_MINOR),4)
     383        @ln -sf $@ $(subst .$(DllSuf),.so,$@)
     384endif
     385endif
    366386else
    367387ifeq ($(PLATFORM),win32)
     
    372392else
    373393        @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DELPHES_LIBS)
     394        @$(MT_DLL)
     395endif
    374396endif
    375397endif
     
    378400        @mkdir -p $(@D)
    379401        @echo ">> Building $@"
     402ifeq ($(ARCH),aix5)
     403        @$(MAKESHARED) $(OutPutOpt) $@ $(DISPLAY_LIBS) -p 0 $^
     404else
    380405ifeq ($(PLATFORM),macosx)
     406# We need to make both the .dylib and the .so
    381407        @$(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS)
     408ifneq ($(subst $(MACOSX_MINOR),,1234),1234)
     409ifeq ($(MACOSX_MINOR),4)
     410        @ln -sf $@ $(subst .$(DllSuf),.so,$@)
     411endif
     412endif
    382413else
    383414ifeq ($(PLATFORM),win32)
     
    388419else
    389420        @$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(DISPLAY_LIBS)
     421        @$(MT_DLL)
     422endif
    390423endif
    391424endif
     
    401434        @echo ">> Building $(DISTTAR)"
    402435        @mkdir -p $(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)
     436        @cp -a AUTHORS CHANGELOG CMakeLists.txt COPYING DelphesEnv.sh LICENSE NOTICE README README_4LHCb VERSION Makefile MinBias.pileup configure cards classes converters display doc examples external modules python readers validation $(DISTDIR)
    404437        @find $(DISTDIR) -depth -name .\* -exec rm -rf {} \;
    405438        @tar -czf $(DISTTAR) $(DISTDIR)
  • doc/update_fastjet.sh

    rd612dec ra5af1df  
    1 version=3.3.4
     1version=3.3.2
    22
    33wget http://fastjet.fr/repo/fastjet-${version}.tar.gz
     
    1111./configure --enable-allcxxplugins --disable-auto-ptr
    1212cd -
     13
     14echo ${version} > fastjet/VERSION
    1315
    1416cd fastjet
  • examples/Example5.C

    rd612dec ra5af1df  
    3737    // Load selected branches with data from specified event
    3838    treeReader->ReadEntry(entry);
    39 
     39   
    4040    if(entry>10) break;
    41 
     41   
    4242    cout<<"" <<endl;
    4343    cout<<"--------- New Event ---------" <<endl;
    4444    cout<<"" <<endl;
    45 
     45 
    4646    // loop over all input particles in the event
    4747    for(Int_t i=0; i < branchParticle->GetEntriesFast(); i++)
    48     {
    49      GenParticle *gen = (GenParticle*) branchParticle->At(i);
    50      cout<<"N: "<<i<<", St: "<<gen->Status<<", PID: "<<gen->PID<<", E: "<<gen->E<<", Px: "<<gen->Px<<", Py: "<<gen->Py<<", Pz: "<<gen->Pz<<", M: "<<gen->Mass<<", T: "<<gen->T<<", X: "<<gen->X<<", Y: "<<gen->Y<<", Z: "<<gen->Z<<", M1: "<<gen->M1<<", M2: "<<gen->M2<<", D1: "<<gen->D1<<", D2: "<<gen->D2<<endl;
     48    {   
     49     GenParticle *gen = (GenParticle*) branchParticle->At(i);     
     50     cout<<"N: "<<i<<", St: "<<gen->Status<<", PID: "<<gen->PID<<", E: "<<gen->E<<", Px: "<<gen->Px<<", Py: "<<gen->Py<<", Pz: "<<gen->Pz<<", M: "<<gen->Mass<<", M1: "<<gen->M1<<", M2: "<<gen->M2<<", D1: "<<gen->D1<<", D2: "<<gen->D2<<endl;
    5151    }
    5252  }
  • external/CMakeLists.txt

    rd612dec ra5af1df  
    44add_subdirectory(tcl)
    55add_subdirectory(PUPPI)
    6 add_subdirectory(TrackCovariance)
  • external/ExRootAnalysis/CMakeLists.txt

    rd612dec ra5af1df  
    66file(GLOB sources *.cc)
    77file(GLOB headers *.h)
    8 
    98list(REMOVE_ITEM headers ${CMAKE_CURRENT_SOURCE_DIR}/ExRootAnalysisLinkDef.h)
    109
    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()
     10DELPHES_GENERATE_DICTIONARY(ExRootAnalysisDict ${headers} LINKDEF ExRootAnalysisLinkDef.h)
    2911
    3012add_library(ExRootAnalysis OBJECT ${sources} ExRootAnalysisDict.cxx)
  • external/ExRootAnalysis/ExRootTreeReader.cc

    rd612dec ra5af1df  
    1212#include "TBranchElement.h"
    1313#include "TCanvas.h"
    14 #include "TParameter.h"
    1514#include "TClonesArray.h"
    1615#include "TH2.h"
     
    120119//------------------------------------------------------------------------------
    121120
    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 
    135121Bool_t ExRootTreeReader::Notify()
    136122{
  • external/ExRootAnalysis/ExRootTreeReader.h

    rd612dec ra5af1df  
    2929
    3030  TClonesArray *UseBranch(const char *branchName);
    31   Double_t GetInfo(const char *name);
    3231
    3332private:
  • external/ExRootAnalysis/ExRootTreeWriter.cc

    rd612dec ra5af1df  
    1111#include "ExRootAnalysis/ExRootTreeBranch.h"
    1212
    13 #include "TParameter.h"
    1413#include "TClonesArray.h"
    1514#include "TFile.h"
     
    4948  fBranches.insert(branch);
    5049  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));
    5950}
    6051
  • external/ExRootAnalysis/ExRootTreeWriter.h

    rd612dec ra5af1df  
    2828  void SetTreeName(const char *name) { fTreeName = name; }
    2929
    30   TTree* GetTree() { return fTree; }
    31   void SetTree(TTree* t) { fTree = t; }
    32 
    3330  ExRootTreeBranch *NewBranch(const char *name, TClass *cl);
    34   void AddInfo(const char *name, Double_t value);
    3531
    3632  void Clear();
  • external/fastjet/ActiveAreaSpec.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ActiveAreaSpec.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ActiveAreaSpec.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/AreaDefinition.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: AreaDefinition.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: AreaDefinition.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/AreaDefinition.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: AreaDefinition.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: AreaDefinition.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2006-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/BasicRandom.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: BasicRandom.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: BasicRandom.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/CircularRange.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: CircularRange.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: CircularRange.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClosestPair2D.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClosestPair2D.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequence.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequence.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
     
    254254      // in a similar way.
    255255      if (_Rparam > pi) {
    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) );
     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) );
    260260      } else {
    261         _R2    = 2 * ( 1.0 - cos(_Rparam) );
     261        _R2    = 2 * ( 1.0 - cos(_Rparam) );
    262262      }
    263263      _invR2 = 1.0/_R2;
     
    439439  (*ostr) << "# for scientific work and optionally PLB641(2006)57 [hep-ph/0512210].   \n";
    440440  (*ostr) << "#                                                                       \n";
    441   (*ostr) << "# FastJet is provided without warranty under the GNU GPL v2 or higher.  \n";
     441  (*ostr) << "# FastJet is provided without warranty under the terms of the GNU GPLv2.\n";
    442442  (*ostr) << "# It uses T. Chan's closest pair algorithm, S. Fortune's Voronoi code";
    443443#ifndef DROP_CGAL
  • external/fastjet/ClusterSequence.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: ClusterSequence.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: ClusterSequence.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/ClusterSequence1GhostPassiveArea.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence1GhostPassiveArea.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequence1GhostPassiveArea.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequence1GhostPassiveArea.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence1GhostPassiveArea.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequence1GhostPassiveArea.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceActiveArea.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceActiveArea.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequenceActiveArea.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceActiveArea.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequenceActiveArea.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceActiveAreaExplicitGhosts.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequenceActiveAreaExplicitGhosts.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequenceActiveAreaExplicitGhosts.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceArea.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceArea.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequenceArea.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2006-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceArea.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequenceArea.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceAreaBase.cc

    rd612dec ra5af1df  
    11
    22//FJSTARTHEADER
    3 // $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
     3// $Id: ClusterSequenceAreaBase.cc 4354 2018-04-22 07:12:37Z salam $
     4//
     5// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    66//
    77//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceAreaBase.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequenceAreaBase.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequencePassiveArea.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequencePassiveArea.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequencePassiveArea.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequencePassiveArea.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequencePassiveArea.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequencePassiveArea.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceStructure.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequenceStructure.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceStructure.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequenceStructure.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceVoronoiArea.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequenceVoronoiArea.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceVoronoiArea.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceVoronoiArea.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequenceVoronoiArea.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequenceWithArea.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceWithArea.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequenceWithArea.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2006-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2006-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequence_CP2DChan.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequence_CP2DChan.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequence_Delaunay.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClusterSequence_Delaunay.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequence_DumbN3.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence_DumbN3.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequence_DumbN3.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequence_N2.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence_N2.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequence_N2.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/ClusterSequence_TiledN2.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence_TiledN2.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClusterSequence_TiledN2.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/CompositeJetStructure.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: CompositeJetStructure.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: CompositeJetStructure.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/CompositeJetStructure.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: CompositeJetStructure.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/Dnn2piCylinder.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: Dnn2piCylinder.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/Dnn3piCylinder.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Dnn3piCylinder.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Dnn3piCylinder.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/Dnn4piCylinder.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Dnn4piCylinder.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Dnn4piCylinder.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/DnnPlane.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: DnnPlane.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: DnnPlane.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/Error.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Error.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Error.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/Error.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: Error.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: Error.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/FunctionOfPseudoJet.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: FunctionOfPseudoJet.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: FunctionOfPseudoJet.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/FunctionOfPseudoJet.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: FunctionOfPseudoJet.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: FunctionOfPseudoJet.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/GhostedAreaSpec.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: GhostedAreaSpec.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: GhostedAreaSpec.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/GhostedAreaSpec.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: GhostedAreaSpec.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/JetDefinition.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: JetDefinition.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/JetDefinition.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: JetDefinition.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/LazyTiling25.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: LazyTiling25.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: LazyTiling25.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/LazyTiling9.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: LazyTiling9.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: LazyTiling9.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/LazyTiling9Alt.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: LazyTiling9Alt.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: LazyTiling9Alt.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/LazyTiling9SeparateGhosts.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: LazyTiling9SeparateGhosts.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: LazyTiling9SeparateGhosts.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/LimitedWarning.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: LimitedWarning.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: LimitedWarning.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/LimitedWarning.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: LimitedWarning.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: LimitedWarning.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/MinHeap.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: MinHeap.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: MinHeap.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
     
    110110
    111111    // now compare current location to children (at 2*loc+1, 2*loc+2)
    112     //ValueLoc * child = &(_heap[2*loc+1]);
    113     // GPS 2020-04-07: changed the way the following line
    114     //   is expressed, so as to work around issue reported by
    115     //   Andrii Verbyitskyi where compilation with gcc's
    116     //   -D_GLIBCXX_ASSERTIONS=1  -D_GLIBCXX_SANITIZE_VECTOR=1
    117     //   results in a crash because the compiler thinks we
    118     //   are accessing the vector at a location that is sometimes
    119     //   invalid, whereas we are just getting the address
    120     ValueLoc * child = &(_heap[0]) + (2*loc+1);
     112    ValueLoc * child = &(_heap[2*loc+1]);
    121113    if (child < heap_end && child->minloc->value < here->minloc->value ) {
    122114      here->minloc = child->minloc;
  • external/fastjet/NNBase.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: NNBase.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: NNBase.hh 4355 2018-04-22 15:38:54Z salam $
    66//
    7 // Copyright (c) 2016-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2016-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/NNFJN2Plain.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: NNFJN2Plain.hh 4355 2018-04-22 15:38:54Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/NNFJN2Tiled.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: NNFJN2Tiled.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: NNFJN2Tiled.hh 4355 2018-04-22 15:38:54Z salam $
    66//
    7 // Copyright (c) 2016-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2016-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/NNH.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: NNH.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/PseudoJet.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: PseudoJet.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/PseudoJet.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: PseudoJet.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: PseudoJet.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/PseudoJetStructureBase.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: PseudoJetStructureBase.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/PseudoJetStructureBase.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: PseudoJetStructureBase.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/RangeDefinition.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: RangeDefinition.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: RangeDefinition.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/RangeDefinition.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: RangeDefinition.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: RangeDefinition.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/RectangularGrid.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: RectangularGrid.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: RectangularGrid.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/RectangularGrid.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: RectangularGrid.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: RectangularGrid.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/Selector.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Selector.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Selector.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/Selector.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: Selector.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/SharedPtr.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: SharedPtr.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/TilingExtent.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: TilingExtent.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: TilingExtent.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/Voronoi.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Voronoi.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Voronoi.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/WrappedStructure.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: WrappedStructure.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/config_auto.h

    rd612dec ra5af1df  
    8787/* #undef HAVE_EXPLICIT_FOR_OPERATORS */
    8888
    89 /* Define to 1 if you have the <gmp.h> header file. */
    90 /* #undef HAVE_GMP_H */
    91 
    9289/* compiler supports GNU c++ deprecated attribute */
    9390#ifndef FASTJET_HAVE_GNUCXX_DEPRECATED
     
    110107#endif
    111108
    112 /* Define to 1 if you have the <mpfr.h> header file. */
    113 /* #undef HAVE_MPFR_H */
    114 
    115109/* compiler supports the "override" keyword */
    116110/* #undef HAVE_OVERRIDE */
     
    173167/* Define to the full name and version of this package. */
    174168#ifndef FASTJET_PACKAGE_STRING
    175 #define FASTJET_PACKAGE_STRING  "FastJet 3.3.4"
     169#define FASTJET_PACKAGE_STRING  "FastJet 3.3.2"
    176170#endif
    177171
     
    188182/* Define to the version of this package. */
    189183#ifndef FASTJET_PACKAGE_VERSION
    190 #define FASTJET_PACKAGE_VERSION  "3.3.4"
     184#define FASTJET_PACKAGE_VERSION  "3.3.2"
    191185#endif
    192186
     
    198192/* Version number of package */
    199193#ifndef FASTJET_VERSION
    200 #define FASTJET_VERSION  "3.3.4"
     194#define FASTJET_VERSION  "3.3.2"
    201195#endif
    202196
     
    213207/* Version of the package under the form XYYZZ (instead of X.Y.Z) */
    214208#ifndef FASTJET_VERSION_NUMBER
    215 #define FASTJET_VERSION_NUMBER  30304
     209#define FASTJET_VERSION_NUMBER  30302
    216210#endif
    217211
    218212/* Patch version of this package */
    219213#ifndef FASTJET_VERSION_PATCHLEVEL
    220 #define FASTJET_VERSION_PATCHLEVEL  4
     214#define FASTJET_VERSION_PATCHLEVEL  2
    221215#endif
    222216
  • external/fastjet/config_raw.h

    rd612dec ra5af1df  
    5757/* #undef HAVE_EXPLICIT_FOR_OPERATORS */
    5858
    59 /* Define to 1 if you have the <gmp.h> header file. */
    60 /* #undef HAVE_GMP_H */
    61 
    6259/* compiler supports GNU c++ deprecated attribute */
    6360#define HAVE_GNUCXX_DEPRECATED /**/
     
    7168/* Define to 1 if you have the <memory.h> header file. */
    7269#define HAVE_MEMORY_H 1
    73 
    74 /* Define to 1 if you have the <mpfr.h> header file. */
    75 /* #undef HAVE_MPFR_H */
    7670
    7771/* compiler supports the "override" keyword */
     
    112106
    113107/* Define to the full name and version of this package. */
    114 #define PACKAGE_STRING "FastJet 3.3.4"
     108#define PACKAGE_STRING "FastJet 3.3.2"
    115109
    116110/* Define to the one symbol short name of this package. */
     
    121115
    122116/* Define to the version of this package. */
    123 #define PACKAGE_VERSION "3.3.4"
     117#define PACKAGE_VERSION "3.3.2"
    124118
    125119/* Define to 1 if you have the ANSI C header files. */
     
    127121
    128122/* Version number of package */
    129 #define VERSION "3.3.4"
     123#define VERSION "3.3.2"
    130124
    131125/* Major version of this package */
     
    136130
    137131/* Version of the package under the form XYYZZ (instead of X.Y.Z) */
    138 #define VERSION_NUMBER 30304
     132#define VERSION_NUMBER 30302
    139133
    140134/* Patch version of this package */
    141 #define VERSION_PATCHLEVEL 4
     135#define VERSION_PATCHLEVEL 2
    142136
    143137/* Pre-release version of this package */
  • external/fastjet/config_win.h

    rd612dec ra5af1df  
    1 #define FASTJET_PACKAGE_STRING  "FastJet 3.3.4"
    2 #define FASTJET_PACKAGE_VERSION  "3.3.4"
    3 #define FASTJET_VERSION  "3.3.4"
     1#define FASTJET_PACKAGE_STRING  "FastJet 3.3.2"
     2#define FASTJET_PACKAGE_VERSION  "3.3.2"
     3#define FASTJET_VERSION  "3.3.2"
    44#define FASTJET_VERSION_MAJOR       3
    55#define FASTJET_VERSION_MINOR       3
    6 #define FASTJET_VERSION_PATCHLEVEL  4
    7 #define FASTJET_VERSION_NUMBER      30304
     6#define FASTJET_VERSION_PATCHLEVEL  2
     7#define FASTJET_VERSION_NUMBER      30302
    88
    99/* The ATLASCone plugin is disabled by default*/
  • external/fastjet/contribs/RecursiveTools/AUTHORS

    rd612dec ra5af1df  
    2828   Recursive Soft Drop.
    2929   Frederic A. Dreyer, Lina Necib, Gregory Soyez, and Jesse Thaler
    30    JHEP 1806:093 (2018), arXiv:1804.03657
     30   arXiv:1804.03657
    3131   
  • external/fastjet/contribs/RecursiveTools/ChangeLog

    rd612dec ra5af1df  
    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 
    1912018-05-29  Jesse Thaler  <jthaler@jthaler.net>
    202
  • external/fastjet/contribs/RecursiveTools/NEWS

    rd612dec ra5af1df  
    1 2020/03/03: release of version 2.0.0 with updated readme
    2 
    312018/05/31: release of version 2.0.0-beta2 with corrected syntax
    42
  • external/fastjet/contribs/RecursiveTools/README

    rd612dec ra5af1df  
    100100A default SoftDrop groomer can be created via:
    101101
     102   double z_cut = 0.10;
    102103   double beta  = 2.0;
    103    double z_cut = 0.10;
    104104   double R0    = 1.0; // this is the default value
    105    SoftDrop sd(beta,z_cut,R0);
     105   SoftDrop sd(z_cut,beta,R0);
    106106
    107107and acts on a desired jet as
     
    137137further substructure is found (i.e. corresponds to taking N=infinity).
    138138
     139   double z_cut = 0.10;
    139140   double beta  = 2.0;
    140    double z_cut = 0.10;
    141141   double R0    = 1.0; // this is the default value
    142142   int N        = -1; 
    143    RecursiveSoftDrop rsd(beta, z_cut, N, R0);
     143   RecursiveSoftDrop rsd(z_cut, beta, N, R0);
    144144
    145145One then acts on a jet as
     
    217217not met, only the hardest of the two objects is kept for further
    218218clustering 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)
    231219
    232220------------------------------------------------------------------------
  • external/fastjet/contribs/RecursiveTools/RecursiveSoftDrop.cc

    rd612dec ra5af1df  
    1 // $Id: RecursiveSoftDrop.cc 1192 2018-10-30 16:08:36Z gsoyez $
     1// $Id: RecursiveSoftDrop.cc 1111 2018-04-04 10:06:11Z gsoyez $
    22//
    33// Copyright (c) 2017-, Gavin P. Salam, Gregory Soyez, Jesse Thaler,
     
    148148  const vector<PseudoJet> &cs_jets = cs->jets();
    149149
    150   // initialise counter to 1 subjet (i.e. the full ca_jet)
     150  // initialize counter to 1 subjet (i.e. the full ca_jet)
    151151  int n_tagged = 0;
    152152  int max_njet = ca_jet.constituents().size();
     
    163163 
    164164  // create a priority queue containing the subjets and a comparison definition
     165  // initialise to the full ca_jet
    165166  priority_queue<internal_recursive_softdrop::RSDHistoryElement*, vector<internal_recursive_softdrop::RSDHistoryElement*>, internal_recursive_softdrop::OrderRSDHistoryElements> active_branches;
    166167  active_branches.push(& (history[0]));
     
    168169  PseudoJet parent, piece1, piece2;
    169170  double sym, mu2;
     171
     172  // which R0 to use
     173  //double R0sqr = _R0sqr;
    170174 
    171175  // loop over C/A tree until we reach the appropriate number of subjets
    172176  while ((continue_grooming(n_tagged)) && (active_branches.size())) {
    173     // get the element corresponding to the max dR and the associated PJ
     177    // get the element corresponding to the max dR
     178    // and the associated PJ
    174179    internal_recursive_softdrop::RSDHistoryElement * elm = active_branches.top();
    175180    PseudoJet parent = cs_jets[cs_history[elm->current_in_ca_tree].jetp_index];
     
    212217      active_branches.pop();
    213218      // tagging failed and the softest branch should be dropped
    214       // keep track of what has been groomed away
     219      // keep track of what has een groomed away
    215220      max_njet -= piece2.constituents().size();
    216221      elm->dropped_delta_R .push_back((elm->theta_squared >= 0) ? sqrt(elm->theta_squared) : -sqrt(elm->theta_squared));
     
    218223      elm->dropped_mu      .push_back((mu2>=0) ? sqrt(mu2) : -sqrt(mu2));
    219224     
    220       // keep the hardest branch in the recursion
     225      // keep the hardest bhanch in the recursion
    221226      elm->reset(piece1, this);
    222227      active_branches.push(elm);
     
    251256    const internal_recursive_softdrop::RSDHistoryElement & elm = history[history_index];
    252257
    253     // two kinds of events: either just a final leave, potentially with grooming
     258    // two kinds of events: either just a final leave, poteitially with grooming
    254259    // or a brandhing (also with potential grooming at the end)
    255260    if (elm.child1_in_history<0){
    256       // this is a leaf, i.e. with no further substructure
     261      // this is a leaf, i.e. with no further sustructure
    257262      PseudoJet & subjet = mapped_to_history[history_index]
    258263        = cs_jets[cs_history[elm.current_in_ca_tree].jetp_index];
     
    298303  const vector<PseudoJet> &cs_jets = cs->jets();
    299304
    300   // initialise counter to 1 subjet (i.e. the full ca_jet)
     305  // initialize counter to 1 subjet (i.e. the full ca_jet)
    301306  int n_depth = 0;
    302307  int max_njet = ca_jet.constituents().size();
     
    314319 
    315320  // create a priority queue containing the subjets and a comparison definition
     321  // initialize counter to 1 subjet (i.e. the full ca_jet)
    316322  list<internal_recursive_softdrop::RSDHistoryElement*> active_branches;
    317323  active_branches.push_back(& (history[0]));
     
    323329    list<internal_recursive_softdrop::RSDHistoryElement*>::iterator hist_it=active_branches.begin();
    324330    while (hist_it!=active_branches.end()){
    325       // get the element corresponding to the max dR and the associated PJ
     331      // get the element corresponding to the max dR
     332      // and the associated PJ
    326333      internal_recursive_softdrop::RSDHistoryElement * elm = (*hist_it);
    327334      PseudoJet parent = cs_jets[cs_history[elm->current_in_ca_tree].jetp_index];
  • external/fastjet/contribs/RecursiveTools/RecursiveSoftDrop.hh

    rd612dec ra5af1df  
    1 // $Id: RecursiveSoftDrop.hh 1192 2018-10-30 16:08:36Z gsoyez $
     1// $Id: RecursiveSoftDrop.hh 1082 2017-10-10 12:00:13Z gsoyez $
    22//
    33// Copyright (c) 2014-, Gavin P. Salam, Gregory Soyez, Jesse Thaler,
     
    2424#define __RECURSIVESOFTDROP_HH__
    2525
    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
    3026#include "Recluster.hh"
    31 #endif
    3227#include "SoftDrop.hh"
    3328#include "fastjet/WrappedStructure.hh"
  • external/fastjet/internal/ClosestPair2D.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: ClosestPair2D.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/ClosestPair2DBase.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ClosestPair2DBase.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ClosestPair2DBase.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/ClusterSequence_N2.icc

    rd612dec ra5af1df  
    77// $Id: ClusterSequence_N2.cc 1351 2009-01-09 18:03:03Z salam $
    88//
    9 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     9// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    1010//
    1111//----------------------------------------------------------------------
  • external/fastjet/internal/Dnn2piCylinder.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: Dnn2piCylinder.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/Dnn3piCylinder.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: Dnn3piCylinder.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/Dnn4piCylinder.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Dnn4piCylinder.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Dnn4piCylinder.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/DnnPlane.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: DnnPlane.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/DynamicNearestNeighbours.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: DynamicNearestNeighbours.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: DynamicNearestNeighbours.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/IsBase.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: IsBase.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: IsBase.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/LazyTiling25.hh

    rd612dec ra5af1df  
    55
    66//FJSTARTHEADER
    7 // $Id: LazyTiling25.hh 4442 2020-05-05 07:50:11Z soyez $
     7// $Id: LazyTiling25.hh 4354 2018-04-22 07:12:37Z salam $
    88//
    9 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     9// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    1010//
    1111//----------------------------------------------------------------------
  • external/fastjet/internal/LazyTiling9.hh

    rd612dec ra5af1df  
    55
    66//FJSTARTHEADER
    7 // $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
     7// $Id: LazyTiling9.hh 4354 2018-04-22 07:12:37Z salam $
     8//
     9// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    1010//
    1111//----------------------------------------------------------------------
  • external/fastjet/internal/LazyTiling9Alt.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: LazyTiling9Alt.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/internal/LazyTiling9SeparateGhosts.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: LazyTiling9SeparateGhosts.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: LazyTiling9SeparateGhosts.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/internal/LimitedWarning.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: LimitedWarning.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: LimitedWarning.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/internal/MinHeap.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: MinHeap.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: MinHeap.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/SearchTree.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: SearchTree.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: SearchTree.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/internal/TilingExtent.hh

    rd612dec ra5af1df  
    55
    66//FJSTARTHEADER
    7 // $Id: TilingExtent.hh 4442 2020-05-05 07:50:11Z soyez $
     7// $Id: TilingExtent.hh 4354 2018-04-22 07:12:37Z salam $
    88//
    9 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     9// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    1010//
    1111//----------------------------------------------------------------------
  • external/fastjet/internal/Triangulation.hh

    rd612dec ra5af1df  
    44
    55//FJSTARTHEADER
    6 // $Id: Triangulation.hh 4442 2020-05-05 07:50:11Z soyez $
     6// $Id: Triangulation.hh 4354 2018-04-22 07:12:37Z salam $
    77//
    8 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     8// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    99//
    1010//----------------------------------------------------------------------
  • external/fastjet/internal/Voronoi.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: Voronoi.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/internal/base.hh

    rd612dec ra5af1df  
    11
    22//FJSTARTHEADER
    3 // $Id: base.hh 4442 2020-05-05 07:50:11Z soyez $
     3// $Id: base.hh 4354 2018-04-22 07:12:37Z salam $
    44//
    5 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     5// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    66//
    77//----------------------------------------------------------------------
  • external/fastjet/internal/deprecated.hh

    rd612dec ra5af1df  
    11
    22//FJSTARTHEADER
    3 // $Id: deprecated.hh 4442 2020-05-05 07:50:11Z soyez $
     3// $Id: deprecated.hh 4354 2018-04-22 07:12:37Z salam $
    44//
    5 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     5// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    66//
    77//----------------------------------------------------------------------
     
    3939// define a deprecation macro based on the capabilities of the compiler
    4040// (as determined at configure time).
    41 #if defined(FASTJET_HAVE_CXX14_DEPRECATED) && (!defined(__FJCORE__))
     41#if defined(FASTJET_HAVE_CXX14_DEPRECATED) and (!defined(__FJCORE__))
    4242#define FASTJET_DEPRECATED               [[deprecated]]
    4343#define FASTJET_DEPRECATED_MSG(message)  [[deprecated(message)]]
  • external/fastjet/internal/numconsts.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: numconsts.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: numconsts.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/ATLASCone/ATLASConePlugin.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ATLASConePlugin.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ATLASConePlugin.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/ATLASCone/fastjet/ATLASConePlugin.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: ATLASConePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: ATLASConePlugin.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/CDFCones/CDFJetCluPlugin.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: CDFJetCluPlugin.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: CDFJetCluPlugin.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/CDFCones/CDFMidPointPlugin.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: CDFMidPointPlugin.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: CDFMidPointPlugin.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/CDFCones/fastjet/CDFJetCluPlugin.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: CDFJetCluPlugin.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: CDFJetCluPlugin.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/CDFCones/fastjet/CDFMidPointPlugin.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: CDFMidPointPlugin.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: CDFMidPointPlugin.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/CMSIterativeCone/CMSIterativeConePlugin.cc

    rd612dec ra5af1df  
    22// $Id: CMSIterativeConePlugin.cc 1504 2009-04-10 13:39:48Z salam $
    33//
    4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/CMSIterativeCone/fastjet/CMSIterativeConePlugin.hh

    rd612dec ra5af1df  
    22// $Id: CMSIterativeConePlugin.hh 1508 2009-04-10 22:46:49Z soyez $
    33//
    4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/D0RunICone/D0RunIBaseConePlugin.cc

    rd612dec ra5af1df  
    22// $Id: D0RunIBaseConePlugin.cc 1779 2010-10-25 10:32:59Z soyez $
    33//
    4 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/D0RunICone/fastjet/D0RunIBaseConePlugin.hh

    rd612dec ra5af1df  
    55// $Id: D0RunIBaseConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $
    66//
    7 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/plugins/D0RunICone/fastjet/D0RunIConePlugin.hh

    rd612dec ra5af1df  
    55// $Id: D0RunIConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $
    66//
    7 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/plugins/D0RunICone/fastjet/D0RunIpre96ConePlugin.hh

    rd612dec ra5af1df  
    55// $Id: D0RunIpre96ConePlugin.hh 1778 2010-10-25 10:02:58Z soyez $
    66//
    7 // Copyright (c) 2009-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2009-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/plugins/D0RunIICone/D0RunIIConePlugin.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: D0RunIIConePlugin.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: D0RunIIConePlugin.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/D0RunIICone/fastjet/D0RunIIConePlugin.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: D0RunIIConePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: D0RunIIConePlugin.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/plugins/EECambridge/EECambridgePlugin.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: EECambridgePlugin.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: EECambridgePlugin.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/EECambridge/fastjet/EECambridgePlugin.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: EECambridgePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: EECambridgePlugin.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/plugins/GridJet/GridJetPlugin.cc

    rd612dec ra5af1df  
    22// $Id: GridJetPlugin.cc 2268 2011-06-20 15:12:26Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/GridJet/fastjet/GridJetPlugin.hh

    rd612dec ra5af1df  
    55// $Id: GridJetPlugin.hh 2267 2011-06-20 15:10:23Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/plugins/Jade/JadePlugin.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: JadePlugin.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
     
    108108    // get a number that is almost the same as max(), just a little
    109109    // smaller so as to ensure that when we divide it by rt2E and then
    110     // multiply it again, we won't get an overflow.
    111     // Watch out for cases where rt2E < 1.0 (cf. bug fix from
    112     // andrii.verbytskyi@mpp.mpg.de on 2019-02-14)
     110    // multiply it again, we won't get an overflow
    113111    const double almost_max = numeric_limits<double>::max() * (1 - 1e-13);
    114     if (rt2E>1.0) return almost_max / rt2E;
    115     else          return almost_max;
     112    return almost_max / rt2E;
    116113  }
    117114 
  • external/fastjet/plugins/Jade/fastjet/JadePlugin.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: JadePlugin.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: JadePlugin.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/plugins/NestedDefs/NestedDefsPlugin.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: NestedDefsPlugin.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: NestedDefsPlugin.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/NestedDefs/fastjet/NestedDefsPlugin.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: NestedDefsPlugin.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: NestedDefsPlugin.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/SISCone/AUTHORS

    rd612dec ra5af1df  
    66             France
    77
    8          (2) Rudolf Peierls Centre for Theoretical Physics, Parks Road, Oxford OX1 3PU, UK;
    9              PH-TH, CERN, CH-1211 Geneva 23, Switzerland;
     8         (2) PH-TH, CERN, CH-1211 Geneva 23, Switzerland;
    109             LPTHE, UPMC (Univ. Paris 6), 75252 Paris cedex 05, France.
    1110
     11phone  : +33 69 08 40 11
     12         +41 22 767 2462
     13
    1214email  : soyez@fastjet.fr
    13          gavin.salam@physics.ox.ac.uk
     15         gavin.salam@cern.ch
  • external/fastjet/plugins/SISCone/config.h

    rd612dec ra5af1df  
    8383/* Define to the full name and version of this package. */
    8484#ifndef SISCONE_PACKAGE_STRING
    85 #define SISCONE_PACKAGE_STRING  "SISCone 3.0.5"
     85#define SISCONE_PACKAGE_STRING  "SISCone 3.0.4"
    8686#endif
    8787
     
    9898/* Define to the version of this package. */
    9999#ifndef SISCONE_PACKAGE_VERSION
    100 #define SISCONE_PACKAGE_VERSION  "3.0.5"
     100#define SISCONE_PACKAGE_VERSION  "3.0.4"
    101101#endif
    102102
     
    111111/* Version number of package */
    112112#ifndef SISCONE_VERSION
    113 #define SISCONE_VERSION  "3.0.5"
     113#define SISCONE_VERSION  "3.0.4"
    114114#endif
    115115 
  • external/fastjet/plugins/SISCone/config_raw.h

    rd612dec ra5af1df  
    4848
    4949/* Define to the full name and version of this package. */
    50 #define PACKAGE_STRING "SISCone 3.0.5"
     50#define PACKAGE_STRING "SISCone 3.0.4"
    5151
    5252/* Define to the one symbol short name of this package. */
     
    5757
    5858/* Define to the version of this package. */
    59 #define PACKAGE_VERSION "3.0.5"
     59#define PACKAGE_VERSION "3.0.4"
    6060
    6161/* Define to 1 if you have the ANSI C header files. */
     
    6666
    6767/* Version number of package */
    68 #define VERSION "3.0.5"
     68#define VERSION "3.0.4"
  • external/fastjet/plugins/SISCone/geom_2d.h

    rd612dec ra5af1df  
    2222// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
    2323//                                                                           //
    24 // $Revision:: 422                                                          $//
    25 // $Date:: 2020-04-22 11:51:09 +0200 (Wed, 22 Apr 2020)                     $//
     24// $Revision:: 268                                                          $//
     25// $Date:: 2009-03-12 21:24:16 +0100 (Thu, 12 Mar 2009)                     $//
    2626///////////////////////////////////////////////////////////////////////////////
    2727
     
    153153  /// return the cell index corrsponding to an eta value
    154154  inline unsigned int get_eta_cell(double eta){
    155     return (unsigned int) (1u << ((int) (32*((eta-eta_min)/(eta_max-eta_min)))));
     155    return (unsigned int) (1 << ((int) (32*((eta-eta_min)/(eta_max-eta_min)))));
    156156  }
    157157
    158158  /// return the cell index corrsponding to a phi value
    159159  inline unsigned int get_phi_cell(double phi){
    160     return (unsigned int) (1u << ((int) (32*phi/twopi+16)%32));
     160    return (unsigned int) (1 << ((int) (32*phi/twopi+16)%32));
    161161  }
    162162};
  • external/fastjet/plugins/TrackJet/TrackJetPlugin.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: TrackJetPlugin.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/plugins/TrackJet/fastjet/TrackJetPlugin.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: TrackJetPlugin.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: TrackJetPlugin.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2007-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2007-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/BackgroundEstimatorBase.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: BackgroundEstimatorBase.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: BackgroundEstimatorBase.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/BackgroundEstimatorBase.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: BackgroundEstimatorBase.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/tools/Boost.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Boost.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Boost.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/CASubJetTagger.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: CASubJetTagger.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: CASubJetTagger.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/CASubJetTagger.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: CASubJetTagger.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/Filter.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Filter.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Filter.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/Filter.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: Filter.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/tools/GridMedianBackgroundEstimator.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: GridMedianBackgroundEstimator.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/GridMedianBackgroundEstimator.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: GridMedianBackgroundEstimator.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/tools/JHTopTagger.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: JHTopTagger.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: JHTopTagger.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/JHTopTagger.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: JHTopTagger.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/tools/JetMedianBackgroundEstimator.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: JetMedianBackgroundEstimator.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/JetMedianBackgroundEstimator.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: JetMedianBackgroundEstimator.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: JetMedianBackgroundEstimator.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/tools/MassDropTagger.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: MassDropTagger.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: MassDropTagger.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/MassDropTagger.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: MassDropTagger.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: MassDropTagger.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/Pruner.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: Pruner.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/Pruner.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $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
     5// $Id: Pruner.hh 4354 2018-04-22 07:12:37Z salam $
     6//
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/tools/RestFrameNSubjettinessTagger.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: RestFrameNSubjettinessTagger.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: RestFrameNSubjettinessTagger.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/RestFrameNSubjettinessTagger.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: RestFrameNSubjettinessTagger.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: RestFrameNSubjettinessTagger.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/tools/Subtractor.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: Subtractor.cc 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/Subtractor.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $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
     2// $Id: Subtractor.hh 4354 2018-04-22 07:12:37Z salam $
     3//
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/TopTaggerBase.cc

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: TopTaggerBase.cc 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: TopTaggerBase.cc 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/tools/TopTaggerBase.hh

    rd612dec ra5af1df  
    33
    44//FJSTARTHEADER
    5 // $Id: TopTaggerBase.hh 4442 2020-05-05 07:50:11Z soyez $
     5// $Id: TopTaggerBase.hh 4354 2018-04-22 07:12:37Z salam $
    66//
    7 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     7// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    88//
    99//----------------------------------------------------------------------
  • external/fastjet/tools/Transformer.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: Transformer.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: Transformer.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • external/fastjet/version.hh

    rd612dec ra5af1df  
    11//FJSTARTHEADER
    2 // $Id: version.hh 4442 2020-05-05 07:50:11Z soyez $
     2// $Id: version.hh 4354 2018-04-22 07:12:37Z salam $
    33//
    4 // Copyright (c) 2005-2020, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     4// Copyright (c) 2005-2018, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
    55//
    66//----------------------------------------------------------------------
  • modules/AngularSmearing.cc

    rd612dec ra5af1df  
    9898{
    9999  Candidate *candidate, *mother;
    100   Double_t pt, eta, phi, e, m;
     100  Double_t pt, eta, phi, e;
    101101
    102102  fItInputArray->Reset();
    103103  while((candidate = static_cast<Candidate *>(fItInputArray->Next())))
    104104  {
     105    const TLorentzVector &candidatePosition = candidate->Position;
    105106    const TLorentzVector &candidateMomentum = candidate->Momentum;
    106     eta = candidateMomentum.Eta();
    107     phi = candidateMomentum.Phi();
     107    eta = candidatePosition.Eta();
     108    phi = candidatePosition.Phi();
    108109    pt = candidateMomentum.Pt();
    109110    e = candidateMomentum.E();
    110     m = candidateMomentum.M();
    111111
    112112    // apply smearing formula for eta,phi
    113     eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e, candidate));
    114     phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e, candidate));
     113
     114    eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e));
     115    phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e));
    115116
    116117    if(pt <= 0.0) continue;
     
    118119    mother = candidate;
    119120    candidate = static_cast<Candidate *>(candidate->Clone());
    120     candidate->Momentum.SetPtEtaPhiM(pt, eta, phi, m);
     121    eta = candidateMomentum.Eta();
     122    phi = candidateMomentum.Phi();
     123    candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt * TMath::CosH(eta));
    121124    candidate->AddCandidate(mother);
    122125
  • modules/Calorimeter.cc

    rd612dec ra5af1df  
    231231  fItParticleInputArray->Reset();
    232232  number = -1;
    233   fTowerRmax=0.;
    234233  while((particle = static_cast<Candidate *>(fItParticleInputArray->Next())))
    235234  {
    236235    const TLorentzVector &particlePosition = particle->Position;
    237236    ++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();
    242237
    243238    pdgCode = TMath::Abs(particle->PID);
     
    455450
    456451    fTower->AddCandidate(particle);
    457     fTower->Position = position;
    458452  }
    459453
     
    467461{
    468462  Candidate *track, *tower, *mother;
    469   Double_t energy, pt, eta, phi, r;
     463  Double_t energy, pt, eta, phi;
    470464  Double_t ecalEnergy, hcalEnergy;
    471465  Double_t ecalNeutralEnergy, hcalNeutralEnergy;
     
    517511  for(size_t i = 0; i < fTower->ECalEnergyTimePairs.size(); ++i)
    518512  {
    519     weight = TMath::Power((fTower->ECalEnergyTimePairs[i].first),2);
     513    weight = TMath::Sqrt(fTower->ECalEnergyTimePairs[i].first);
    520514    sumWeightedTime += weight * fTower->ECalEnergyTimePairs[i].second;
    521515    sumWeight += weight;
     
    523517  }
    524518
    525   // check whether barrel or endcap tower
    526   if (fTower->Position.Perp() < fTowerRmax && TMath::Abs(eta) > 0.)
    527     r = fTower->Position.Z()/TMath::SinH(eta);
     519  if(sumWeight > 0.0)
     520  {
     521    fTower->Position.SetPtEtaPhiE(1.0, eta, phi, sumWeightedTime / sumWeight);
     522  }
    528523  else
    529     r = fTower->Position.Pt();
    530 
    531   if(sumWeight > 0.0)
    532   {
    533     fTower->Position.SetPtEtaPhiE(r, eta, phi, sumWeightedTime / sumWeight);
    534   }
    535   else
    536   {
    537     fTower->Position.SetPtEtaPhiE(r, eta, phi, 999999.9);
     524  {
     525    fTower->Position.SetPtEtaPhiE(1.0, eta, phi, 999999.9);
    538526  }
    539527
     
    571559  if(ecalNeutralEnergy > fECalEnergyMin && ecalNeutralSigma > fECalEnergySignificanceMin)
    572560  {
    573     // create new photon tower assuming null mass
     561    // create new photon tower
    574562    tower = static_cast<Candidate *>(fTower->Clone());
    575563    pt = ecalNeutralEnergy / TMath::CosH(eta);
     
    658646      track = static_cast<Candidate *>(track->Clone());
    659647      track->AddCandidate(mother);
     648
    660649      track->Momentum *= rescaleFactor;
    661       track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M());
    662650
    663651      fEFlowTrackOutputArray->Add(track);
  • modules/Calorimeter.h

    rd612dec ra5af1df  
    6060  Double_t fTimingEnergyMin;
    6161  Bool_t fElectronsFromTrack;
    62   Double_t fTowerRmax;
    6362
    6463  Int_t fTowerTrackHits, fTowerPhotonHits;
  • modules/Delphes.cc

    rd612dec ra5af1df  
    6161  fFactory(0)
    6262{
    63   TFolder *folder;
    64 
     63  TFolder *folder = new TFolder(name, "");
    6564  fFactory = new DelphesFactory("ObjectFactory");
    66 
    67   folder = new TFolder(name, "");
    6865
    6966  SetName(name);
     
    8380  if(folder)
    8481  {
    85     gROOT->GetListOfBrowsables()->Remove(folder);
    8682    folder->Clear();
    8783    delete folder;
  • modules/DenseTrackFilter.cc

    rd612dec ra5af1df  
    237237
    238238  Candidate *candidate, *track;
    239   Double_t pt, eta, phi, m;
     239  Double_t pt, eta, phi;
    240240  Int_t numberOfCandidates;
    241241
     
    251251  eta = candidate->Momentum.Eta();
    252252  phi = candidate->Momentum.Phi();
    253   m = candidate->Momentum.M();
    254 
    255253  eta = gRandom->Gaus(eta, fEtaPhiRes);
    256254  phi = gRandom->Gaus(phi, fEtaPhiRes);
    257   candidate->Momentum.SetPtEtaPhiM(pt, eta, phi, m);
     255  candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt * TMath::CosH(eta));
    258256  candidate->AddCandidate(track);
    259257
  • modules/DualReadoutCalorimeter.cc

    rd612dec ra5af1df  
    2424  // This implementation of dual calorimetry relies on several approximations:
    2525  // - 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. 
    2727  //   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.
    2828
     
    6363  fItParticleInputArray(0), fItTrackInputArray(0)
    6464{
    65 
     65 
    6666  fECalResolutionFormula = new DelphesFormula;
    6767  fHCalResolutionFormula = new DelphesFormula;
     
    7575  fTowerTrackArray = new TObjArray;
    7676  fItTowerTrackArray = fTowerTrackArray->MakeIterator();
    77 
     77 
    7878}
    7979
     
    8282DualReadoutCalorimeter::~DualReadoutCalorimeter()
    8383{
    84 
     84 
    8585  if(fECalResolutionFormula) delete fECalResolutionFormula;
    8686  if(fHCalResolutionFormula) delete fHCalResolutionFormula;
     
    9494  if(fTowerTrackArray) delete fTowerTrackArray;
    9595  if(fItTowerTrackArray) delete fItTowerTrackArray;
    96 
     96 
    9797}
    9898
     
    172172  fECalEnergyMin = GetDouble("ECalEnergyMin", 0.0);
    173173  fHCalEnergyMin = GetDouble("HCalEnergyMin", 0.0);
    174   fEnergyMin = GetDouble("EnergyMin", 0.0);
    175174
    176175  fECalEnergySignificanceMin = GetDouble("ECalEnergySignificanceMin", 0.0);
    177176  fHCalEnergySignificanceMin = GetDouble("HCalEnergySignificanceMin", 0.0);
    178   fEnergySignificanceMin = GetDouble("EnergySignificanceMin", 0.0);
    179177
    180178  // switch on or off the dithering of the center of DualReadoutCalorimeter towers
     
    247245  fItParticleInputArray->Reset();
    248246  number = -1;
    249   fTowerRmax=0.;
    250 
    251   //cout<<"--------- new event ---------- "<<endl;
    252 
    253247  while((particle = static_cast<Candidate*>(fItParticleInputArray->Next())))
    254248  {
    255249    const TLorentzVector &particlePosition = particle->Position;
    256250    ++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();
    261251
    262252    pdgCode = TMath::Abs(particle->PID);
     
    387377      fHCalTrackEnergy = 0.0;
    388378      fTrackEnergy = 0.0;
    389 
     379     
    390380      fECalTrackSigma = 0.0;
    391381      fHCalTrackSigma = 0.0;
    392382      fTrackSigma = 0.0;
    393 
     383     
    394384      fTowerTrackHits = 0;
    395385      fTowerPhotonHits = 0;
    396 
    397       fTowerTime = 0.0;
    398       fTowerTimeWeight = 0.0;
    399386
    400387      fECalTowerTrackArray->Clear();
    401388      fHCalTowerTrackArray->Clear();
    402389      fTowerTrackArray->Clear();
    403 
     390   
    404391    }
    405392
     
    425412      }
    426413
     414     
     415      /*
     416      if(fECalTrackFractions[number] > 1.0E-9 && fHCalTrackFractions[number] < 1.0E-9)
     417      {
     418        fECalTrackEnergy += ecalEnergy;
     419        ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E());       
     420        if(ecalSigma/momentum.E() < track->TrackResolution) energyGuess = ecalEnergy;       
     421        else energyGuess = momentum.E();
     422
     423        fECalTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess;
     424        fECalTowerTrackArray->Add(track);
     425      }
     426     
     427      else if(fECalTrackFractions[number] < 1.0E-9 && fHCalTrackFractions[number] > 1.0E-9)
     428      {
     429        fHCalTrackEnergy += hcalEnergy;
     430        hcalSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E());
     431        if(hcalSigma/momentum.E() < track->TrackResolution) energyGuess = hcalEnergy;
     432        else energyGuess = momentum.E();
     433
     434        fHCalTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess;
     435        fHCalTowerTrackArray->Add(track);
     436      }
     437     
     438      // muons
     439      else if(fECalTrackFractions[number] < 1.0E-9 && fHCalTrackFractions[number] < 1.0E-9)
     440      {
     441        fEFlowTrackOutputArray->Add(track);
     442      }
     443      */
     444     
    427445      // in Dual Readout we do not care if tracks are ECAL of HCAL
    428446      if(fECalTrackFractions[number] > 1.0E-9 || fHCalTrackFractions[number] > 1.0E-9)
    429       {
     447      { 
    430448        fTrackEnergy += energy;
    431         // this sigma will be used to determine whether neutral excess is significant. We choose the resolution according to bthe higest deposited fraction (in practice had for charged hadrons and em for electrons)
     449        // this sigma will be used to determine whether neutral excess is significant. We choose the resolution according to bthe higest deposited fraction (in practice had for charged hadrons and em for electrons)     
    432450        sigma = 0.0;
    433451        if(fHCalTrackFractions[number] > 0)
     
    435453        else
    436454          sigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E());
    437 
    438         if(sigma/momentum.E() < track->TrackResolution)
    439           energyGuess = ecalEnergy + hcalEnergy;
     455         
     456        if(sigma/momentum.E() < track->TrackResolution) 
     457          energyGuess = ecalEnergy + hcalEnergy;     
    440458        else
    441459          energyGuess = momentum.E();
    442 
     460             
    443461        fTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess;
    444462        fTowerTrackArray->Add(track);
     463     
    445464      }
    446465      else
     
    459478    position = particle->Position;
    460479
    461 
    462480    // fill current tower
    463481    ecalEnergy = momentum.E() * fECalTowerFractions[number];
     
    467485    fHCalTowerEnergy += hcalEnergy;
    468486
    469     // assume combined timing measurements in ECAL/HCAL sections
    470     fTowerTime += (ecalEnergy + hcalEnergy) * position.T(); //sigma_t ~ 1/sqrt(E)
    471     fTowerTimeWeight += ecalEnergy + hcalEnergy;
     487    if(ecalEnergy > fTimingEnergyMin && fTower)
     488    {
     489      if (abs(particle->PID) != 11 || !fElectronsFromTrack)
     490      {
     491        fTower->ECalEnergyTimePairs.push_back(make_pair<Float_t, Float_t>(ecalEnergy, particle->Position.T()));
     492      }
     493    }
    472494
    473495    fTower->AddCandidate(particle);
    474     fTower->Position = position;
    475496  }
    476497
     
    485506
    486507  Candidate *track, *tower, *mother;
    487   Double_t energy, pt, eta, phi, r, time;
     508  Double_t energy, pt, eta, phi;
    488509  Double_t ecalEnergy, hcalEnergy;
    489510  Double_t ecalNeutralEnergy, hcalNeutralEnergy, neutralEnergy;
    490 
     511 
    491512  Double_t ecalSigma, hcalSigma, sigma;
    492513  Double_t ecalNeutralSigma, hcalNeutralSigma, neutralSigma;
    493514
    494515  Double_t weightTrack, weightCalo, bestEnergyEstimate, rescaleFactor;
    495 
     516 
    496517  TLorentzVector momentum;
    497518  TFractionMap::iterator itFractionMap;
     
    501522  if(!fTower) return;
    502523
    503   // if no hadronic energy, use ECAL resolution
     524
     525  //if (fHCalTowerEnergy < 30 && fECalTowerEnergy < 30) return;
     526  //cout<<"----------- New tower ---------"<<endl;
     527
     528
     529  // here we change behaviour w.r.t to standard calorimeter. Start with worse case scenario. If fHCalTowerEnergy > 0, assume total energy smeared by HCAL resolution.
     530  // For example, if overlapping charged pions and photons take hadronic resolution as combined measurement
     531
     532  // if no hadronic fraction at all, then use ECAL resolution
     533
     534  //cout<<"fECalTowerEnergy: "<<fECalTowerEnergy<<", fHCalTowerEnergy: "<<fHCalTowerEnergy<<", Eta: "<<fTowerEta<<endl;
     535
     536  // if no hadronic energy, use ECAL resolution
    504537  if (fHCalTowerEnergy <= fHCalEnergyMin)
    505538  {
    506539    energy = fECalTowerEnergy;
    507540    sigma  = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, energy);
    508   }
    509 
    510   // if hadronic fraction > 0, use HCAL resolution
     541    //cout<<"em energy"<<energy<<", sigma: "<<sigma<<endl;
     542  }
     543
     544  // if hadronic fraction > 0, use HCAL resolution
    511545  else
    512546  {
    513547    energy = fECalTowerEnergy + fHCalTowerEnergy;
    514548    sigma  = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, energy);
     549    //cout<<"had energy: "<<energy<<", sigma: "<<sigma<<endl;
    515550  }
    516551
    517552  energy = LogNormal(energy, sigma);
    518 
     553  //cout<<energy<<","<<ecalEnergy<<","<<hcalEnergy<<endl;
     554 
    519555  if(energy < fEnergyMin || energy < fEnergySignificanceMin*sigma) energy = 0.0;
    520556
     
    526562  hcalEnergy = LogNormal(fHCalTowerEnergy, hcalSigma);
    527563
    528   time = (fTowerTimeWeight < 1.0E-09) ? 0.0 : fTowerTime / fTowerTimeWeight;
    529 
    530564  ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, ecalEnergy);
    531565  hcalSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, hcalEnergy);
     
    534568  if(hcalEnergy < fHCalEnergyMin || hcalEnergy < fHCalEnergySignificanceMin*hcalSigma) hcalEnergy = 0.0;
    535569
     570  //cout<<"Measured energy: "<<energy<<endl;
     571
    536572  if(fSmearTowerCenter)
    537573  {
     
    547583  pt = energy / TMath::CosH(eta);
    548584
    549   // check whether barrel or endcap tower
    550 
    551   // endcap
    552   if (TMath::Abs(fTower->Position.Pt() - fTowerRmax) > 1.e-06 && TMath::Abs(eta) > 0.){
    553     r = fTower->Position.Z()/TMath::SinH(eta);
    554   }
    555   // barrel
    556   else {
    557     r = fTower->Position.Pt();
    558   }
    559 
    560   fTower->Position.SetPtEtaPhiE(r, eta, phi, time);
    561   fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy);
    562   fTower->L = fTower->Position.Vect().Mag();
     585  // Time calculation for tower
     586  fTower->NTimeHits = 0;
     587  sumWeightedTime = 0.0;
     588  sumWeight = 0.0;
     589
     590  for(size_t i = 0; i < fTower->ECalEnergyTimePairs.size(); ++i)
     591  {
     592    weight = TMath::Sqrt(fTower->ECalEnergyTimePairs[i].first);
     593    sumWeightedTime += weight * fTower->ECalEnergyTimePairs[i].second;
     594    sumWeight += weight;
     595    fTower->NTimeHits++;
     596  }
     597
     598  if(sumWeight > 0.0)
     599  {
     600    fTower->Position.SetPtEtaPhiE(1.0, eta, phi, sumWeightedTime/sumWeight);
     601  }
     602  else
     603  {
     604    fTower->Position.SetPtEtaPhiE(1.0, eta, phi, 999999.9);
     605  }
    563606
    564607  fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy);
    565608  fTower->Eem = ecalEnergy;
    566609  fTower->Ehad = hcalEnergy;
    567   fTower->Etrk = fTrackEnergy;
     610
    568611  fTower->Edges[0] = fTowerEdges[0];
    569612  fTower->Edges[1] = fTowerEdges[1];
     
    581624
    582625  // fill energy flow candidates
    583 
     626 
    584627  fTrackSigma = TMath::Sqrt(fTrackSigma);
    585628  neutralEnergy = max( (energy - fTrackEnergy) , 0.0);
    586629  neutralSigma = neutralEnergy / TMath::Sqrt(fTrackSigma*fTrackSigma + sigma*sigma);
    587630
     631  //cout<<"trackEnergy: "<<fTrackEnergy<<", trackSigma: "<<fTrackSigma<<", Ntracks: "<<fTowerTrackArray->GetEntries()<<endl;
     632
     633  //cout<<"neutralEnergy: "<<neutralEnergy<<", neutralSigma: "<<neutralSigma<<endl;
     634
     635   // For now, if neutral excess is significant, simply create neutral EflowPhoton tower and clone each track into eflowtrack !!! -> Creating only photons !! EFlowNeutralHadron collection will be empy!!! TO BE FIXED
    588636  if(neutralEnergy > fEnergyMin && neutralSigma > fEnergySignificanceMin)
    589637  {
     638   
     639    //cout<<"significant neutral excess found:"<<endl;
    590640    // create new photon tower
    591641    tower = static_cast<Candidate*>(fTower->Clone());
    592     pt = neutralEnergy / TMath::CosH(eta);
     642    pt =  neutralEnergy / TMath::CosH(eta);
     643    //cout<<"Creating tower with Pt, Eta, Phi, Energy: "<<pt<<","<<eta<<","<<phi<<","<<neutralEnergy<<endl;
    593644    tower->Momentum.SetPtEtaPhiE(pt, eta, phi, neutralEnergy);
    594 
    595     // if no hadronic energy, use ECAL resolution
    596     if (fHCalTowerEnergy <= fHCalEnergyMin)
    597     {
    598       tower->Eem = neutralEnergy;
    599       tower->Ehad = 0.0;
    600       tower->PID = 22;
    601       fEFlowPhotonOutputArray->Add(tower);
    602     }
    603     // if hadronic fraction > 0, use HCAL resolution
    604     else
    605     {
    606       tower->Eem = 0;
    607       tower->Ehad = neutralEnergy;
    608       tower->PID = 130;
    609       fEFlowNeutralHadronOutputArray->Add(tower);
    610     }
     645    tower->Eem = neutralEnergy;
     646    tower->Ehad = 0.0;
     647    tower->PID = 22;
     648
     649    fEFlowPhotonOutputArray->Add(tower);
     650
    611651
    612652    //clone tracks
     
    614654    while((track = static_cast<Candidate*>(fItTowerTrackArray->Next())))
    615655    {
     656      //cout<<"looping over tracks"<<endl;
    616657      mother = track;
    617658      track = static_cast<Candidate*>(track->Clone());
     
    621662  }
    622663
    623 
     664 
    624665  // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the DualReadoutCalorimeter and tracking
    625666  else if(fTrackEnergy > 0.0)
     
    629670    weightCalo  = (sigma > 0.0) ? 1 / (sigma*sigma) : 0.0;
    630671
    631     bestEnergyEstimate = (weightTrack*fTrackEnergy + weightCalo*energy) / (weightTrack + weightCalo);
     672    bestEnergyEstimate = (weightTrack*fTrackEnergy + weightCalo*energy) / (weightTrack + weightCalo); 
    632673    rescaleFactor = bestEnergyEstimate/fTrackEnergy;
    633674
     
    635676    fItTowerTrackArray->Reset();
    636677    while((track = static_cast<Candidate*>(fItTowerTrackArray->Next())))
    637     {
     678    { 
    638679      mother = track;
    639       track = static_cast<Candidate *>(track->Clone());
     680      track = static_cast<Candidate*>(track->Clone());
    640681      track->AddCandidate(mother);
    641       track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M());
     682
     683      track->Momentum *= rescaleFactor;
     684
    642685      fEFlowTrackOutputArray->Add(track);
    643686    }
    644687  }
    645 
    646 
     688 
     689
     690  /*
     691  // fill energy flow candidates
     692  fECalTrackSigma = TMath::Sqrt(fECalTrackSigma);
     693  fHCalTrackSigma = TMath::Sqrt(fHCalTrackSigma);
     694
     695  //compute neutral excesses
     696  ecalNeutralEnergy = max( (ecalEnergy - fECalTrackEnergy) , 0.0);
     697  hcalNeutralEnergy = max( (hcalEnergy - fHCalTrackEnergy) , 0.0);
     698 
     699  ecalNeutralSigma = ecalNeutralEnergy / TMath::Sqrt(fECalTrackSigma*fECalTrackSigma + ecalSigma*ecalSigma);
     700  hcalNeutralSigma = hcalNeutralEnergy / TMath::Sqrt(fHCalTrackSigma*fHCalTrackSigma + hcalSigma*hcalSigma);
     701 
     702   // if ecal neutral excess is significant, simply create neutral EflowPhoton tower and clone each track into eflowtrack
     703  if(ecalNeutralEnergy > fECalEnergyMin && ecalNeutralSigma > fECalEnergySignificanceMin)
     704  {
     705    // create new photon tower
     706    tower = static_cast<Candidate*>(fTower->Clone());
     707    pt =  ecalNeutralEnergy / TMath::CosH(eta);
     708   
     709    tower->Momentum.SetPtEtaPhiE(pt, eta, phi, ecalNeutralEnergy);
     710    tower->Eem = ecalNeutralEnergy;
     711    tower->Ehad = 0.0;
     712    tower->PID = 22;
     713   
     714    fEFlowPhotonOutputArray->Add(tower);
     715   
     716    //clone tracks
     717    fItECalTowerTrackArray->Reset();
     718    while((track = static_cast<Candidate*>(fItECalTowerTrackArray->Next())))
     719    {
     720      mother = track;
     721      track = static_cast<Candidate*>(track->Clone());
     722      track->AddCandidate(mother);
     723
     724      fEFlowTrackOutputArray->Add(track);
     725    }
     726 
     727  }
     728 
     729  // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the DualReadoutCalorimeter and tracking
     730  else if(fECalTrackEnergy > 0.0)
     731  {
     732    weightTrack = (fECalTrackSigma > 0.0) ? 1 / (fECalTrackSigma*fECalTrackSigma) : 0.0;
     733    weightCalo  = (ecalSigma > 0.0) ? 1 / (ecalSigma*ecalSigma) : 0.0;
     734 
     735    bestEnergyEstimate = (weightTrack*fECalTrackEnergy + weightCalo*ecalEnergy) / (weightTrack + weightCalo);
     736    rescaleFactor = bestEnergyEstimate/fECalTrackEnergy;
     737
     738    //rescale tracks
     739    fItECalTowerTrackArray->Reset();
     740    while((track = static_cast<Candidate*>(fItECalTowerTrackArray->Next())))
     741    { 
     742      mother = track;
     743      track = static_cast<Candidate*>(track->Clone());
     744      track->AddCandidate(mother);
     745
     746      track->Momentum *= rescaleFactor;
     747
     748      fEFlowTrackOutputArray->Add(track);
     749    }
     750  }
     751
     752
     753  // if hcal neutral excess is significant, simply create neutral EflowNeutralHadron tower and clone each track into eflowtrack
     754  if(hcalNeutralEnergy > fHCalEnergyMin && hcalNeutralSigma > fHCalEnergySignificanceMin)
     755  {
     756    // create new photon tower
     757    tower = static_cast<Candidate*>(fTower->Clone());
     758    pt =  hcalNeutralEnergy / TMath::CosH(eta);
     759   
     760    tower->Momentum.SetPtEtaPhiE(pt, eta, phi, hcalNeutralEnergy);
     761    tower->Ehad = hcalNeutralEnergy;
     762    tower->Eem = 0.0;
     763   
     764    fEFlowNeutralHadronOutputArray->Add(tower);
     765   
     766    //clone tracks
     767    fItHCalTowerTrackArray->Reset();
     768    while((track = static_cast<Candidate*>(fItHCalTowerTrackArray->Next())))
     769    {
     770      mother = track;
     771      track = static_cast<Candidate*>(track->Clone());
     772      track->AddCandidate(mother);
     773
     774      fEFlowTrackOutputArray->Add(track);
     775    }
     776 
     777  }
     778 
     779  // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the DualReadoutCalorimeter and tracking
     780  else if(fHCalTrackEnergy > 0.0)
     781  {
     782    weightTrack = (fHCalTrackSigma > 0.0) ? 1 / (fHCalTrackSigma*fHCalTrackSigma) : 0.0;
     783    weightCalo  = (hcalSigma > 0.0) ? 1 / (hcalSigma*hcalSigma) : 0.0;
     784 
     785    bestEnergyEstimate = (weightTrack*fHCalTrackEnergy + weightCalo*hcalEnergy) / (weightTrack + weightCalo);
     786    rescaleFactor = bestEnergyEstimate / fHCalTrackEnergy;
     787
     788    //rescale tracks
     789    fItHCalTowerTrackArray->Reset();
     790    while((track = static_cast<Candidate*>(fItHCalTowerTrackArray->Next())))
     791    { 
     792      mother = track;
     793      track = static_cast<Candidate*>(track->Clone());
     794      track->AddCandidate(mother);
     795
     796      track->Momentum *= rescaleFactor;
     797
     798      fEFlowTrackOutputArray->Add(track);
     799    }
     800  }
     801
     802  */
    647803}
    648804
  • modules/DualReadoutCalorimeter.h

    rd612dec ra5af1df  
    6060  Double_t fECalTrackEnergy, fHCalTrackEnergy;
    6161  Double_t fTrackEnergy;
    62   Double_t fTowerRmax;
    6362
    6463  Double_t fTimingEnergyMin;
     
    7877  Double_t fHCalTrackSigma;
    7978  Double_t fTrackSigma;
    80 
    81   Double_t fTowerTime;
    82   Double_t fTowerTimeWeight;
    8379
    8480  Bool_t fSmearTowerCenter;
  • modules/Efficiency.cc

    rd612dec ra5af1df  
    7878  fItInputArray = fInputArray->MakeIterator();
    7979
    80   // switch to compute efficiency based on momentum vector eta, phi
    81   fUseMomentumVector = GetBool("UseMomentumVector", false);
    82 
    8380  // create output array
    8481
     
    9895{
    9996  Candidate *candidate;
    100   Double_t pt, eta, phi, e;
    101 
     97  Double_t pt, eta, phi, e, d0, dz, ctgTheta;
    10298
    10399  fItInputArray->Reset();
     
    108104    eta = candidatePosition.Eta();
    109105    phi = candidatePosition.Phi();
    110 
    111     if (fUseMomentumVector){
    112       eta = candidateMomentum.Eta();
    113       phi = candidateMomentum.Phi();
    114     }
    115 
    116106    pt = candidateMomentum.Pt();
    117107    e = candidateMomentum.E();
     108    d0 = candidate->D0;
     109    dz = candidate->DZ;
     110    ctgTheta = candidate->CtgTheta;
    118111
    119112    // apply an efficency formula
    120     if(gRandom->Uniform() > fFormula->Eval(pt, eta, phi, e, candidate)) continue;
     113    if(gRandom->Uniform() > fFormula->Eval(pt, eta, phi, e, d0, dz, ctgTheta)) continue;
    121114
    122115    fOutputArray->Add(candidate);
  • modules/Efficiency.h

    rd612dec ra5af1df  
    5353  TObjArray *fOutputArray; //!
    5454
    55   Double_t fUseMomentumVector; //!
    56 
    5755  ClassDef(Efficiency, 1)
    5856};
  • modules/EnergySmearing.cc

    rd612dec ra5af1df  
    9595{
    9696  Candidate *candidate, *mother;
    97   Double_t pt, energy, eta, phi, m;
     97  Double_t pt, energy, eta, phi;
    9898
    9999  fItInputArray->Reset();
     
    107107    phi = candidatePosition.Phi();
    108108    energy = candidateMomentum.E();
    109     m = candidateMomentum.M();
    110109
    111110    // apply smearing formula
     
    118117    eta = candidateMomentum.Eta();
    119118    phi = candidateMomentum.Phi();
    120     pt = (energy > m) ? TMath::Sqrt(energy*energy - m*m)/TMath::CosH(eta) : 0;
    121     candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, energy);
     119    candidate->Momentum.SetPtEtaPhiE(energy / TMath::CosH(eta), eta, phi, energy);
    122120    candidate->TrackResolution = fFormula->Eval(pt, eta, phi, energy) / candidateMomentum.E();
    123121    candidate->AddCandidate(mother);
  • modules/FastJetFinder.cc

    rd612dec ra5af1df  
    104104  fJetAlgorithm = GetInt("JetAlgorithm", 6);
    105105  fParameterR = GetDouble("ParameterR", 0.5);
    106   fParameterP = GetDouble("ParameterP", -1.0);
    107106
    108107  fConeRadius = GetDouble("ConeRadius", 0.5);
     
    248247    fDefinition = new JetDefinition(fValenciaPlugin);
    249248    break;
    250   case 10:
    251     fDefinition = new JetDefinition(ee_genkt_algorithm,fParameterR,fParameterP);
    252     break;
    253 
    254249  }
    255250
     
    321316  Double_t deta, dphi, detaMax, dphiMax;
    322317  Double_t time, timeWeight;
    323   Double_t neutralEnergyFraction, chargedEnergyFraction;
    324 
    325318  Int_t number, ncharged, nneutrals;
    326319  Int_t charge;
     
    425418    nneutrals = 0;
    426419
    427     neutralEnergyFraction =0.;
    428     chargedEnergyFraction =0.;
    429 
    430420    inputList.clear();
    431421    inputList = sequence->constituents(*itOutputList);
     
    442432
    443433      if(constituent->Charge == 0)
    444       {
    445434        nneutrals++;
    446         neutralEnergyFraction += constituent->Momentum.E();
    447       }
    448435      else
    449       {
    450436        ncharged++;
    451         chargedEnergyFraction += constituent->Momentum.E();
    452       }
    453      
     437
    454438      time += TMath::Sqrt(constituent->Momentum.E()) * (constituent->Position.T());
    455439      timeWeight += TMath::Sqrt(constituent->Momentum.E());
     
    471455    candidate->NCharged = ncharged;
    472456
    473     candidate->NeutralEnergyFraction = (momentum.E() > 0 ) ? neutralEnergyFraction/momentum.E() : 0.0;
    474     candidate->ChargedEnergyFraction = (momentum.E() > 0 ) ? chargedEnergyFraction/momentum.E() : 0.0;
    475 
    476457    //for exclusive clustering, access y_n,n+1 as exclusive_ymerge (fNJets);
    477458    candidate->ExclYmerge23 = excl_ymerge23;
     
    489470      fastjet::Filter trimmer(fastjet::JetDefinition(fastjet::kt_algorithm, fRTrim), fastjet::SelectorPtFractionMin(fPtFracTrim));
    490471      fastjet::PseudoJet trimmed_jet = trimmer(*itOutputList);
    491      
     472
     473      trimmed_jet = join(trimmed_jet.constituents());
     474
    492475      candidate->TrimmedP4[0].SetPtEtaPhiM(trimmed_jet.pt(), trimmed_jet.eta(), trimmed_jet.phi(), trimmed_jet.m());
    493476
  • modules/FastJetFinder.h

    rd612dec ra5af1df  
    7272  Int_t fJetAlgorithm;
    7373  Double_t fParameterR;
    74   Double_t fParameterP;
    7574
    7675  Double_t fJetPTMin;
  • modules/IdentificationMap.cc

    rd612dec ra5af1df  
    170170      {
    171171        // change PID of particle
    172         candidate = static_cast<Candidate *>(candidate->Clone());
    173172        if(pdgCodeOut != 0) candidate->PID = charge * pdgCodeOut;
    174173        fOutputArray->Add(candidate);
  • modules/JetFakeParticle.cc

    rd612dec ra5af1df  
    146146  while((candidate = static_cast<Candidate *>(fItInputArray->Next())))
    147147  {
     148    const TLorentzVector &candidatePosition = candidate->Position;
    148149    const TLorentzVector &candidateMomentum = candidate->Momentum;
    149     eta = candidateMomentum.Eta();
    150     phi = candidateMomentum.Phi();
     150    eta = candidatePosition.Eta();
     151    phi = candidatePosition.Phi();
    151152    pt = candidateMomentum.Pt();
    152153    e = candidateMomentum.E();
  • modules/ModulesLinkDef.h

    rd612dec ra5af1df  
    3636#include "modules/MomentumSmearing.h"
    3737#include "modules/TrackSmearing.h"
    38 #include "modules/TrackCovariance.h"
    39 #include "modules/ClusterCounting.h"
    4038#include "modules/ImpactParameterSmearing.h"
    4139#include "modules/TimeSmearing.h"
    42 #include "modules/TimeOfFlight.h"
    4340#include "modules/SimpleCalorimeter.h"
    4441#include "modules/DenseTrackFilter.h"
     
    7572#include "modules/VertexFinder.h"
    7673#include "modules/VertexFinderDA4D.h"
    77 #include "modules/DecayFilter.h"
    78 #include "modules/ParticleDensity.h"
    79 #include "modules/TruthVertexFinder.h"
    8074#include "modules/ExampleModule.h"
    8175#include "modules/LLPFilter.h"
     
    9993#pragma link C++ class MomentumSmearing+;
    10094#pragma link C++ class TrackSmearing+;
    101 #pragma link C++ class TrackCovariance+;
    102 #pragma link C++ class ClusterCounting+;
    10395#pragma link C++ class ImpactParameterSmearing+;
    10496#pragma link C++ class TimeSmearing+;
    105 #pragma link C++ class TimeOfFlight+;
    10697#pragma link C++ class SimpleCalorimeter+;
    10798#pragma link C++ class DenseTrackFilter+;
     
    138129#pragma link C++ class VertexFinder+;
    139130#pragma link C++ class VertexFinderDA4D+;
    140 #pragma link C++ class DecayFilter+;
    141 #pragma link C++ class ParticleDensity+;
    142 #pragma link C++ class TruthVertexFinder+;
    143131#pragma link C++ class ExampleModule+;
    144132#pragma link C++ class LLPFilter+;
  • modules/MomentumSmearing.cc

    rd612dec ra5af1df  
    7878  fItInputArray = fInputArray->MakeIterator();
    7979
    80   // switch to compute momentum smearing based on momentum vector eta, phi
    81   fUseMomentumVector = GetBool("UseMomentumVector", false);
    82 
    8380  // create output array
    8481
     
    9895{
    9996  Candidate *candidate, *mother;
    100   Double_t pt, eta, phi, e, m, res;
     97  Double_t pt, eta, phi, e, res;
    10198
    10299  fItInputArray->Reset();
     
    107104    eta = candidatePosition.Eta();
    108105    phi = candidatePosition.Phi();
    109 
    110     if (fUseMomentumVector){
    111       eta = candidateMomentum.Eta();
    112       phi = candidateMomentum.Phi();
    113     }
    114 
    115106    pt = candidateMomentum.Pt();
    116107    e = candidateMomentum.E();
    117     m = candidateMomentum.M();
    118     res = fFormula->Eval(pt, eta, phi, e, candidate);
     108    res = fFormula->Eval(pt, eta, phi, e);
    119109
    120110    // apply smearing formula
     
    131121    eta = candidateMomentum.Eta();
    132122    phi = candidateMomentum.Phi();
    133     candidate->Momentum.SetPtEtaPhiM(pt, eta, phi, m);
     123    candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt * TMath::CosH(eta));
    134124    //candidate->TrackResolution = fFormula->Eval(pt, eta, phi, e);
    135125    candidate->TrackResolution = res;
  • modules/MomentumSmearing.h

    rd612dec ra5af1df  
    5555  TObjArray *fOutputArray; //!
    5656
    57   Double_t fUseMomentumVector; //!
    58 
    5957  ClassDef(MomentumSmearing, 1)
    6058};
  • modules/ParticlePropagator.cc

    rd612dec ra5af1df  
    125125  TLorentzVector particlePosition, particleMomentum, beamSpotPosition;
    126126  Double_t px, py, pz, pt, pt2, e, q;
    127   Double_t x, y, z, t, r;
    128   Double_t x_c, y_c, r_c, phi_0;
    129   Double_t x_t, y_t, z_t, r_t, phi_t;
    130   Double_t t_r, t_z;
    131   Double_t tmp;
    132   Double_t gammam, omega;
    133   Double_t xd, yd, zd;
    134   Double_t l, d0, dz, ctgTheta, alpha;
     127  Double_t x, y, z, t, r, phi;
     128  Double_t x_c, y_c, r_c, phi_c, phi_0;
     129  Double_t x_t, y_t, z_t, r_t;
     130  Double_t t1, t2, t3, t4, t5, t6;
     131  Double_t t_z, t_r, t_ra, t_rb;
     132  Double_t tmp, discr, discr2;
     133  Double_t delta, gammam, omega, asinrho;
     134  Double_t rcu, rc2, xd, yd, zd;
     135  Double_t l, d0, dz, p, ctgTheta, phip, etap, alpha;
    135136  Double_t bsx, bsy, bsz;
    136   Double_t td, pio, phid, vz;
    137137
    138138  const Double_t c_light = 2.99792458E8;
    139139
    140140  if(!fBeamSpotInputArray || fBeamSpotInputArray->GetSize() == 0)
    141   {
    142141    beamSpotPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
    143   }
    144142  else
    145143  {
     
    162160    particlePosition = particle->Position;
    163161    particleMomentum = particle->Momentum;
    164 
    165162    x = particlePosition.X() * 1.0E-3;
    166163    y = particlePosition.Y() * 1.0E-3;
     
    209206      // solve pt2*t^2 + 2*(px*x + py*y)*t - (fRadius2 - x*x - y*y) = 0
    210207      tmp = px * y - py * x;
    211       t_r = (TMath::Sqrt(pt2 * fRadius2 - tmp * tmp) - px * x - py * y) / pt2;
    212 
    213       t_z = (TMath::Sign(fHalfLength, pz) - z) / pz;
    214 
    215       t = TMath::Min(t_r, t_z);
     208      discr2 = pt2 * fRadius2 - tmp * tmp;
     209
     210      if(discr2 < 0.0)
     211      {
     212        // no solutions
     213        continue;
     214      }
     215
     216      tmp = px * x + py * y;
     217      discr = TMath::Sqrt(discr2);
     218      t1 = (-tmp + discr) / pt2;
     219      t2 = (-tmp - discr) / pt2;
     220      t = (t1 < 0.0) ? t2 : t1;
     221
     222      z_t = z + pz * t;
     223      if(TMath::Abs(z_t) > fHalfLength)
     224      {
     225        t3 = (+fHalfLength - z) / pz;
     226        t4 = (-fHalfLength - z) / pz;
     227        t = (t3 < 0.0) ? t4 : t3;
     228      }
    216229
    217230      x_t = x + px * t;
     
    232245
    233246      fOutputArray->Add(candidate);
    234 
    235247      if(TMath::Abs(q) > 1.0E-9)
    236248      {
     
    255267    {
    256268
    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)
     269      // 1.  initial transverse momentum p_{T0}: Part->pt
     270      //     initial transverse momentum direction phi_0 = -atan(p_X0/p_Y0)
     271      //     relativistic gamma: gamma = E/mc^2; gammam = gamma * m
     272      //     gyration frequency omega = q/(gamma m) fBz
     273      //     helix radius r = p_{T0} / (omega gamma m)
    262274
    263275      gammam = e * 1.0E9 / (c_light * c_light); // gammam in [eV/c^2]
    264       omega = q * fBz / gammam; // omega is here in [89875518/s]
     276      omega = q * fBz / (gammam); // omega is here in [89875518/s]
    265277      r = pt / (q * fBz) * 1.0E9 / c_light; // in [m]
    266278
     
    271283      y_c = y - r * TMath::Cos(phi_0);
    272284      r_c = TMath::Hypot(x_c, y_c);
    273 
    274       // time of closest approach
    275       td = (phi_0 + TMath::ATan2(x_c, y_c)) / omega;
    276 
    277       // remove all the modulo pi that might have come from the atan
    278       pio = TMath::Abs(TMath::Pi() / omega);
    279       while(TMath::Abs(td) > 0.5 * pio)
    280       {
    281         td -= TMath::Sign(1.0, td) * pio;
    282       }
    283 
    284       vz = pz * c_light / e;
    285 
    286       // calculate coordinates of closest approach to z axis
    287       phid = phi_0 - omega * td;
    288       xd = x_c - r * TMath::Sin(phid);
    289       yd = y_c + r * TMath::Cos(phid);
    290       zd = z + vz * td;
    291 
    292       // momentum at closest approach
    293       px = pt * TMath::Cos(phid);
    294       py = pt * TMath::Sin(phid);
    295 
    296       particleMomentum.SetPtEtaPhiE(pt, particleMomentum.Eta(), phid, particleMomentum.E());
     285      phi_c = TMath::ATan2(y_c, x_c);
     286      phi = phi_c;
     287      if(x_c < 0.0) phi += TMath::Pi();
     288
     289      rcu = TMath::Abs(r);
     290      rc2 = r_c * r_c;
     291
     292      // calculate coordinates of closest approach to track circle in transverse plane xd, yd, zd
     293      xd = x_c * x_c * x_c - x_c * rcu * r_c + x_c * y_c * y_c;
     294      xd = (rc2 > 0.0) ? xd / rc2 : -999;
     295      yd = y_c * (-rcu * r_c + rc2);
     296      yd = (rc2 > 0.0) ? yd / rc2 : -999;
     297      zd = z + (TMath::Sqrt(xd * xd + yd * yd) - TMath::Sqrt(x * x + y * y)) * pz / pt;
     298
     299      // use perigee momentum rather than original particle
     300      // momentum, since the orignal particle momentum isn't known
     301
     302      px = TMath::Sign(1.0, r) * pt * (-y_c / r_c);
     303      py = TMath::Sign(1.0, r) * pt * (x_c / r_c);
     304      etap = particleMomentum.Eta();
     305      phip = TMath::ATan2(py, px);
     306
     307      particleMomentum.SetPtEtaPhiE(pt, etap, phip, particleMomentum.E());
    297308
    298309      // calculate additional track parameters (correct for beamspot position)
    299       d0 = ((xd - bsx) * py - (yd - bsy) * px) / pt;
    300       dz = zd - bsz;
     310
     311      d0 = ((x - bsx) * py - (y - bsy) * px) / pt;
     312      dz = z - ((x - bsx) * px + (y - bsy) * py) / pt * (pz / pt);
     313      p = particleMomentum.P();
    301314      ctgTheta = 1.0 / TMath::Tan(particleMomentum.Theta());
    302315
     
    304317      //    t_r : time to exit from the sides
    305318      //    t_z : time to exit from the front or the back
    306       t_z = (vz == 0.0) ? 1.0E99 : (TMath::Sign(fHalfLength, pz) - z) / vz;
     319      t_r = 0.0; // in [ns]
     320      int sign_pz = (pz > 0.0) ? 1 : -1;
     321      if(pz == 0.0)
     322        t_z = 1.0E99;
     323      else
     324        t_z = gammam / (pz * 1.0E9 / c_light) * (-z + fHalfLength * sign_pz);
    307325
    308326      if(r_c + TMath::Abs(r) < fRadius)
     
    313331      else
    314332      {
    315         alpha = TMath::ACos((r * r + r_c * r_c - fRadius * fRadius) / (2 * TMath::Abs(r) * r_c));
    316         t_r = td + TMath::Abs(alpha / omega);
    317 
     333        asinrho = TMath::ASin((fRadius * fRadius - r_c * r_c - r * r) / (2 * TMath::Abs(r) * r_c));
     334        delta = phi_0 - phi;
     335        if(delta < -TMath::Pi()) delta += 2 * TMath::Pi();
     336        if(delta > TMath::Pi()) delta -= 2 * TMath::Pi();
     337        t1 = (delta + asinrho) / omega;
     338        t2 = (delta + TMath::Pi() - asinrho) / omega;
     339        t3 = (delta + TMath::Pi() + asinrho) / omega;
     340        t4 = (delta - asinrho) / omega;
     341        t5 = (delta - TMath::Pi() - asinrho) / omega;
     342        t6 = (delta - TMath::Pi() + asinrho) / omega;
     343
     344        if(t1 < 0.0) t1 = 1.0E99;
     345        if(t2 < 0.0) t2 = 1.0E99;
     346        if(t3 < 0.0) t3 = 1.0E99;
     347        if(t4 < 0.0) t4 = 1.0E99;
     348        if(t5 < 0.0) t5 = 1.0E99;
     349        if(t6 < 0.0) t6 = 1.0E99;
     350
     351        t_ra = TMath::Min(t1, TMath::Min(t2, t3));
     352        t_rb = TMath::Min(t4, TMath::Min(t5, t6));
     353        t_r = TMath::Min(t_ra, t_rb);
    318354        t = TMath::Min(t_r, t_z);
    319355      }
    320356
    321357      // 4. position in terms of x(t), y(t), z(t)
    322       phi_t = phi_0 - omega * t;
    323       x_t = x_c - r * TMath::Sin(phi_t);
    324       y_t = y_c + r * TMath::Cos(phi_t);
    325       z_t = z + vz * t;
     358      x_t = x_c + r * TMath::Sin(omega * t - phi_0);
     359      y_t = y_c + r * TMath::Cos(omega * t - phi_0);
     360      z_t = z + pz * 1.0E9 / c_light / gammam * t;
    326361      r_t = TMath::Hypot(x_t, y_t);
    327362
    328       // lenght of the path from production to tracker
    329       l = t * TMath::Hypot(vz, r * omega);
     363      // compute path length for an helix
     364
     365      alpha = pz * 1.0E9 / c_light / gammam;
     366      l = t * TMath::Sqrt(alpha * alpha + r * r * omega * omega);
    330367
    331368      if(r_t > 0.0)
    332369      {
     370
    333371        // store these variables before cloning
    334372        if(particle == candidate)
     
    336374          particle->D0 = d0 * 1.0E3;
    337375          particle->DZ = dz * 1.0E3;
    338           particle->P = particleMomentum.P();
     376          particle->P = p;
    339377          particle->PT = pt;
    340378          particle->CtgTheta = ctgTheta;
    341           particle->Phi = particleMomentum.Phi();
     379          particle->Phi = phip;
    342380        }
    343381
  • modules/SimpleCalorimeter.cc

    rd612dec ra5af1df  
    208208  fItParticleInputArray->Reset();
    209209  number = -1;
    210   fTowerRmax=0.;
    211210  while((particle = static_cast<Candidate *>(fItParticleInputArray->Next())))
    212211  {
    213212    const TLorentzVector &particlePosition = particle->Position;
    214213    ++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();
    219214
    220215    pdgCode = TMath::Abs(particle->PID);
     
    399394    fTowerEnergy += energy;
    400395
    401     fTowerTime += energy * energy * position.T(); //sigma_t ~ 1/E
    402     fTowerTimeWeight += energy * energy;
     396    fTowerTime += energy * position.T();
     397    fTowerTimeWeight += energy;
    403398
    404399    fTower->AddCandidate(particle);
    405     fTower->Position = position;
    406 
    407400  }
    408401
     
    416409{
    417410  Candidate *tower, *track, *mother;
    418   Double_t energy, neutralEnergy, pt, eta, phi, r;
     411  Double_t energy, neutralEnergy, pt, eta, phi;
    419412  Double_t sigma, neutralSigma;
    420413  Double_t time;
     
    450443  pt = energy / TMath::CosH(eta);
    451444
    452   // endcap
    453   if (TMath::Abs(fTower->Position.Pt() - fTowerRmax) > 1.e-06 && TMath::Abs(eta) > 0.){
    454     r = fTower->Position.Z()/TMath::SinH(eta);
    455   }
    456   // barrel
    457   else {
    458     r = fTower->Position.Pt();
    459   }
    460 
    461   fTower->Position.SetPtEtaPhiE(r, eta, phi, time);
     445  fTower->Position.SetPtEtaPhiE(1.0, eta, phi, time);
    462446  fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy);
    463   fTower->L = fTower->Position.Vect().Mag();
    464447
    465448  fTower->Eem = (!fIsEcal) ? 0 : energy;
    466449  fTower->Ehad = (fIsEcal) ? 0 : energy;
    467   fTower->Etrk = fTrackEnergy;
    468450
    469451  fTower->Edges[0] = fTowerEdges[0];
     
    525507      track = static_cast<Candidate *>(track->Clone());
    526508      track->AddCandidate(mother);
    527       track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M());
     509
     510      track->Momentum *= rescaleFactor;
     511
    528512      fEFlowTrackOutputArray->Add(track);
    529513    }
  • modules/SimpleCalorimeter.h

    rd612dec ra5af1df  
    6262  Double_t fTrackTime;
    6363
    64   Double_t fTowerRmax;
    65 
    6664  Double_t fTowerTimeWeight;
    6765  Double_t fTrackTimeWeight;
  • modules/TauTagging.cc

    rd612dec ra5af1df  
    8383    daughter1 = static_cast<Candidate *>(fParticleInputArray->At(i));
    8484    pdgCode = TMath::Abs(daughter1->PID);
    85     //if(pdgCode == 11 || pdgCode == 13 || pdgCode == 15)
    86     //  return -1;
    87     if(pdgCode == 24)
     85    if(pdgCode == 11 || pdgCode == 13 || pdgCode == 15)
     86      return -1;
     87    else if(pdgCode == 24)
    8888    {
    8989      if(daughter1->D1 < 0) return -1;
     
    9696    }
    9797  }
     98
    9899  return 0;
    99100}
     
    189190void TauTagging::Process()
    190191{
    191   Candidate *jet, *tau, *daughter, *part;
     192  Candidate *jet, *tau, *daughter;
    192193  TLorentzVector tauMomentum;
    193194  Double_t pt, eta, phi, e, eff;
     
    203204  // loop over all input jets
    204205  fItJetInputArray->Reset();
    205 
    206206  while((jet = static_cast<Candidate *>(fItJetInputArray->Next())))
    207207  {
    208 
    209208    const TLorentzVector &jetMomentum = jet->Momentum;
    210209    pdgCode = 0;
     
    244243      }
    245244    }
    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 
    273245    // find an efficency formula
    274246    itEfficiencyMap = fEfficiencyMap.find(pdgCode);
  • modules/TimeSmearing.cc

    rd612dec ra5af1df  
    1919/** \class TimeSmearing
    2020 *
    21  *  Performs time smearing.
     21 *  Performs transverse momentum resolution smearing.
    2222 *
    23  *  \author M. Selvaggi - CERN
     23 *  \author P. Demin - UCL, Louvain-la-Neuve
    2424 *
    2525 */
     
    4949
    5050using namespace std;
     51
    5152//------------------------------------------------------------------------------
    5253
    5354TimeSmearing::TimeSmearing() :
    54   fItInputArray(0), fResolutionFormula(0)
     55  fItInputArray(0)
    5556{
    56         fResolutionFormula = new DelphesFormula;
    5757}
    5858
     
    6161TimeSmearing::~TimeSmearing()
    6262{
    63         if(fResolutionFormula) delete fResolutionFormula;
    6463}
    6564
     
    7069  // read resolution formula
    7170
    72   // read time resolution formula in seconds
    73   fResolutionFormula->Compile(GetString("TimeResolution", "30e-12"));
     71  fTimeResolution = GetDouble("TimeResolution", 1.0E-10);
     72  // import input array
    7473
    75   // import track input array
    7674  fInputArray = ImportArray(GetString("InputArray", "MuonMomentumSmearing/muons"));
    7775  fItInputArray = fInputArray->MakeIterator();
    7876
     77  // create output array
    7978
    80   // create output array
    81   fOutputArray = ExportArray(GetString("OutputArray", "tracks"));
     79  fOutputArray = ExportArray(GetString("OutputArray", "muons"));
    8280}
    8381
     
    9492{
    9593  Candidate *candidate, *mother;
    96   Double_t tf_smeared, tf;
    97   Double_t eta, energy;
    98   Double_t timeResolution;
    99 
     94  Double_t ti, tf_smeared, tf;
    10095  const Double_t c_light = 2.99792458E8;
    10196
     
    10398  while((candidate = static_cast<Candidate *>(fItInputArray->Next())))
    10499  {
     100    const TLorentzVector &candidateInitialPosition = candidate->InitialPosition;
     101    const TLorentzVector &candidateFinalPosition = candidate->Position;
    105102
    106     const TLorentzVector &candidateFinalPosition = candidate->Position;
    107     const TLorentzVector &candidateMomentum = candidate->Momentum;
    108 
     103    ti = candidateInitialPosition.T() * 1.0E-3 / c_light;
    109104    tf = candidateFinalPosition.T() * 1.0E-3 / c_light;
    110105
    111     eta = candidateMomentum.Eta();
    112     energy = candidateMomentum.E();
    113 
    114106    // apply smearing formula
    115     timeResolution = fResolutionFormula->Eval(0.0, eta, 0.0, energy);
    116     tf_smeared = gRandom->Gaus(tf, timeResolution);
     107    tf_smeared = gRandom->Gaus(tf, fTimeResolution);
     108    ti = ti + tf_smeared - tf;
     109    tf = tf_smeared;
    117110
    118111    mother = candidate;
    119112    candidate = static_cast<Candidate *>(candidate->Clone());
     113    candidate->InitialPosition.SetT(ti * 1.0E3 * c_light);
     114    candidate->Position.SetT(tf * 1.0E3 * c_light);
    120115
    121     candidate->Position.SetT(tf_smeared * 1.0E3 * c_light);
    122     candidate->ErrorT = timeResolution * 1.0E3 * c_light;
     116    candidate->ErrorT = fTimeResolution * 1.0E3 * c_light;
    123117
    124118    candidate->AddCandidate(mother);
     119
    125120    fOutputArray->Add(candidate);
    126121  }
    127122}
     123
     124//------------------------------------------------------------------------------
  • modules/TimeSmearing.h

    rd612dec ra5af1df  
    2222/** \class TimeSmearing
    2323 *
    24  *  Performs time smearing.
     24 *  Performs transverse time smearing.
    2525 *
    26  *  \author Michele Selvaggi - CERN
     26 *  \author Michele Selvaggi - UCL, Louvain-la-Neuve
    2727 *
    2828 */
     
    3232class TIterator;
    3333class TObjArray;
    34 class DelphesFormula;
    3534
    3635class TimeSmearing: public DelphesModule
     
    4544
    4645private:
    47 
    48   DelphesFormula *fResolutionFormula;
    49   Int_t fVertexTimeMode;
     46  Double_t fTimeResolution;
    5047
    5148  TIterator *fItInputArray; //!
  • modules/TrackSmearing.cc

    rd612dec ra5af1df  
    158158  TLorentzVector beamSpotPosition;
    159159  Candidate *candidate, *mother;
    160   Double_t pt, eta, e, m, d0, d0Error, trueD0, dz, dzError, trueDZ, p, pError, trueP, ctgTheta, ctgThetaError, trueCtgTheta, phi, phiError, truePhi;
     160  Double_t pt, eta, d0, d0Error, trueD0, dz, dzError, trueDZ, p, pError, trueP, ctgTheta, ctgThetaError, trueCtgTheta, phi, phiError, truePhi;
    161161  Double_t x, y, z, t, px, py, pz, theta;
    162162  Double_t q, r;
     
    223223    pt = momentum.Pt();
    224224    eta = momentum.Eta();
    225     e = momentum.E();
    226     m = momentum.M();
    227225
    228226    d0 = trueD0 = candidate->D0;
     
    234232
    235233    if(fUseD0Formula)
    236       d0Error = fD0Formula->Eval(pt, eta, phi, e, candidate);
     234      d0Error = fD0Formula->Eval(pt, eta);
    237235    else
    238236    {
     
    249247
    250248    if(fUseDZFormula)
    251       dzError = fDZFormula->Eval(pt, eta, phi, e, candidate);
     249      dzError = fDZFormula->Eval(pt, eta);
    252250    else
    253251    {
     
    264262
    265263    if(fUsePFormula)
    266       pError = fPFormula->Eval(pt, eta, phi, e, candidate) * p;
     264      pError = fPFormula->Eval(pt, eta) * p;
    267265    else
    268266    {
     
    279277
    280278    if(fUseCtgThetaFormula)
    281       ctgThetaError = fCtgThetaFormula->Eval(pt, eta, phi, e, candidate);
     279      ctgThetaError = fCtgThetaFormula->Eval(pt, eta);
    282280    else
    283281    {
     
    294292
    295293    if(fUsePhiFormula)
    296       phiError = fPhiFormula->Eval(pt, eta, phi, e, candidate);
     294      phiError = fPhiFormula->Eval(pt, eta);
    297295    else
    298296    {
     
    333331    candidate->Momentum.SetPy(p * TMath::Sin(phi) * TMath::Sin(theta));
    334332    candidate->Momentum.SetPz(p * TMath::Cos(theta));
    335     candidate->Momentum.SetE(TMath::Sqrt(p*p + m*m));
     333    candidate->Momentum.SetE(candidate->Momentum.Pt() * TMath::CosH(eta));
    336334    candidate->PT = candidate->Momentum.Pt();
    337335
  • modules/TreeWriter.cc

    rd612dec ra5af1df  
    7272  fClassMap[Track::Class()] = &TreeWriter::ProcessTracks;
    7373  fClassMap[Tower::Class()] = &TreeWriter::ProcessTowers;
    74   fClassMap[ParticleFlowCandidate::Class()] = &TreeWriter::ProcessParticleFlowCandidates;
    7574  fClassMap[Photon::Class()] = &TreeWriter::ProcessPhotons;
    7675  fClassMap[Electron::Class()] = &TreeWriter::ProcessElectrons;
     
    124123    fBranchMap.insert(make_pair(branch, make_pair(itClassMap->second, array)));
    125124  }
    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   }
    139125}
    140126
     
    152138  it1.Reset();
    153139  array->Clear();
    154 
    155140  while((candidate = static_cast<Candidate *>(it1.Next())))
    156141  {
     
    230215    entry->Pz = momentum.Pz();
    231216
     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
    232224    entry->Eta = eta;
    233225    entry->Phi = momentum.Phi();
     
    330322  Candidate *particle = 0;
    331323  Track *entry = 0;
    332   Double_t pt, signz, cosTheta, eta, rapidity, p, ctgTheta, phi, m;
     324  Double_t pt, signz, cosTheta, eta, rapidity, p, ctgTheta, phi;
    333325  const Double_t c_light = 2.99792458E8;
    334326
     
    364356
    365357    entry->D0 = candidate->D0;
     358    entry->ErrorD0 = candidate->ErrorD0;
    366359    entry->DZ = candidate->DZ;
    367     entry->Nclusters = candidate->Nclusters;
    368     entry->dNdx = candidate->dNdx;
     360    entry->ErrorDZ = candidate->ErrorDZ;
    369361
    370362    entry->ErrorP = candidate->ErrorP;
    371363    entry->ErrorPT = candidate->ErrorPT;
    372 
    373     // diagonal covariance matrix terms
    374     entry->ErrorD0 = candidate->ErrorD0;
    375     entry->ErrorC = candidate->ErrorC;
     364    entry->ErrorCtgTheta = candidate->ErrorCtgTheta;
    376365    entry->ErrorPhi = candidate->ErrorPhi;
    377     entry->ErrorDZ = candidate->ErrorDZ;
    378     entry->ErrorCtgTheta = candidate->ErrorCtgTheta;
    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);
    391366
    392367    entry->Xd = candidate->Xd;
     
    399374    p = momentum.P();
    400375    phi = momentum.Phi();
    401     m = momentum.M();
    402376    ctgTheta = (TMath::Tan(momentum.Theta()) != 0) ? 1 / TMath::Tan(momentum.Theta()) : 1e10;
    403377
     
    412386    entry->Phi = phi;
    413387    entry->CtgTheta = ctgTheta;
    414     entry->C = candidate->C;
    415     entry->Mass = m;
    416388
    417389    particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0));
    418     //const TLorentzVector &initialPosition = particle->Position;
    419     const TLorentzVector &initialPosition = candidate->InitialPosition;
     390    const TLorentzVector &initialPosition = particle->Position;
    420391
    421392    entry->X = initialPosition.X();
     
    423394    entry->Z = initialPosition.Z();
    424395    entry->T = initialPosition.T() * 1.0E-3 / c_light;
    425     entry->ErrorT =candidate-> ErrorT * 1.0E-3 / c_light;
    426396
    427397    entry->Particle = particle;
     
    465435    entry->Eem = candidate->Eem;
    466436    entry->Ehad = candidate->Ehad;
    467     entry->Etrk = candidate->Etrk;
    468437    entry->Edges[0] = candidate->Edges[0];
    469438    entry->Edges[1] = candidate->Edges[1];
     
    475444
    476445    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 
    599446  }
    600447}
     
    840687    entry->NCharged = candidate->NCharged;
    841688    entry->NNeutrals = candidate->NNeutrals;
    842 
    843     entry->NeutralEnergyFraction = candidate->NeutralEnergyFraction;
    844     entry->ChargedEnergyFraction = candidate->ChargedEnergyFraction;
    845689    entry->Beta = candidate->Beta;
    846690    entry->BetaStar = candidate->BetaStar;
  • modules/TreeWriter.h

    rd612dec ra5af1df  
    5656  void ProcessTracks(ExRootTreeBranch *branch, TObjArray *array);
    5757  void ProcessTowers(ExRootTreeBranch *branch, TObjArray *array);
    58   void ProcessParticleFlowCandidates(ExRootTreeBranch *branch, TObjArray *array);
    5958  void ProcessPhotons(ExRootTreeBranch *branch, TObjArray *array);
    6059  void ProcessElectrons(ExRootTreeBranch *branch, TObjArray *array);
     
    8079#endif
    8180
    82   ClassDef(TreeWriter, 2)
     81  ClassDef(TreeWriter, 1)
    8382};
    8483
  • readers/DelphesCMSFWLite.cpp

    rd612dec ra5af1df  
    217217      // Prevent duplicated particle.
    218218      if(!isMiniAOD) stableParticleOutputArray->Add(candidate);
    219       if (pdgCode == 11 || pdgCode == 13) partonOutputArray->Add(candidate);
    220     }
    221     //else if(pdgCode <= 5 || pdgCode == 21 || pdgCode == 15)
    222     else if(pdgCode <= 5 || pdgCode == 21 || pdgCode == 11 || pdgCode == 13 || pdgCode == 15)
     219    }
     220    else if(pdgCode <= 5 || pdgCode == 21 || pdgCode == 15)
    223221    {
    224222      partonOutputArray->Add(candidate);
     
    311309  DelphesFactory *factory = 0;
    312310  TObjArray *allParticleOutputArray = 0, *stableParticleOutputArray = 0, *partonOutputArray = 0;
    313   Int_t i, maxEvents, skipEvents;
     311  Int_t i;
    314312  Long64_t eventCounter, numberOfEvents;
    315313  Bool_t firstEvent = kTRUE;
     
    353351    confReader = new ExRootConfReader;
    354352    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     }
    368353
    369354    modularDelphes = new Delphes("Delphes");
     
    404389      treeWriter->Clear();
    405390
    406       for(event.toBegin(); !event.atEnd() && !interrupted && (maxEvents <= 0 || eventCounter-skipEvents < maxEvents); ++event)
     391      for(event.toBegin(); !event.atEnd() && !interrupted; ++event)
    407392      {
    408         if(eventCounter >= skipEvents){
    409           ConvertInput(event, eventCounter, branchEvent, branchWeight, factory,
    410             allParticleOutputArray, stableParticleOutputArray, partonOutputArray, firstEvent);
    411           modularDelphes->ProcessTask();
    412 
    413           firstEvent = kFALSE;
    414 
    415           treeWriter->Fill();
    416 
    417           modularDelphes->Clear();
    418           treeWriter->Clear();
    419         }
     393        ConvertInput(event, eventCounter, branchEvent, branchWeight, factory,
     394          allParticleOutputArray, stableParticleOutputArray, partonOutputArray, firstEvent);
     395        modularDelphes->ProcessTask();
     396
     397        firstEvent = kFALSE;
     398
     399        treeWriter->Fill();
     400
     401        modularDelphes->Clear();
     402        treeWriter->Clear();
    420403
    421404        progressBar.Update(eventCounter, eventCounter);
  • readers/DelphesPythia8.cpp

    rd612dec ra5af1df  
    296296
    297297    // jet matching
    298 #if PYTHIA_VERSION_INTEGER < 8300
    299298    matching = combined->getHook(*pythia);
    300299    if(!matching)
     
    303302    }
    304303    pythia->setUserHooksPtr(matching);
    305 #endif
    306304
    307305    if(pythia == NULL)
  • validation/DelphesValidation.cpp

    rd612dec ra5af1df  
    3232#include "TGraph.h"
    3333#include "TGraphErrors.h"
    34 #include "TF1.h"
    3534#include "TH1.h"
    3635#include "TH2.h"
  • validation/validation.sh

    rd612dec ra5af1df  
    1 #!/bin/bash
     1#!/bin/sh
    22################################################################################
    33#
    4 # This code produces a set of validation plots for a given detector card.
     4# This code produces at set of validation plots for a given detector card.
    55#
    66# In order to run this you need to compile Delphes with Pythia8 first, see:
     
    1010# After you (re-)compiled Delphes with Pythia8 you are ready to go, execute from Delphes main dir:
    1111#
    12 # ./validation/validation.sh [detector_card] [number_of_events]
     12# ./examples/validation.sh [detector_card] [number_of_events]
    1313#
    1414#  e.g.
    1515#
    16 # ./validation/validation.sh cards/delphes_card_CMS.tcl 100000
     16# ./examples/validation.sh cards/delphes_card_CMS.tcl 100000
    1717#
    1818# Note that the more events you specify, the more accurate the controls plots will be ...
     
    3838outputrootdir=report_${cardbase%.*}/root
    3939cardlabel=${cardbase%.*}
    40 version=x.y.z
     40version=$(cat VERSION)
    4141outpdf=$mainoutputdir/${output%.*}.pdf
    4242cardsdir=validation/cards
Note: See TracChangeset for help on using the changeset viewer.