Fork me on GitHub

Changes in / [b9ae4c3:ec5e04b] in git


Ignore:
Files:
1 added
21 deleted
101 edited

Legend:

Unmodified
Added
Removed
  • CHANGELOG

    rb9ae4c3 rec5e04b  
    1 3.4.0:
    2 - corrected granularities for ECAL and HCAL in CMS default cards
    3 - improved particle flow algorithm
    4 - updated FastJet library to 3.2.1
    5 - updated Nsubjettiness library to 2.2.4
    6 - added scripts that produce validation plots
    7 - added DelphesROOT reader
    8 - added TrackSmearing and BeamSpotFilter modules
    9 - completed TimeSmearing module
    10 - added preliminary version of vertex clustering algorithm in 3/4D, VertexFinder and VertexFinder4D (special thanks to A. Hart and L. Gray)
    11 - fixed muon efficiency at high energy
    12 - replaced gaussian smearing with lognormal in MomentumSmearing module
    13 
    1413.3.3:
    152- improved compatibility with ROOT >= 6.04
  • Makefile

    rb9ae4c3 rec5e04b  
    137137tmp/examples/Example1.$(ObjSuf): \
    138138        examples/Example1.cpp \
    139         classes/DelphesClasses.h \
    140         external/ExRootAnalysis/ExRootTreeReader.h \
    141         external/ExRootAnalysis/ExRootTreeWriter.h \
    142         external/ExRootAnalysis/ExRootTreeBranch.h \
    143         external/ExRootAnalysis/ExRootResult.h \
    144         external/ExRootAnalysis/ExRootUtilities.h
    145 Validation$(ExeSuf): \
    146         tmp/examples/Validation.$(ObjSuf)
    147 
    148 tmp/examples/Validation.$(ObjSuf): \
    149         examples/Validation.cpp \
    150139        classes/DelphesClasses.h \
    151140        external/ExRootAnalysis/ExRootTreeReader.h \
     
    161150        root2pileup$(ExeSuf) \
    162151        stdhep2pileup$(ExeSuf) \
    163         Example1$(ExeSuf) \
    164         Validation$(ExeSuf)
     152        Example1$(ExeSuf)
    165153
    166154EXECUTABLE_OBJ +=  \
     
    171159        tmp/converters/root2pileup.$(ObjSuf) \
    172160        tmp/converters/stdhep2pileup.$(ObjSuf) \
    173         tmp/examples/Example1.$(ObjSuf) \
    174         tmp/examples/Validation.$(ObjSuf)
     161        tmp/examples/Example1.$(ObjSuf)
    175162
    176163DelphesHepMC$(ExeSuf): \
     
    196183        classes/DelphesLHEFReader.h \
    197184        external/ExRootAnalysis/ExRootTreeWriter.h \
    198         external/ExRootAnalysis/ExRootTreeBranch.h \
    199         external/ExRootAnalysis/ExRootProgressBar.h
    200 DelphesROOT$(ExeSuf): \
    201         tmp/readers/DelphesROOT.$(ObjSuf)
    202 
    203 tmp/readers/DelphesROOT.$(ObjSuf): \
    204         readers/DelphesROOT.cpp \
    205         modules/Delphes.h \
    206         classes/DelphesStream.h \
    207         classes/DelphesClasses.h \
    208         classes/DelphesFactory.h \
    209         external/ExRootAnalysis/ExRootTreeWriter.h \
    210         external/ExRootAnalysis/ExRootTreeReader.h \
    211185        external/ExRootAnalysis/ExRootTreeBranch.h \
    212186        external/ExRootAnalysis/ExRootProgressBar.h
     
    226200        DelphesHepMC$(ExeSuf) \
    227201        DelphesLHEF$(ExeSuf) \
    228         DelphesROOT$(ExeSuf) \
    229202        DelphesSTDHEP$(ExeSuf)
    230203
     
    232205        tmp/readers/DelphesHepMC.$(ObjSuf) \
    233206        tmp/readers/DelphesLHEF.$(ObjSuf) \
    234         tmp/readers/DelphesROOT.$(ObjSuf) \
    235207        tmp/readers/DelphesSTDHEP.$(ObjSuf)
    236208
     
    347319        modules/EnergySmearing.h \
    348320        modules/MomentumSmearing.h \
    349         modules/TrackSmearing.h \
    350321        modules/ImpactParameterSmearing.h \
    351322        modules/TimeSmearing.h \
     
    371342        modules/StatusPidFilter.h \
    372343        modules/PdgCodeFilter.h \
    373         modules/BeamSpotFilter.h \
    374         modules/RecoPuFilter.h \
    375344        modules/Cloner.h \
    376345        modules/Weighter.h \
     
    378347        modules/JetFlavorAssociation.h \
    379348        modules/JetFakeParticle.h \
    380         modules/VertexSorter.h \
    381         modules/VertexFinder.h \
    382         modules/VertexFinderDA4D.h \
    383349        modules/ExampleModule.h
    384350tmp/modules/ModulesDict$(PcmSuf): \
     
    587553        classes/DelphesFactory.h \
    588554        classes/DelphesFormula.h
    589 tmp/modules/BeamSpotFilter.$(ObjSuf): \
    590         modules/BeamSpotFilter.$(SrcSuf) \
    591         modules/BeamSpotFilter.h \
    592         classes/DelphesClasses.h \
    593         classes/DelphesFactory.h \
    594         classes/DelphesFormula.h \
    595         external/ExRootAnalysis/ExRootResult.h \
    596         external/ExRootAnalysis/ExRootFilter.h \
    597         external/ExRootAnalysis/ExRootClassifier.h
    598555tmp/modules/Calorimeter.$(ObjSuf): \
    599556        modules/Calorimeter.$(SrcSuf) \
     
    828785        external/ExRootAnalysis/ExRootFilter.h \
    829786        external/ExRootAnalysis/ExRootClassifier.h
    830 tmp/modules/RecoPuFilter.$(ObjSuf): \
    831         modules/RecoPuFilter.$(SrcSuf) \
    832         modules/RecoPuFilter.h \
    833         classes/DelphesClasses.h \
    834         classes/DelphesFactory.h \
    835         classes/DelphesFormula.h \
    836         external/ExRootAnalysis/ExRootResult.h \
    837         external/ExRootAnalysis/ExRootFilter.h \
    838         external/ExRootAnalysis/ExRootClassifier.h
    839787tmp/modules/SimpleCalorimeter.$(ObjSuf): \
    840788        modules/SimpleCalorimeter.$(SrcSuf) \
     
    898846        modules/TrackPileUpSubtractor.$(SrcSuf) \
    899847        modules/TrackPileUpSubtractor.h \
    900         classes/DelphesClasses.h \
    901         classes/DelphesFactory.h \
    902         classes/DelphesFormula.h \
    903         external/ExRootAnalysis/ExRootResult.h \
    904         external/ExRootAnalysis/ExRootFilter.h \
    905         external/ExRootAnalysis/ExRootClassifier.h
    906 tmp/modules/TrackSmearing.$(ObjSuf): \
    907         modules/TrackSmearing.$(SrcSuf) \
    908         modules/TrackSmearing.h \
    909848        classes/DelphesClasses.h \
    910849        classes/DelphesFactory.h \
     
    929868        classes/DelphesFactory.h \
    930869        classes/DelphesFormula.h \
    931         external/ExRootAnalysis/ExRootResult.h \
    932         external/ExRootAnalysis/ExRootFilter.h \
    933         external/ExRootAnalysis/ExRootClassifier.h
    934 tmp/modules/VertexFinder.$(ObjSuf): \
    935         modules/VertexFinder.$(SrcSuf) \
    936         modules/VertexFinder.h \
    937         classes/DelphesClasses.h \
    938         classes/DelphesFactory.h \
    939         classes/DelphesFormula.h \
    940         classes/DelphesPileUpReader.h \
    941         external/ExRootAnalysis/ExRootResult.h \
    942         external/ExRootAnalysis/ExRootFilter.h \
    943         external/ExRootAnalysis/ExRootClassifier.h
    944 tmp/modules/VertexFinderDA4D.$(ObjSuf): \
    945         modules/VertexFinderDA4D.$(SrcSuf) \
    946         modules/VertexFinderDA4D.h \
    947         classes/DelphesClasses.h \
    948         classes/DelphesFactory.h \
    949         classes/DelphesFormula.h \
    950         classes/DelphesPileUpReader.h \
    951         external/ExRootAnalysis/ExRootResult.h \
    952         external/ExRootAnalysis/ExRootFilter.h \
    953         external/ExRootAnalysis/ExRootClassifier.h
    954 tmp/modules/VertexSorter.$(ObjSuf): \
    955         modules/VertexSorter.$(SrcSuf) \
    956         modules/VertexSorter.h \
    957         classes/DelphesClasses.h \
    958         classes/DelphesFactory.h \
    959         classes/DelphesFormula.h \
    960         classes/DelphesPileUpReader.h \
    961870        external/ExRootAnalysis/ExRootResult.h \
    962871        external/ExRootAnalysis/ExRootFilter.h \
     
    1022931        tmp/modules/AngularSmearing.$(ObjSuf) \
    1023932        tmp/modules/BTagging.$(ObjSuf) \
    1024         tmp/modules/BeamSpotFilter.$(ObjSuf) \
    1025933        tmp/modules/Calorimeter.$(ObjSuf) \
    1026934        tmp/modules/Cloner.$(ObjSuf) \
     
    1047955        tmp/modules/PileUpJetID.$(ObjSuf) \
    1048956        tmp/modules/PileUpMerger.$(ObjSuf) \
    1049         tmp/modules/RecoPuFilter.$(ObjSuf) \
    1050957        tmp/modules/SimpleCalorimeter.$(ObjSuf) \
    1051958        tmp/modules/StatusPidFilter.$(ObjSuf) \
     
    1056963        tmp/modules/TrackCountingTauTagging.$(ObjSuf) \
    1057964        tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \
    1058         tmp/modules/TrackSmearing.$(ObjSuf) \
    1059965        tmp/modules/TreeWriter.$(ObjSuf) \
    1060966        tmp/modules/UniqueObjectFinder.$(ObjSuf) \
    1061         tmp/modules/VertexFinder.$(ObjSuf) \
    1062         tmp/modules/VertexFinderDA4D.$(ObjSuf) \
    1063         tmp/modules/VertexSorter.$(ObjSuf) \
    1064967        tmp/modules/Weighter.$(ObjSuf)
    1065968
     
    13071210        external/fastjet/plugins/Jade/JadePlugin.$(SrcSuf) \
    13081211        external/fastjet/ClusterSequence.hh \
    1309         external/fastjet/NNH.hh \
    1310         external/fastjet/NNFJN2Plain.hh
     1212        external/fastjet/NNH.hh
    13111213tmp/external/fastjet/plugins/NestedDefs/NestedDefsPlugin.$(ObjSuf): \
    13121214        external/fastjet/plugins/NestedDefs/NestedDefsPlugin.$(SrcSuf) \
     
    13501252        external/fastjet/tools/Filter.$(SrcSuf) \
    13511253        external/fastjet/tools/Filter.hh \
    1352         external/fastjet/tools/Recluster.hh \
    1353         external/fastjet/tools/Subtractor.hh
     1254        external/fastjet/tools/Recluster.hh
    13541255tmp/external/fastjet/tools/GridMedianBackgroundEstimator.$(ObjSuf): \
    13551256        external/fastjet/tools/GridMedianBackgroundEstimator.$(SrcSuf) \
     
    16681569        tmp/external/tcl/tclVar.$(ObjSuf)
    16691570
    1670 modules/VertexFinderDA4D.h: \
    1671         classes/DelphesModule.h
    1672         @touch $@
    1673 
    1674 modules/TrackSmearing.h: \
    1675         classes/DelphesModule.h
    1676         @touch $@
    1677 
    16781571external/fastjet/ClusterSequence.hh: \
    16791572        external/fastjet/PseudoJet.hh \
     
    16831576        external/fastjet/LimitedWarning.hh \
    16841577        external/fastjet/FunctionOfPseudoJet.hh \
    1685         external/fastjet/ClusterSequenceStructure.hh \
    1686         external/fastjet/internal/deprecated.hh
     1578        external/fastjet/ClusterSequenceStructure.hh
    16871579        @touch $@
    16881580
     
    16901582        external/fastjet/internal/ClosestPair2DBase.hh \
    16911583        external/fastjet/internal/SearchTree.hh \
    1692         external/fastjet/internal/MinHeap.hh \
    1693         external/fastjet/SharedPtr.hh
     1584        external/fastjet/internal/MinHeap.hh
    16941585        @touch $@
    16951586
     
    17241615        external/fastjet/internal/numconsts.hh \
    17251616        external/fastjet/PseudoJet.hh \
    1726         external/fastjet/internal/deprecated.hh \
    17271617        external/fastjet/ClusterSequence.hh
    17281618        @touch $@
     
    19301820        external/fastjet/internal/BasicRandom.hh \
    19311821        external/fastjet/Selector.hh \
    1932         external/fastjet/LimitedWarning.hh \
    1933         external/fastjet/internal/deprecated.hh
     1822        external/fastjet/LimitedWarning.hh
    19341823        @touch $@
    19351824
     
    19401829        @touch $@
    19411830
    1942 modules/VertexSorter.h: \
    1943         classes/DelphesModule.h
    1944         @touch $@
    1945 
    19461831modules/Delphes.h: \
    1947         classes/DelphesModule.h
    1948         @touch $@
    1949 
    1950 modules/VertexFinder.h: \
    19511832        classes/DelphesModule.h
    19521833        @touch $@
     
    19941875        external/fastjet/PseudoJet.hh \
    19951876        external/fastjet/Error.hh \
    1996         external/fastjet/LimitedWarning.hh \
    1997         external/fastjet/internal/deprecated.hh
     1877        external/fastjet/LimitedWarning.hh
    19981878        @touch $@
    19991879
     
    20051885        external/fastjet/ClusterSequence.hh \
    20061886        external/fastjet/LimitedWarning.hh \
    2007         external/fastjet/Selector.hh \
    2008         external/fastjet/internal/deprecated.hh
     1887        external/fastjet/Selector.hh
    20091888        @touch $@
    20101889
     
    20201899
    20211900modules/BTagging.h: \
    2022         classes/DelphesModule.h
    2023         @touch $@
    2024 
    2025 modules/RecoPuFilter.h: \
    20261901        classes/DelphesModule.h
    20271902        @touch $@
     
    21262001
    21272002modules/FastJetFinder.h: \
    2128         classes/DelphesModule.h
    2129         @touch $@
    2130 
    2131 modules/BeamSpotFilter.h: \
    21322003        classes/DelphesModule.h
    21332004        @touch $@
  • README

    rb9ae4c3 rec5e04b  
    44Commands to get the code:
    55
    6    wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.4.0.tar.gz
     6   wget http://cp3.irmp.ucl.ac.be/downloads/Delphes-3.3.3.tar.gz
    77
    8    tar -zxf Delphes-3.4.0.tar.gz
     8   tar -zxf Delphes-3.3.3.tar.gz
    99
    1010Commands to compile the code:
    1111
    12    cd Delphes-3.4.0
     12   cd Delphes-3.3.3
    1313
    1414   make
  • VERSION

    rb9ae4c3 rec5e04b  
    1 3.4.0
     13.3.3
  • cards/converter_card.tcl

    rb9ae4c3 rec5e04b  
    1313module TreeWriter TreeWriter {
    1414# add Branch InputArray BranchName BranchClass
    15   add Branch Delphes/stableParticles Particle GenParticle
     15  add Branch Delphes/allParticles Particle GenParticle
    1616}
    1717
  • cards/delphes_card_ATLAS.tcl

    rb9ae4c3 rec5e04b  
    141141
    142142  # resolution formula for charged hadrons
    143   set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
    144                          (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
    145                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
     143  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*1.5e-4^2) +
     144                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.015^2 + pt^2*2.5e-4^2) +
     145                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.025^2 + pt^2*5.5e-4^2)}
    146146}
    147147
  • cards/delphes_card_ATLAS_PileUp.tcl

    rb9ae4c3 rec5e04b  
    177177  # resolution formula for charged hadrons
    178178  # based on arXiv:1405.6569
    179   set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
    180                          (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
    181                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
     179  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*1.5e-4^2) +
     180                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.015^2 + pt^2*2.5e-4^2) +
     181                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.025^2 + pt^2*5.5e-4^2)}
    182182}
    183183
  • cards/delphes_card_CMS.tcl

    rb9ae4c3 rec5e04b  
    1515
    1616  TrackMerger
    17  
    18   ECal
    19   HCal
    20  
    2117  Calorimeter
    2218  EFlowMerger
     
    128124  set EfficiencyFormula {                                                    (pt <= 0.1)   * (0.00) +
    129125                                           (abs(eta) <= 1.5) * (pt > 0.1   && pt <= 1.0)   * (0.75) +
    130                                            (abs(eta) <= 1.5) * (pt > 1.0   && pt <= 1.0e3) * (0.99) +
    131                                            (abs(eta) <= 1.5) * (pt > 1.0e3 )               * (0.99 * exp(0.5 - pt*5.0e-4)) +
    132 
     126                                           (abs(eta) <= 1.5) * (pt > 1.0)                  * (0.99) +
    133127                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1   && pt <= 1.0)   * (0.70) +
    134                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0   && pt <= 1.0e3) * (0.98) +
    135                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e3)                * (0.98 * exp(0.5 - pt*5.0e-4)) +
     128                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0)                  * (0.98) +
    136129                         (abs(eta) > 2.5)                                                  * (0.00)}
    137130}
     
    149142  # resolution formula for charged hadrons
    150143  # based on arXiv:1405.6569
    151   set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
    152                          (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
    153                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
     144  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*1.5e-4^2) +
     145                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.015^2 + pt^2*2.5e-4^2) +
     146                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.025^2 + pt^2*5.5e-4^2)}
    154147}
    155148
     
    199192}
    200193
    201 
    202 
    203194#############
    204 #   ECAL
     195# Calorimeter
    205196#############
    206197
    207 module SimpleCalorimeter ECal {
     198module Calorimeter Calorimeter {
    208199  set ParticleInputArray ParticlePropagator/stableParticles
    209200  set TrackInputArray TrackMerger/tracks
    210201
    211   set TowerOutputArray ecalTowers
     202  set TowerOutputArray towers
     203  set PhotonOutputArray photons
     204
    212205  set EFlowTrackOutputArray eflowTracks
    213   set EFlowTowerOutputArray eflowPhotons
    214 
    215   set IsEcal true
    216 
    217   set EnergyMin 0.5
    218   set EnergySignificanceMin 2.0
    219 
    220   set SmearTowerCenter true
    221 
    222   set pi [expr {acos(-1)}]
    223 
    224   # lists of the edges of each tower in eta and phi
    225   # each list starts with the lower edge of the first tower
    226   # the list ends with the higher edged of the last tower
    227 
    228   # assume 0.02 x 0.02 resolution in eta,phi in the barrel |eta| < 1.5
    229 
    230   set PhiBins {}
    231   for {set i -180} {$i <= 180} {incr i} {
    232     add PhiBins [expr {$i * $pi/180.0}]
    233   }
    234 
    235   # 0.02 unit in eta up to eta = 1.5 (barrel)
    236   for {set i -85} {$i <= 86} {incr i} {
    237     set eta [expr {$i * 0.0174}]
    238     add EtaPhiBins $eta $PhiBins
    239   }
    240 
    241   # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- ECAL)
    242 
    243   set PhiBins {}
    244   for {set i -180} {$i <= 180} {incr i} {
    245     add PhiBins [expr {$i * $pi/180.0}]
    246   }
    247 
    248   # 0.02 unit in eta up to eta = 3
    249   for {set i 1} {$i <= 84} {incr i} {
    250     set eta [expr { -2.958 + $i * 0.0174}]
    251     add EtaPhiBins $eta $PhiBins
    252   }
    253 
    254   for {set i 1} {$i <= 84} {incr i} {
    255     set eta [expr { 1.4964 + $i * 0.0174}]
    256     add EtaPhiBins $eta $PhiBins
    257   }
    258 
    259   # take present CMS granularity for HF
    260 
    261   # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
    262   set PhiBins {}
    263   for {set i -18} {$i <= 18} {incr i} {
    264     add PhiBins [expr {$i * $pi/18.0}]
    265   }
    266 
    267   foreach eta {-5 -4.7 -4.525 -4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.958 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525 4.7 5} {
    268     add EtaPhiBins $eta $PhiBins
    269   }
    270 
    271 
    272   add EnergyFraction {0} {0.0}
    273   # energy fractions for e, gamma and pi0
    274   add EnergyFraction {11} {1.0}
    275   add EnergyFraction {22} {1.0}
    276   add EnergyFraction {111} {1.0}
    277   # energy fractions for muon, neutrinos and neutralinos
    278   add EnergyFraction {12} {0.0}
    279   add EnergyFraction {13} {0.0}
    280   add EnergyFraction {14} {0.0}
    281   add EnergyFraction {16} {0.0}
    282   add EnergyFraction {1000022} {0.0}
    283   add EnergyFraction {1000023} {0.0}
    284   add EnergyFraction {1000025} {0.0}
    285   add EnergyFraction {1000035} {0.0}
    286   add EnergyFraction {1000045} {0.0}
    287   # energy fractions for K0short and Lambda
    288   add EnergyFraction {310} {0.3}
    289   add EnergyFraction {3122} {0.3}
    290 
    291   # set ResolutionFormula {resolution formula as a function of eta and energy}
    292 
    293   # for the ECAL barrel (|eta| < 1.5), see hep-ex/1306.2016 and 1502.02701
    294 
    295   # set ECalResolutionFormula {resolution formula as a function of eta and energy}
    296   # Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
    297   set ResolutionFormula {                      (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
    298                              (abs(eta) > 1.5 && abs(eta) <= 2.5) * (2.16 + 5.6*(abs(eta)-2)^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
    299                              (abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
    300 
    301 }
    302 
    303 
    304 #############
    305 #   HCAL
    306 #############
    307 
    308 module SimpleCalorimeter HCal {
    309   set ParticleInputArray ParticlePropagator/stableParticles
    310   set TrackInputArray ECal/eflowTracks
    311 
    312   set TowerOutputArray hcalTowers
    313   set EFlowTrackOutputArray eflowTracks
    314   set EFlowTowerOutputArray eflowNeutralHadrons
    315 
    316   set IsEcal false
    317 
    318   set EnergyMin 1.0
    319   set EnergySignificanceMin 2.0
     206  set EFlowPhotonOutputArray eflowPhotons
     207  set EFlowNeutralHadronOutputArray eflowNeutralHadrons
     208
     209  set ECalEnergyMin 0.5
     210  set HCalEnergyMin 1.0
     211
     212  set ECalEnergySignificanceMin 1.0
     213  set HCalEnergySignificanceMin 1.0
    320214
    321215  set SmearTowerCenter true
     
    355249
    356250  # default energy fractions {abs(PDG code)} {Fecal Fhcal}
    357   add EnergyFraction {0} {1.0}
     251  add EnergyFraction {0} {0.0 1.0}
    358252  # energy fractions for e, gamma and pi0
    359   add EnergyFraction {11} {0.0}
    360   add EnergyFraction {22} {0.0}
    361   add EnergyFraction {111} {0.0}
     253  add EnergyFraction {11} {1.0 0.0}
     254  add EnergyFraction {22} {1.0 0.0}
     255  add EnergyFraction {111} {1.0 0.0}
    362256  # energy fractions for muon, neutrinos and neutralinos
    363   add EnergyFraction {12} {0.0}
    364   add EnergyFraction {13} {0.0}
    365   add EnergyFraction {14} {0.0}
    366   add EnergyFraction {16} {0.0}
    367   add EnergyFraction {1000022} {0.0}
    368   add EnergyFraction {1000023} {0.0}
    369   add EnergyFraction {1000025} {0.0}
    370   add EnergyFraction {1000035} {0.0}
    371   add EnergyFraction {1000045} {0.0}
     257  add EnergyFraction {12} {0.0 0.0}
     258  add EnergyFraction {13} {0.0 0.0}
     259  add EnergyFraction {14} {0.0 0.0}
     260  add EnergyFraction {16} {0.0 0.0}
     261  add EnergyFraction {1000022} {0.0 0.0}
     262  add EnergyFraction {1000023} {0.0 0.0}
     263  add EnergyFraction {1000025} {0.0 0.0}
     264  add EnergyFraction {1000035} {0.0 0.0}
     265  add EnergyFraction {1000045} {0.0 0.0}
    372266  # energy fractions for K0short and Lambda
    373   add EnergyFraction {310} {0.7}
    374   add EnergyFraction {3122} {0.7}
     267  add EnergyFraction {310} {0.3 0.7}
     268  add EnergyFraction {3122} {0.3 0.7}
     269
     270  # set ECalResolutionFormula {resolution formula as a function of eta and energy}
     271  # Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
     272  set ECalResolutionFormula {                  (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
     273                             (abs(eta) > 1.5 && abs(eta) <= 2.5) * (2.16 + 5.6*(abs(eta)-2)^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
     274                             (abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
    375275
    376276  # set HCalResolutionFormula {resolution formula as a function of eta and energy}
    377   set ResolutionFormula {                      (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
     277  set HCalResolutionFormula {                  (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
    378278                             (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
    379 
    380 }
    381 
    382 
    383 #################
    384 # Electron filter
    385 #################
    386 
    387 module PdgCodeFilter ElectronFilter {
    388   set InputArray HCal/eflowTracks
    389   set OutputArray electrons
    390   set Invert true
    391   add PdgCode {11}
    392   add PdgCode {-11}
    393 }
    394 
    395 ###################################################
    396 # Tower Merger (in case not using e-flow algorithm)
    397 ###################################################
    398 
    399 module Merger Calorimeter {
    400 # add InputArray InputArray
    401   add InputArray ECal/ecalTowers
    402   add InputArray HCal/hcalTowers
    403   set OutputArray towers
    404 }
    405 
    406 
     279}
    407280
    408281####################
     
    412285module Merger EFlowMerger {
    413286# add InputArray InputArray
    414   add InputArray HCal/eflowTracks
    415   add InputArray ECal/eflowPhotons
    416   add InputArray HCal/eflowNeutralHadrons
     287  add InputArray Calorimeter/eflowTracks
     288  add InputArray Calorimeter/eflowPhotons
     289  add InputArray Calorimeter/eflowNeutralHadrons
    417290  set OutputArray eflow
    418291}
     
    423296
    424297module Efficiency PhotonEfficiency {
    425   set InputArray ECal/eflowPhotons
     298  set InputArray Calorimeter/eflowPhotons
    426299  set OutputArray photons
    427300
     
    452325}
    453326
     327#################
     328# Electron filter
     329#################
     330
     331module PdgCodeFilter ElectronFilter {
     332  set InputArray Calorimeter/eflowTracks
     333  set OutputArray electrons
     334  set Invert true
     335  add PdgCode {11}
     336  add PdgCode {-11}
     337}
    454338
    455339#####################
     
    498382
    499383  # efficiency formula for muons
    500   set EfficiencyFormula {                                     (pt <= 10.0)                * (0.00) +
    501                                            (abs(eta) <= 1.5) * (pt > 10.0)                * (0.95) +
    502                          (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0)                * (0.95) +
     384  set EfficiencyFormula {                                      (pt <= 10.0)               * (0.00) +
     385                                           (abs(eta) <= 1.5) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
     386                                           (abs(eta) <= 1.5) * (pt > 1.0e3)               * (0.95 * exp(0.5 - pt*5.0e-4)) +
     387                         (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
     388                         (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 1.0e3)               * (0.95 * exp(0.5 - pt*5.0e-4)) +
    503389                         (abs(eta) > 2.4)                                                 * (0.00)}
    504390}
     
    716602  add Branch Calorimeter/towers Tower Tower
    717603
    718   add Branch HCal/eflowTracks EFlowTrack Track
    719   add Branch ECal/eflowPhotons EFlowPhoton Tower
    720   add Branch HCal/eflowNeutralHadrons EFlowNeutralHadron Tower
     604  add Branch Calorimeter/eflowTracks EFlowTrack Track
     605  add Branch Calorimeter/eflowPhotons EFlowPhoton Tower
     606  add Branch Calorimeter/eflowNeutralHadrons EFlowNeutralHadron Tower
    721607
    722608  add Branch GenJetFinder/jets GenJet Jet
    723609  add Branch GenMissingET/momentum GenMissingET MissingET
    724  
     610
    725611  add Branch UniqueObjectFinder/jets Jet Jet
    726612  add Branch UniqueObjectFinder/electrons Electron Electron
  • cards/delphes_card_CMS_NoFastJet.tcl

    rb9ae4c3 rec5e04b  
    1515
    1616  TrackMerger
    17 
    18   ECal
    19   HCal
    20 
    2117  Calorimeter
    2218  EFlowMerger
    23 
    2419}
    2520
     
    9893  set EfficiencyFormula {                                                    (pt <= 0.1)   * (0.00) +
    9994                                           (abs(eta) <= 1.5) * (pt > 0.1   && pt <= 1.0)   * (0.75) +
    100                                            (abs(eta) <= 1.5) * (pt > 1.0   && pt <= 1.0e3) * (0.99) +
    101                                            (abs(eta) <= 1.5) * (pt > 1.0e3 )               * (0.99 * exp(0.5 - pt*5.0e-4)) +
    102 
     95                                           (abs(eta) <= 1.5) * (pt > 1.0)                  * (0.99) +
    10396                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1   && pt <= 1.0)   * (0.70) +
    104                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0   && pt <= 1.0e3) * (0.98) +
    105                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e3)                * (0.98 * exp(0.5 - pt*5.0e-4)) +
     97                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0)                  * (0.98) +
    10698                         (abs(eta) > 2.5)                                                  * (0.00)}
    107 
    10899}
    109100
     
    137128  # resolution formula for electrons
    138129  # based on arXiv:1405.6569
    139   set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.03^2 + pt^2*1.3e-3^2) +
    140                          (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.05^2 + pt^2*1.7e-3^2) +
    141                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.15^2 + pt^2*3.1e-3^2)}
     130  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
     131                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
     132                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
    142133}
    143134
     
    153144
    154145  # resolution formula for muons
    155   set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*1.0e-4^2) +
    156                          (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.015^2 + pt^2*1.5e-4^2) +
    157                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.025^2 + pt^2*3.5e-4^2)}
    158 }
    159 
     146  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*2.0e-4^2) +
     147                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.02^2 + pt^2*3.0e-4^2) +
     148                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.05^2 + pt^2*6.0e-4^2)}
     149}
    160150
    161151##############
     
    172162
    173163#############
    174 #   ECAL
     164# Calorimeter
    175165#############
    176166
    177 module SimpleCalorimeter ECal {
     167module Calorimeter Calorimeter {
    178168  set ParticleInputArray ParticlePropagator/stableParticles
    179169  set TrackInputArray TrackMerger/tracks
    180170
    181   set TowerOutputArray ecalTowers
     171  set TowerOutputArray towers
     172  set PhotonOutputArray photons
     173
    182174  set EFlowTrackOutputArray eflowTracks
    183   set EFlowTowerOutputArray eflowPhotons
    184 
    185   set IsEcal true
    186 
    187   set EnergyMin 0.5
    188   set EnergySignificanceMin 2.0
    189 
    190   set SmearTowerCenter true
    191 
    192   set pi [expr {acos(-1)}]
    193 
    194   # lists of the edges of each tower in eta and phi
    195   # each list starts with the lower edge of the first tower
    196   # the list ends with the higher edged of the last tower
    197 
    198   # assume 0.02 x 0.02 resolution in eta,phi in the barrel |eta| < 1.5
    199 
    200   set PhiBins {}
    201   for {set i -180} {$i <= 180} {incr i} {
    202     add PhiBins [expr {$i * $pi/180.0}]
    203   }
    204 
    205   # 0.02 unit in eta up to eta = 1.5 (barrel)
    206   for {set i -85} {$i <= 86} {incr i} {
    207     set eta [expr {$i * 0.0174}]
    208     add EtaPhiBins $eta $PhiBins
    209   }
    210 
    211   # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- ECAL)
    212 
    213   set PhiBins {}
    214   for {set i -180} {$i <= 180} {incr i} {
    215     add PhiBins [expr {$i * $pi/180.0}]
    216   }
    217 
    218   # 0.02 unit in eta up to eta = 3
    219   for {set i 1} {$i <= 84} {incr i} {
    220     set eta [expr { -2.958 + $i * 0.0174}]
    221     add EtaPhiBins $eta $PhiBins
    222   }
    223 
    224   for {set i 1} {$i <= 84} {incr i} {
    225     set eta [expr { 1.4964 + $i * 0.0174}]
    226     add EtaPhiBins $eta $PhiBins
    227   }
    228 
    229   # take present CMS granularity for HF
    230 
    231   # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
    232   set PhiBins {}
    233   for {set i -18} {$i <= 18} {incr i} {
    234     add PhiBins [expr {$i * $pi/18.0}]
    235   }
    236 
    237   foreach eta {-5 -4.7 -4.525 -4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.958 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525 4.7 5} {
    238     add EtaPhiBins $eta $PhiBins
    239   }
    240 
    241 
    242   add EnergyFraction {0} {0.0}
    243   # energy fractions for e, gamma and pi0
    244   add EnergyFraction {11} {1.0}
    245   add EnergyFraction {22} {1.0}
    246   add EnergyFraction {111} {1.0}
    247   # energy fractions for muon, neutrinos and neutralinos
    248   add EnergyFraction {12} {0.0}
    249   add EnergyFraction {13} {0.0}
    250   add EnergyFraction {14} {0.0}
    251   add EnergyFraction {16} {0.0}
    252   add EnergyFraction {1000022} {0.0}
    253   add EnergyFraction {1000023} {0.0}
    254   add EnergyFraction {1000025} {0.0}
    255   add EnergyFraction {1000035} {0.0}
    256   add EnergyFraction {1000045} {0.0}
    257   # energy fractions for K0short and Lambda
    258   add EnergyFraction {310} {0.3}
    259   add EnergyFraction {3122} {0.3}
    260 
    261   # set ResolutionFormula {resolution formula as a function of eta and energy}
    262 
    263   # for the ECAL barrel (|eta| < 1.5), see hep-ex/1306.2016 and 1502.02701
    264 
    265   # set ECalResolutionFormula {resolution formula as a function of eta and energy}
    266   # Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
    267   set ResolutionFormula {                      (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
    268                              (abs(eta) > 1.5 && abs(eta) <= 2.5) * (2.16 + 5.6*(abs(eta)-2)^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
    269                              (abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
    270 
    271 }
    272 
    273 
    274 #############
    275 #   HCAL
    276 #############
    277 
    278 module SimpleCalorimeter HCal {
    279   set ParticleInputArray ParticlePropagator/stableParticles
    280   set TrackInputArray ECal/eflowTracks
    281 
    282   set TowerOutputArray hcalTowers
    283   set EFlowTrackOutputArray eflowTracks
    284   set EFlowTowerOutputArray eflowNeutralHadrons
    285 
    286   set IsEcal false
    287 
    288   set EnergyMin 1.0
    289   set EnergySignificanceMin 2.0
     175  set EFlowPhotonOutputArray eflowPhotons
     176  set EFlowNeutralHadronOutputArray eflowNeutralHadrons
     177
     178  set ECalEnergyMin 0.5
     179  set HCalEnergyMin 1.0
     180
     181  set ECalEnergySignificanceMin 1.0
     182  set HCalEnergySignificanceMin 1.0
    290183
    291184  set SmearTowerCenter true
     
    325218
    326219  # default energy fractions {abs(PDG code)} {Fecal Fhcal}
    327   add EnergyFraction {0} {1.0}
     220  add EnergyFraction {0} {0.0 1.0}
    328221  # energy fractions for e, gamma and pi0
    329   add EnergyFraction {11} {0.0}
    330   add EnergyFraction {22} {0.0}
    331   add EnergyFraction {111} {0.0}
     222  add EnergyFraction {11} {1.0 0.0}
     223  add EnergyFraction {22} {1.0 0.0}
     224  add EnergyFraction {111} {1.0 0.0}
    332225  # energy fractions for muon, neutrinos and neutralinos
    333   add EnergyFraction {12} {0.0}
    334   add EnergyFraction {13} {0.0}
    335   add EnergyFraction {14} {0.0}
    336   add EnergyFraction {16} {0.0}
    337   add EnergyFraction {1000022} {0.0}
    338   add EnergyFraction {1000023} {0.0}
    339   add EnergyFraction {1000025} {0.0}
    340   add EnergyFraction {1000035} {0.0}
    341   add EnergyFraction {1000045} {0.0}
     226  add EnergyFraction {12} {0.0 0.0}
     227  add EnergyFraction {13} {0.0 0.0}
     228  add EnergyFraction {14} {0.0 0.0}
     229  add EnergyFraction {16} {0.0 0.0}
     230  add EnergyFraction {1000022} {0.0 0.0}
     231  add EnergyFraction {1000023} {0.0 0.0}
     232  add EnergyFraction {1000025} {0.0 0.0}
     233  add EnergyFraction {1000035} {0.0 0.0}
     234  add EnergyFraction {1000045} {0.0 0.0}
    342235  # energy fractions for K0short and Lambda
    343   add EnergyFraction {310} {0.7}
    344   add EnergyFraction {3122} {0.7}
     236  add EnergyFraction {310} {0.3 0.7}
     237  add EnergyFraction {3122} {0.3 0.7}
     238
     239  # set ECalResolutionFormula {resolution formula as a function of eta and energy}
     240  set ECalResolutionFormula {                  (abs(eta) <= 3.0) * sqrt(energy^2*0.007^2 + energy*0.07^2 + 0.35^2)  +
     241                             (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
    345242
    346243  # set HCalResolutionFormula {resolution formula as a function of eta and energy}
    347   set ResolutionFormula {                      (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
     244  set HCalResolutionFormula {                  (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
    348245                             (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
    349 
    350 }
    351 
    352 ###################################################
    353 # Tower Merger (in case not using e-flow algorithm)
    354 ###################################################
    355 
    356 module Merger Calorimeter {
    357 # add InputArray InputArray
    358   add InputArray ECal/ecalTowers
    359   add InputArray HCal/hcalTowers
    360   set OutputArray towers
    361 }
    362 
     246}
    363247
    364248####################
     
    368252module Merger EFlowMerger {
    369253# add InputArray InputArray
    370   add InputArray HCal/eflowTracks
    371   add InputArray ECal/eflowPhotons
    372   add InputArray HCal/eflowNeutralHadrons
     254  add InputArray Calorimeter/eflowTracks
     255  add InputArray Calorimeter/eflowPhotons
     256  add InputArray Calorimeter/eflowNeutralHadrons
    373257  set OutputArray eflow
    374258}
    375 
  • cards/delphes_card_CMS_PileUp.tcl

    rb9ae4c3 rec5e04b  
    1717
    1818  TrackMerger
    19 
    20   ECal
    21   HCal
    22 
     19  Calorimeter
    2320  ElectronFilter
    2421  TrackPileUpSubtractor
     
    4845
    4946  MissingET
    50 
     47 
    5148  JetFlavorAssociation
    5249
     
    8582  # vertex smearing formula f(z,t) (z,t need to be respectively given in m,s)
    8683  set VertexDistributionFormula {exp(-(t^2/160e-12^2/2))*exp(-(z^2/0.053^2/2))}
    87 
     84 
    8885
    8986}
     
    163160  set EfficiencyFormula {                                                    (pt <= 0.1)   * (0.00) +
    164161                                           (abs(eta) <= 1.5) * (pt > 0.1   && pt <= 1.0)   * (0.75) +
    165                                            (abs(eta) <= 1.5) * (pt > 1.0   && pt <= 1.0e3) * (0.99) +
    166                                            (abs(eta) <= 1.5) * (pt > 1.0e3 )               * (0.99 * exp(0.5 - pt*5.0e-4)) +
    167 
     162                                           (abs(eta) <= 1.5) * (pt > 1.0)                  * (0.99) +
    168163                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1   && pt <= 1.0)   * (0.70) +
    169                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0   && pt <= 1.0e3) * (0.98) +
    170                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0e3)                * (0.98 * exp(0.5 - pt*5.0e-4)) +
     164                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 1.0)                  * (0.98) +
    171165                         (abs(eta) > 2.5)                                                  * (0.00)}
    172166}
     
    184178  # resolution formula for charged hadrons
    185179  # based on arXiv:1405.6569
    186   set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.06^2 + pt^2*1.3e-3^2) +
    187                          (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.10^2 + pt^2*1.7e-3^2) +
    188                          (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.25^2 + pt^2*3.1e-3^2)}
     180  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.01^2 + pt^2*1.5e-4^2) +
     181                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.015^2 + pt^2*2.5e-4^2) +
     182                         (abs(eta) > 1.5 && abs(eta) <= 2.5) * (pt > 0.1) * sqrt(0.025^2 + pt^2*5.5e-4^2)}
    189183}
    190184
     
    235229
    236230#############
    237 #   ECAL
     231# Calorimeter
    238232#############
    239233
    240 module SimpleCalorimeter ECal {
     234module Calorimeter Calorimeter {
    241235  set ParticleInputArray ParticlePropagator/stableParticles
    242236  set TrackInputArray TrackMerger/tracks
    243237
    244   set TowerOutputArray ecalTowers
     238  set TowerOutputArray towers
     239  set PhotonOutputArray photons
     240
    245241  set EFlowTrackOutputArray eflowTracks
    246   set EFlowTowerOutputArray eflowPhotons
    247 
    248   set IsEcal true
    249 
    250   set EnergyMin 0.5
    251   set EnergySignificanceMin 2.0
    252 
    253   set SmearTowerCenter true
    254 
    255   set pi [expr {acos(-1)}]
    256 
    257   # lists of the edges of each tower in eta and phi
    258   # each list starts with the lower edge of the first tower
    259   # the list ends with the higher edged of the last tower
    260 
    261   # assume 0.02 x 0.02 resolution in eta,phi in the barrel |eta| < 1.5
    262 
    263   set PhiBins {}
    264   for {set i -180} {$i <= 180} {incr i} {
    265     add PhiBins [expr {$i * $pi/180.0}]
    266   }
    267 
    268   # 0.02 unit in eta up to eta = 1.5 (barrel)
    269   for {set i -85} {$i <= 86} {incr i} {
    270     set eta [expr {$i * 0.0174}]
    271     add EtaPhiBins $eta $PhiBins
    272   }
    273 
    274   # assume 0.02 x 0.02 resolution in eta,phi in the endcaps 1.5 < |eta| < 3.0 (HGCAL- ECAL)
    275 
    276   set PhiBins {}
    277   for {set i -180} {$i <= 180} {incr i} {
    278     add PhiBins [expr {$i * $pi/180.0}]
    279   }
    280 
    281   # 0.02 unit in eta up to eta = 3
    282   for {set i 1} {$i <= 84} {incr i} {
    283     set eta [expr { -2.958 + $i * 0.0174}]
    284     add EtaPhiBins $eta $PhiBins
    285   }
    286 
    287   for {set i 1} {$i <= 84} {incr i} {
    288     set eta [expr { 1.4964 + $i * 0.0174}]
    289     add EtaPhiBins $eta $PhiBins
    290   }
    291 
    292   # take present CMS granularity for HF
    293 
    294   # 0.175 x (0.175 - 0.35) resolution in eta,phi in the HF 3.0 < |eta| < 5.0
    295   set PhiBins {}
    296   for {set i -18} {$i <= 18} {incr i} {
    297     add PhiBins [expr {$i * $pi/18.0}]
    298   }
    299 
    300   foreach eta {-5 -4.7 -4.525 -4.35 -4.175 -4 -3.825 -3.65 -3.475 -3.3 -3.125 -2.958 3.125 3.3 3.475 3.65 3.825 4 4.175 4.35 4.525 4.7 5} {
    301     add EtaPhiBins $eta $PhiBins
    302   }
    303 
    304 
    305   add EnergyFraction {0} {0.0}
    306   # energy fractions for e, gamma and pi0
    307   add EnergyFraction {11} {1.0}
    308   add EnergyFraction {22} {1.0}
    309   add EnergyFraction {111} {1.0}
    310   # energy fractions for muon, neutrinos and neutralinos
    311   add EnergyFraction {12} {0.0}
    312   add EnergyFraction {13} {0.0}
    313   add EnergyFraction {14} {0.0}
    314   add EnergyFraction {16} {0.0}
    315   add EnergyFraction {1000022} {0.0}
    316   add EnergyFraction {1000023} {0.0}
    317   add EnergyFraction {1000025} {0.0}
    318   add EnergyFraction {1000035} {0.0}
    319   add EnergyFraction {1000045} {0.0}
    320   # energy fractions for K0short and Lambda
    321   add EnergyFraction {310} {0.3}
    322   add EnergyFraction {3122} {0.3}
    323 
    324   # set ResolutionFormula {resolution formula as a function of eta and energy}
    325 
    326   # for the ECAL barrel (|eta| < 1.5), see hep-ex/1306.2016 and 1502.02701
    327 
    328   # set ECalResolutionFormula {resolution formula as a function of eta and energy}
    329   # Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
    330   set ResolutionFormula {                      (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
    331                              (abs(eta) > 1.5 && abs(eta) <= 2.5) * (2.16 + 5.6*(abs(eta)-2)^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
    332                              (abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
    333 
    334 }
    335 
    336 
    337 #############
    338 #   HCAL
    339 #############
    340 
    341 module SimpleCalorimeter HCal {
    342   set ParticleInputArray ParticlePropagator/stableParticles
    343   set TrackInputArray ECal/eflowTracks
    344 
    345   set TowerOutputArray hcalTowers
    346   set EFlowTrackOutputArray eflowTracks
    347   set EFlowTowerOutputArray eflowNeutralHadrons
    348 
    349   set IsEcal false
    350 
    351   set EnergyMin 1.0
    352   set EnergySignificanceMin 2.0
     242  set EFlowPhotonOutputArray eflowPhotons
     243  set EFlowNeutralHadronOutputArray eflowNeutralHadrons
     244
     245  set ECalEnergyMin 0.5
     246  set HCalEnergyMin 1.0
     247
     248  set ECalEnergySignificanceMin 1.0
     249  set HCalEnergySignificanceMin 1.0
    353250
    354251  set SmearTowerCenter true
     
    388285
    389286  # default energy fractions {abs(PDG code)} {Fecal Fhcal}
    390   add EnergyFraction {0} {1.0}
     287  add EnergyFraction {0} {0.0 1.0}
    391288  # energy fractions for e, gamma and pi0
    392   add EnergyFraction {11} {0.0}
    393   add EnergyFraction {22} {0.0}
    394   add EnergyFraction {111} {0.0}
     289  add EnergyFraction {11} {1.0 0.0}
     290  add EnergyFraction {22} {1.0 0.0}
     291  add EnergyFraction {111} {1.0 0.0}
    395292  # energy fractions for muon, neutrinos and neutralinos
    396   add EnergyFraction {12} {0.0}
    397   add EnergyFraction {13} {0.0}
    398   add EnergyFraction {14} {0.0}
    399   add EnergyFraction {16} {0.0}
    400   add EnergyFraction {1000022} {0.0}
    401   add EnergyFraction {1000023} {0.0}
    402   add EnergyFraction {1000025} {0.0}
    403   add EnergyFraction {1000035} {0.0}
    404   add EnergyFraction {1000045} {0.0}
     293  add EnergyFraction {12} {0.0 0.0}
     294  add EnergyFraction {13} {0.0 0.0}
     295  add EnergyFraction {14} {0.0 0.0}
     296  add EnergyFraction {16} {0.0 0.0}
     297  add EnergyFraction {1000022} {0.0 0.0}
     298  add EnergyFraction {1000023} {0.0 0.0}
     299  add EnergyFraction {1000025} {0.0 0.0}
     300  add EnergyFraction {1000035} {0.0 0.0}
     301  add EnergyFraction {1000045} {0.0 0.0}
    405302  # energy fractions for K0short and Lambda
    406   add EnergyFraction {310} {0.7}
    407   add EnergyFraction {3122} {0.7}
     303  add EnergyFraction {310} {0.3 0.7}
     304  add EnergyFraction {3122} {0.3 0.7}
     305
     306  # set ECalResolutionFormula {resolution formula as a function of eta and energy}
     307  # Eta shape from arXiv:1306.2016, Energy shape from arXiv:1502.02701
     308  set ECalResolutionFormula {                  (abs(eta) <= 1.5) * (1+0.64*eta^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
     309                             (abs(eta) > 1.5 && abs(eta) <= 2.5) * (2.16 + 5.6*(abs(eta)-2)^2) * sqrt(energy^2*0.008^2 + energy*0.11^2 + 0.40^2) +
     310                             (abs(eta) > 2.5 && abs(eta) <= 5.0) * sqrt(energy^2*0.107^2 + energy*2.08^2)}
    408311
    409312  # set HCalResolutionFormula {resolution formula as a function of eta and energy}
    410   set ResolutionFormula {                      (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
     313  set HCalResolutionFormula {                  (abs(eta) <= 3.0) * sqrt(energy^2*0.050^2 + energy*1.50^2) +
    411314                             (abs(eta) > 3.0 && abs(eta) <= 5.0) * sqrt(energy^2*0.130^2 + energy*2.70^2)}
    412 
    413315}
    414316
     
    418320
    419321module PdgCodeFilter ElectronFilter {
    420   set InputArray HCal/eflowTracks
     322  set InputArray Calorimeter/eflowTracks
    421323  set OutputArray electrons
    422324  set Invert true
     
    425327}
    426328
    427 ###################################################
    428 # Tower Merger (in case not using e-flow algorithm)
    429 ###################################################
    430 
    431 module Merger Calorimeter {
    432 # add InputArray InputArray
    433   add InputArray ECal/ecalTowers
    434   add InputArray HCal/hcalTowers
    435   set OutputArray towers
    436 }
    437 
    438 
    439329##########################
    440330# Track pile-up subtractor
     
    443333module TrackPileUpSubtractor TrackPileUpSubtractor {
    444334# add InputArray InputArray OutputArray
    445   add InputArray HCal/eflowTracks eflowTracks
     335  add InputArray Calorimeter/eflowTracks eflowTracks
    446336  add InputArray ElectronFilter/electrons electrons
    447337  add InputArray MuonMomentumSmearing/muons muons
     
    453343}
    454344
    455 
    456345####################
    457 # Neutral Tower merger
     346# Neutral tower merger
    458347####################
    459348
    460349module Merger NeutralTowerMerger {
    461350# add InputArray InputArray
    462   add InputArray ECal/eflowPhotons
    463   add InputArray HCal/eflowNeutralHadrons
    464   set OutputArray towers
     351  add InputArray Calorimeter/eflowPhotons
     352  add InputArray Calorimeter/eflowNeutralHadrons
     353  set OutputArray eflowTowers
     354}
     355
     356##################################
     357# Energy flow merger (all tracks)
     358##################################
     359
     360module Merger EFlowMergerAllTracks {
     361# add InputArray InputArray
     362  add InputArray TrackMerger/tracks
     363  add InputArray Calorimeter/eflowPhotons
     364  add InputArray Calorimeter/eflowNeutralHadrons
     365  set OutputArray eflow
    465366}
    466367
     
    470371####################
    471372
    472 module Merger EFlowMergerAllTracks {
    473 # add InputArray InputArray
    474   add InputArray HCal/eflowTracks
    475   add InputArray ECal/eflowPhotons
    476   add InputArray HCal/eflowNeutralHadrons
    477   set OutputArray eflow
    478 }
    479 
    480 
    481 
    482 
    483 ####################
    484 # Energy flow merger
    485 ####################
    486 
    487373module Merger EFlowMerger {
    488374# add InputArray InputArray
    489375  add InputArray TrackPileUpSubtractor/eflowTracks
    490   add InputArray ECal/eflowPhotons
    491   add InputArray HCal/eflowNeutralHadrons
     376  add InputArray Calorimeter/eflowPhotons
     377  add InputArray Calorimeter/eflowNeutralHadrons
    492378  set OutputArray eflow
    493379}
     380
     381
    494382
    495383#############
     
    562450}
    563451
     452
     453
    564454############
    565455# Jet finder
     
    588478module PileUpJetID PileUpJetID {
    589479  set JetInputArray FastJetFinder/jets
    590   set TrackInputArray HCal/eflowTracks
    591   set NeutralInputArray NeutralTowerMerger/towers
     480  set TrackInputArray Calorimeter/eflowTracks
     481  set NeutralInputArray NeutralTowerMerger/eflowTowers
    592482
    593483  set VertexInputArray PileUpMerger/vertices
     
    634524
    635525module Efficiency PhotonEfficiency {
    636   set InputArray ECal/eflowPhotons
     526  set InputArray Calorimeter/eflowPhotons
    637527  set OutputArray photons
    638528
     
    711601
    712602  # efficiency formula for muons
    713   set EfficiencyFormula {                                     (pt <= 10.0)                * (0.00) +
    714                                            (abs(eta) <= 1.5) * (pt > 10.0)                * (0.95) +
    715                          (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0)                * (0.95) +
     603  set EfficiencyFormula {                                      (pt <= 10.0)               * (0.00) +
     604                                           (abs(eta) <= 1.5) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
     605                                           (abs(eta) <= 1.5) * (pt > 1.0e3)               * (0.95 * exp(0.5 - pt*5.0e-4)) +
     606                         (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 10.0 && pt <= 1.0e3) * (0.95) +
     607                         (abs(eta) > 1.5 && abs(eta) <= 2.4) * (pt > 1.0e3)               * (0.95 * exp(0.5 - pt*5.0e-4)) +
    716608                         (abs(eta) > 2.4)                                                 * (0.00)}
    717 
    718609}
    719610
     
    766657
    767658module JetFlavorAssociation JetFlavorAssociation {
    768 
     659 
    769660  set PartonInputArray Delphes/partons
    770661  set ParticleInputArray Delphes/allParticles
    771662  set ParticleLHEFInputArray Delphes/allParticlesLHEF
    772663  set JetInputArray JetEnergyScale/jets
    773 
     664 
    774665  set DeltaR 0.5
    775666  set PartonPTMin 1.0
     
    792683
    793684  # based on arXiv:1211.4462
    794 
     685 
    795686  # default efficiency formula (misidentification rate)
    796687  add EfficiencyFormula {0} {0.01+0.000038*pt}
  • classes/DelphesClasses.cc

    rb9ae4c3 rec5e04b  
    4141CompBase *Tower::fgCompare = CompE<Tower>::Instance();
    4242CompBase *HectorHit::fgCompare = CompE<HectorHit>::Instance();
    43 CompBase *Vertex::fgCompare = CompSumPT2<Vertex>::Instance();
    4443CompBase *Candidate::fgCompare = CompMomentumPt<Candidate>::Instance();
    4544
     
    122121  Charge(0), Mass(0.0),
    123122  IsPU(0), IsRecoPU(0), IsConstituent(0), IsFromConversion(0),
    124   ClusterIndex(-1), ClusterNDF(0), ClusterSigma(0), SumPT2(0), BTVSumPT2(0), GenDeltaZ(0), GenSumPT2(0),
    125123  Flavor(0), FlavorAlgo(0), FlavorPhys(0),
    126124  BTag(0), BTagAlgo(0), BTagPhys(0),
     
    129127  Momentum(0.0, 0.0, 0.0, 0.0),
    130128  Position(0.0, 0.0, 0.0, 0.0),
    131   PositionError(0.0, 0.0, 0.0, 0.0),
    132   InitialPosition(0.0, 0.0, 0.0, 0.0),
    133129  Area(0.0, 0.0, 0.0, 0.0),
    134   L(0),
    135   D0(0), ErrorD0(0),
    136   DZ(0), ErrorDZ(0),
    137   P(0),  ErrorP(0),
    138   PT(0), ErrorPT(0),
    139   CtgTheta(0), ErrorCtgTheta(0),
    140   Phi(0), ErrorPhi(0), 
    141   Xd(0), Yd(0), Zd(0),
     130  Dxy(0), SDxy(0), Xd(0), Yd(0), Zd(0),
    142131  TrackResolution(0),
    143132  NCharged(0),
     
    256245  object.IsConstituent = IsConstituent;
    257246  object.IsFromConversion = IsFromConversion;
    258   object.ClusterIndex = ClusterIndex;
    259   object.ClusterNDF = ClusterNDF;
    260   object.ClusterSigma = ClusterSigma;
    261   object.SumPT2 = SumPT2;
    262   object.BTVSumPT2 = BTVSumPT2;
    263   object.GenDeltaZ = GenDeltaZ;
    264   object.GenSumPT2 = GenSumPT2;
    265247  object.Flavor = Flavor;
    266248  object.FlavorAlgo = FlavorAlgo;
     
    280262  object.Momentum = Momentum;
    281263  object.Position = Position;
    282   object.InitialPosition = InitialPosition;
    283   object.PositionError = PositionError;
    284264  object.Area = Area;
    285   object.L = L;
    286   object.ErrorT = ErrorT;
    287   object.D0 = D0;
    288   object.ErrorD0 = ErrorD0;
    289   object.DZ = DZ;
    290   object.ErrorDZ = ErrorDZ;
    291   object.P = P;
    292   object.ErrorP = ErrorP;
    293   object.PT = PT;
    294   object.ErrorPT = ErrorPT;
    295   object.CtgTheta = CtgTheta ;
    296   object.ErrorCtgTheta = ErrorCtgTheta;
    297   object.Phi = Phi;
    298   object.ErrorPhi = ErrorPhi; 
     265  object.Dxy = Dxy;
     266  object.SDxy = SDxy;
    299267  object.Xd = Xd;
    300268  object.Yd = Yd;
     
    314282  object.SumPtChargedPU = SumPtChargedPU;
    315283  object.SumPt = SumPt;
    316   object.ClusterIndex = ClusterIndex;
    317   object.ClusterNDF = ClusterNDF;
    318   object.ClusterSigma = ClusterSigma;
    319   object.SumPT2 = SumPT2;
    320  
     284
    321285  object.FracPt[0] = FracPt[0];
    322286  object.FracPt[1] = FracPt[1];
     
    399363  Momentum.SetXYZT(0.0, 0.0, 0.0, 0.0);
    400364  Position.SetXYZT(0.0, 0.0, 0.0, 0.0);
    401   InitialPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
    402365  Area.SetXYZT(0.0, 0.0, 0.0, 0.0);
    403   L = 0.0;
    404   ErrorT = 0.0;
    405   D0 = 0.0; 
    406   ErrorD0 = 0.0;
    407   DZ = 0.0;
    408   ErrorDZ = 0.0;
    409   P =0.0;
    410   ErrorP =0.0;
    411   PT = 0.0;
    412   ErrorPT = 0.0;
    413   CtgTheta = 0.0;
    414   ErrorCtgTheta = 0.0;
    415   Phi = 0.0;
    416   ErrorPhi = 0.0;
     366  Dxy = 0.0;
     367  SDxy = 0.0;
    417368  Xd = 0.0;
    418369  Yd = 0.0;
     
    436387  SumPt = -999;
    437388
    438   ClusterIndex = -1;
    439   ClusterNDF = -99;
    440   ClusterSigma = 0.0;
    441   SumPT2 = 0.0;
    442   BTVSumPT2 = 0.0;
    443   GenDeltaZ = 0.0;
    444   GenSumPT2 = 0.0;
    445  
    446389  FracPt[0] = 0.0;
    447390  FracPt[1] = 0.0;
  • classes/DelphesClasses.h

    rb9ae4c3 rec5e04b  
    4949  Long64_t Number; // event number
    5050
    51   Float_t ReadTime; // read time
    52   Float_t ProcTime; // processing time
     51  Float_t ReadTime;
     52  Float_t ProcTime;
    5353
    5454  ClassDef(Event, 1)
     
    147147  Float_t Pz; // particle momentum vector (z component) | hepevt.phep[number][2]
    148148
    149   Float_t P; // particle momentum
    150149  Float_t PT; // particle transverse momentum
    151150  Float_t Eta; // particle pseudorapidity
     
    153152
    154153  Float_t Rapidity; // particle rapidity
    155   Float_t CtgTheta; // particle cotangent of theta
    156 
    157   Float_t D0; // particle transverse impact parameter
    158   Float_t DZ; // particle longitudinal impact parameter
    159154
    160155  Float_t T; // particle vertex position (t component) | hepevt.vhep[number][3]
     
    168163  TLorentzVector P4() const;
    169164
    170   ClassDef(GenParticle, 2)
    171 };
    172 
    173 //---------------------------------------------------------------------------
    174 
    175 class Vertex: public SortableObject
    176 {
    177 public:
    178 
     165  ClassDef(GenParticle, 1)
     166};
     167
     168//---------------------------------------------------------------------------
     169
     170class Vertex: public TObject
     171{
     172public:
    179173  Float_t T; // vertex position (t component)
    180174  Float_t X; // vertex position (x component)
     
    182176  Float_t Z; // vertex position (z component)
    183177
    184   Double_t ErrorT; // vertex position error (t component)
    185   Double_t ErrorX; // vertex position error (x component)
    186   Double_t ErrorY; // vertex position error (y component)
    187   Double_t ErrorZ; // vertex position error (z component)
    188 
    189   Int_t Index; // vertex index
    190   Int_t NDF; // number of degrees of freedom
    191 
    192   Double_t Sigma; // vertex position (z component) error
    193   Double_t SumPT2; // sum pt^2 of tracks attached to the vertex
    194   Double_t GenSumPT2; // sum pt^2 of gen tracks attached to the vertex
    195 
    196   Double_t GenDeltaZ; // distance in z to closest generated vertex
    197   Double_t BTVSumPT2; // sum pt^2 of tracks attached to the secondary vertex
    198 
    199   TRefArray Constituents; // references to constituents
    200 
    201   static CompBase *fgCompare; //!
    202   const CompBase *GetCompare() const { return fgCompare; }
    203 
    204   ClassDef(Vertex, 3)
     178  ClassDef(Vertex, 1)
    205179};
    206180
     
    262236  Float_t E; // photon energy
    263237
    264   Float_t T; // particle arrival time of flight
     238  Float_t T; //particle arrival time of flight
    265239
    266240  Float_t EhadOverEem; // ratio of the hadronic versus electromagnetic energy deposited in the calorimeter
     
    268242  TRefArray Particles; // references to generated particles
    269243
    270   Float_t IsolationVar; // isolation variable
    271   Float_t IsolationVarRhoCorr; // isolation variable
    272   Float_t SumPtCharged; // isolation variable
    273   Float_t SumPtNeutral; // isolation variable
    274   Float_t SumPtChargedPU; // isolation variable
    275   Float_t SumPt; // isolation variable
     244  // Isolation variables
     245
     246  Float_t IsolationVar;
     247  Float_t IsolationVarRhoCorr;
     248  Float_t SumPtCharged;
     249  Float_t SumPtNeutral;
     250  Float_t SumPtChargedPU;
     251  Float_t SumPt;
    276252
    277253  static CompBase *fgCompare; //!
     
    293269  Float_t Phi; // electron azimuthal angle
    294270
    295   Float_t T; // particle arrival time of flight
     271  Float_t T; //particle arrival time of flight
    296272
    297273  Int_t Charge; // electron charge
     
    301277  TRef Particle; // reference to generated particle
    302278
    303   Float_t IsolationVar; // isolation variable
    304   Float_t IsolationVarRhoCorr; // isolation variable
    305   Float_t SumPtCharged; // isolation variable
    306   Float_t SumPtNeutral; // isolation variable
    307   Float_t SumPtChargedPU; // isolation variable
    308   Float_t SumPt; // isolation variable
     279  // Isolation variables
     280
     281  Float_t IsolationVar;
     282  Float_t IsolationVarRhoCorr;
     283  Float_t SumPtCharged;
     284  Float_t SumPtNeutral;
     285  Float_t SumPtChargedPU;
     286  Float_t SumPt;
    309287
    310288  static CompBase *fgCompare; //!
     
    326304  Float_t Phi; // muon azimuthal angle
    327305
    328   Float_t T; // particle arrival time of flight
     306  Float_t T; //particle arrival time of flight
    329307
    330308  Int_t Charge; // muon charge
     
    332310  TRef Particle; // reference to generated particle
    333311
    334   Float_t IsolationVar; // isolation variable
    335   Float_t IsolationVarRhoCorr; // isolation variable
    336   Float_t SumPtCharged; // isolation variable
    337   Float_t SumPtNeutral; // isolation variable
    338   Float_t SumPtChargedPU; // isolation variable
    339   Float_t SumPt; // isolation variable
     312   // Isolation variables
     313
     314  Float_t IsolationVar;
     315  Float_t IsolationVarRhoCorr;
     316  Float_t SumPtCharged;
     317  Float_t SumPtNeutral;
     318  Float_t SumPtChargedPU;
     319  Float_t SumPt;
    340320
    341321  static CompBase *fgCompare; //!
     
    364344  Float_t DeltaPhi;  // jet radius in azimuthal angle
    365345
    366   UInt_t Flavor; // jet flavor
    367   UInt_t FlavorAlgo; // jet flavor
    368   UInt_t FlavorPhys; // jet flavor
     346  UInt_t Flavor;
     347  UInt_t FlavorAlgo;
     348  UInt_t FlavorPhys;
    369349
    370350  UInt_t BTag; // 0 or 1 for a jet that has been tagged as containing a heavy quark
    371   UInt_t BTagAlgo; // 0 or 1 for a jet that has been tagged as containing a heavy quark
    372   UInt_t BTagPhys; // 0 or 1 for a jet that has been tagged as containing a heavy quark
     351  UInt_t BTagAlgo;
     352  UInt_t BTagPhys;
    373353
    374354  UInt_t TauTag; // 0 or 1 for a jet that has been tagged as a tau
     
    417397  Int_t Charge; // track charge
    418398
    419   Float_t P; // track momentum
    420399  Float_t PT; // track transverse momentum
     400
    421401  Float_t Eta; // track pseudorapidity
    422402  Float_t Phi; // track azimuthal angle
    423   Float_t CtgTheta; // track cotangent of theta
    424403
    425404  Float_t EtaOuter; // track pseudorapidity at the tracker edge
    426405  Float_t PhiOuter; // track azimuthal angle at the tracker edge
    427406
    428   Float_t T; // track vertex position (t component)
    429407  Float_t X; // track vertex position (x component)
    430408  Float_t Y; // track vertex position (y component)
    431409  Float_t Z; // track vertex position (z component)
    432 
    433   Float_t TOuter; // track position (t component) at the tracker edge
     410  Float_t T; // track vertex position (z component)
     411
    434412  Float_t XOuter; // track position (x component) at the tracker edge
    435413  Float_t YOuter; // track position (y component) at the tracker edge
    436414  Float_t ZOuter; // track position (z component) at the tracker edge
    437 
    438   Float_t Xd; // X coordinate of point of closest approach to vertex
    439   Float_t Yd; // Y coordinate of point of closest approach to vertex
    440   Float_t Zd; // Z coordinate of point of closest approach to vertex
    441 
    442   Float_t L; // track path length
    443   Float_t D0; // track transverse impact parameter
    444   Float_t DZ; // track longitudinal impact parameter
    445 
    446   Float_t ErrorP; // track momentum error
    447   Float_t ErrorPT; // track transverse momentum error
    448   Float_t ErrorPhi; // track azimuthal angle error
    449   Float_t ErrorCtgTheta; // track cotangent of theta error
    450 
    451   Float_t ErrorT; // time measurement error
    452   Float_t ErrorD0; // track transverse impact parameter error
    453   Float_t ErrorDZ; // track longitudinal impact parameter error
     415  Float_t TOuter; // track position (z component) at the tracker edge
     416
     417  Float_t Dxy;     // track signed transverse impact parameter
     418  Float_t SDxy;    // signed error on the track signed transverse impact parameter
     419  Float_t Xd;      // X coordinate of point of closest approach to vertex
     420  Float_t Yd;      // Y coordinate of point of closest approach to vertex
     421  Float_t Zd;      // Z coordinate of point of closest approach to vertex
    454422
    455423  TRef Particle; // reference to generated particle
    456424
    457   Int_t VertexIndex; // reference to vertex
    458 
    459   static CompBase *fgCompare; //!
    460   const CompBase *GetCompare() const { return fgCompare; }
    461 
    462   TLorentzVector P4() const;
    463 
    464   ClassDef(Track, 3)
     425  static CompBase *fgCompare; //!
     426  const CompBase *GetCompare() const { return fgCompare; }
     427
     428  TLorentzVector P4() const;
     429
     430  ClassDef(Track, 2)
    465431};
    466432
     
    560526  Float_t DeltaPhi;
    561527
    562   TLorentzVector Momentum, Position, InitialPosition, PositionError, Area;
    563 
    564   Float_t L; // path length
    565   Float_t ErrorT; // path length
    566   Float_t D0;
    567   Float_t ErrorD0;
    568   Float_t DZ;
    569   Float_t ErrorDZ;
    570   Float_t P;
    571   Float_t ErrorP;
    572   Float_t PT;
    573   Float_t ErrorPT;
    574   Float_t CtgTheta;
    575   Float_t ErrorCtgTheta;
    576   Float_t Phi;
    577   Float_t ErrorPhi;
    578 
     528  TLorentzVector Momentum, Position, Area;
     529
     530  Float_t Dxy;
     531  Float_t SDxy;
    579532  Float_t Xd;
    580533  Float_t Yd;
     
    582535
    583536  // tracking resolution
    584 
     537 
    585538  Float_t TrackResolution;
    586539
     
    609562  Float_t SumPt;
    610563
    611   // vertex variables
    612 
    613   Int_t ClusterIndex;
    614   Int_t ClusterNDF;
    615   Double_t ClusterSigma;
    616   Double_t SumPT2;
    617   Double_t BTVSumPT2;
    618   Double_t GenDeltaZ;
    619   Double_t GenSumPT2;
    620 
    621564  // N-subjettiness variables
    622565
     
    652595  void SetFactory(DelphesFactory *factory) { fFactory = factory; }
    653596
    654   ClassDef(Candidate, 5)
     597  ClassDef(Candidate, 4)
    655598};
    656599
  • classes/SortableObject.h

    rb9ae4c3 rec5e04b  
    156156      return -1;
    157157    else if(t1->ET < t2->ET)
    158       return 1;
    159     else
    160       return 0;
    161   }
    162 };
    163 
    164 //---------------------------------------------------------------------------
    165 
    166 template <typename T>
    167 class CompSumPT2: public CompBase
    168 {
    169   CompSumPT2() {}
    170 public:
    171   static CompSumPT2 *Instance()
    172   {
    173     static CompSumPT2 single;
    174     return &single;
    175   }
    176 
    177   Int_t Compare(const TObject *obj1, const TObject *obj2) const
    178   {
    179     const T *t1 = static_cast<const T*>(obj1);
    180     const T *t2 = static_cast<const T*>(obj2);
    181     if(t1->SumPT2 > t2->SumPT2)
    182       return -1;
    183     else if(t1->SumPT2 < t2->SumPT2)
    184158      return 1;
    185159    else
  • doc/RootTreeDescription.html

    rb9ae4c3 rec5e04b  
    2727  <td></td>
    2828</tr>
    29 <tr class="odd">
    30   <td>ReadTime</td>
    31   <td>read time</td>
    32   <td></td>
    33 </tr>
    34 <tr class="even">
    35   <td>ProcTime</td>
    36   <td>processing time</td>
    37   <td></td>
    38 </tr>
    3929<tr class="class"><td colspan="3" id="LHCOEvent">class LHCOEvent</td></tr>
    4030<tr class="odd">
     
    7969  <td> hepup.AQCDUP</td>
    8070</tr>
    81 <tr class="class"><td colspan="3" id="LHEFWeight">class LHEFWeight</td></tr>
    82 <tr class="even">
    83   <td>ID</td>
    84   <td>weight ID</td>
    85   <td></td>
    86 </tr>
    87 <tr class="odd">
    88   <td>Weight</td>
    89   <td>weight value</td>
    90   <td></td>
    91 </tr>
    9271<tr class="class"><td colspan="3" id="HepMCEvent">class HepMCEvent</td></tr>
    9372<tr class="odd">
     
    228207</tr>
    229208<tr class="odd">
    230   <td>P</td>
    231   <td>particle momentum</td>
    232   <td></td>
    233 </tr>
    234 <tr class="even">
    235209  <td>PT</td>
    236210  <td>particle transverse momentum</td>
    237211  <td></td>
    238212</tr>
    239 <tr class="odd">
     213<tr class="even">
    240214  <td>Eta</td>
    241215  <td>particle pseudorapidity</td>
    242216  <td></td>
    243217</tr>
    244 <tr class="even">
     218<tr class="odd">
    245219  <td>Phi</td>
    246220  <td>particle azimuthal angle</td>
    247221  <td></td>
    248222</tr>
    249 <tr class="odd">
     223<tr class="even">
    250224  <td>Rapidity</td>
    251225  <td>particle rapidity</td>
    252   <td></td>
    253 </tr>
    254 <tr class="even">
    255   <td>CtgTheta</td>
    256   <td>particle cotangent of theta</td>
    257   <td></td>
    258 </tr>
    259 <tr class="odd">
    260   <td>D0</td>
    261   <td>particle transverse impact parameter</td>
    262   <td></td>
    263 </tr>
    264 <tr class="even">
    265   <td>DZ</td>
    266   <td>particle longitudinal impact parameter</td>
    267226  <td></td>
    268227</tr>
     
    308267  <td></td>
    309268</tr>
    310 <tr class="even">
    311   <td>ErrorT</td>
    312   <td>vertex position error (t component)</td>
    313   <td></td>
    314 </tr>
    315 <tr class="odd">
    316   <td>ErrorX</td>
    317   <td>vertex position error (x component)</td>
    318   <td></td>
    319 </tr>
    320 <tr class="even">
    321   <td>ErrorY</td>
    322   <td>vertex position error (y component)</td>
    323   <td></td>
    324 </tr>
    325 <tr class="odd">
    326   <td>ErrorZ</td>
    327   <td>vertex position error (z component)</td>
    328   <td></td>
    329 </tr>
    330 <tr class="even">
    331   <td>Index</td>
    332   <td>vertex index</td>
    333   <td></td>
    334 </tr>
    335 <tr class="odd">
    336   <td>NDF</td>
    337   <td>number of degrees of freedom</td>
    338   <td></td>
    339 </tr>
    340 <tr class="even">
    341   <td>Sigma</td>
    342   <td>vertex position (z component) error</td>
    343   <td></td>
    344 </tr>
    345 <tr class="odd">
    346   <td>SumPT2</td>
    347   <td>sum pt^2 of tracks attached to the vertex</td>
    348   <td></td>
    349 </tr>
    350 <tr class="even">
    351   <td>GenSumPT2</td>
    352   <td>sum pt^2 of gen tracks attached to the vertex</td>
    353   <td></td>
    354 </tr>
    355 <tr class="odd">
    356   <td>GenDeltaZ</td>
    357   <td>distance in z to closest generated vertex</td>
    358   <td></td>
    359 </tr>
    360 <tr class="even">
    361   <td>BTVSumPT2</td>
    362   <td>sum pt^2 of tracks attached to the secondary vertex</td>
    363   <td></td>
    364 </tr>
    365 <tr class="odd">
     269<tr class="class"><td colspan="3" id="MissingET">class MissingET</td></tr>
     270<tr class="even">
     271  <td>MET</td>
     272  <td>mising transverse energy</td>
     273  <td></td>
     274</tr>
     275<tr class="odd">
     276  <td>Eta</td>
     277  <td>mising energy pseudorapidity</td>
     278  <td></td>
     279</tr>
     280<tr class="even">
     281  <td>Phi</td>
     282  <td>mising energy azimuthal angle</td>
     283  <td></td>
     284</tr>
     285<tr class="class"><td colspan="3" id="ScalarHT">class ScalarHT</td></tr>
     286<tr class="even">
     287  <td>HT</td>
     288  <td>scalar sum of transverse momenta</td>
     289  <td></td>
     290</tr>
     291<tr class="class"><td colspan="3" id="Rho">class Rho</td></tr>
     292<tr class="even">
     293  <td>Rho</td>
     294  <td>rho energy density</td>
     295  <td></td>
     296</tr>
     297<tr class="odd">
     298  <td>Edges[2]</td>
     299  <td>pseudorapidity range edges</td>
     300  <td></td>
     301</tr>
     302<tr class="class"><td colspan="3" id="Weight">class Weight</td></tr>
     303<tr class="even">
     304  <td>Weight</td>
     305  <td>weight for the event</td>
     306  <td></td>
     307</tr>
     308<tr class="class"><td colspan="3" id="Photon">class Photon</td></tr>
     309<tr class="even">
     310  <td>PT</td>
     311  <td>photon transverse momentum</td>
     312  <td></td>
     313</tr>
     314<tr class="odd">
     315  <td>Eta</td>
     316  <td>photon pseudorapidity</td>
     317  <td></td>
     318</tr>
     319<tr class="even">
     320  <td>Phi</td>
     321  <td>photon azimuthal angle</td>
     322  <td></td>
     323</tr>
     324<tr class="odd">
     325  <td>E</td>
     326  <td>photon energy</td>
     327  <td></td>
     328</tr>
     329<tr class="even">
     330  <td>EhadOverEem</td>
     331  <td>ratio of the hadronic versus electromagnetic energy deposited in the calorimeter</td>
     332  <td></td>
     333</tr>
     334<tr class="odd">
     335  <td>Particles</td>
     336  <td>references to generated particles</td>
     337  <td></td>
     338</tr>
     339<tr class="class"><td colspan="3" id="Electron">class Electron</td></tr>
     340<tr class="even">
     341  <td>PT</td>
     342  <td>electron transverse momentum</td>
     343  <td></td>
     344</tr>
     345<tr class="odd">
     346  <td>Eta</td>
     347  <td>electron pseudorapidity</td>
     348  <td></td>
     349</tr>
     350<tr class="even">
     351  <td>Phi</td>
     352  <td>electron azimuthal angle</td>
     353  <td></td>
     354</tr>
     355<tr class="odd">
     356  <td>Charge</td>
     357  <td>electron charge</td>
     358  <td></td>
     359</tr>
     360<tr class="even">
     361  <td>EhadOverEem</td>
     362  <td>ratio of the hadronic versus electromagnetic energy deposited in the calorimeter</td>
     363  <td></td>
     364</tr>
     365<tr class="odd">
     366  <td>Particle</td>
     367  <td>reference to generated particle</td>
     368  <td></td>
     369</tr>
     370<tr class="class"><td colspan="3" id="Muon">class Muon</td></tr>
     371<tr class="even">
     372  <td>PT</td>
     373  <td>muon transverse momentum</td>
     374  <td></td>
     375</tr>
     376<tr class="odd">
     377  <td>Eta</td>
     378  <td>muon pseudorapidity</td>
     379  <td></td>
     380</tr>
     381<tr class="even">
     382  <td>Phi</td>
     383  <td>muon azimuthal angle</td>
     384  <td></td>
     385</tr>
     386<tr class="odd">
     387  <td>Charge</td>
     388  <td>muon charge</td>
     389  <td></td>
     390</tr>
     391<tr class="even">
     392  <td>Particle</td>
     393  <td>reference to generated particle</td>
     394  <td></td>
     395</tr>
     396<tr class="class"><td colspan="3" id="Jet">class Jet</td></tr>
     397<tr class="even">
     398  <td>PT</td>
     399  <td>jet transverse momentum</td>
     400  <td></td>
     401</tr>
     402<tr class="odd">
     403  <td>Eta</td>
     404  <td>jet pseudorapidity</td>
     405  <td></td>
     406</tr>
     407<tr class="even">
     408  <td>Phi</td>
     409  <td>jet azimuthal angle</td>
     410  <td></td>
     411</tr>
     412<tr class="odd">
     413  <td>Mass</td>
     414  <td>jet invariant mass</td>
     415  <td></td>
     416</tr>
     417<tr class="even">
     418  <td>BTag</td>
     419  <td>0 or 1 for a jet that has been tagged as containing a heavy quark</td>
     420  <td></td>
     421</tr>
     422<tr class="odd">
     423  <td>TauTag</td>
     424  <td>0 or 1 for a jet that has been tagged as a tau</td>
     425  <td></td>
     426</tr>
     427<tr class="even">
     428  <td>Charge</td>
     429  <td>tau charge</td>
     430  <td></td>
     431</tr>
     432<tr class="odd">
     433  <td>EhadOverEem</td>
     434  <td>ratio of the hadronic versus electromagnetic energy deposited in the calorimeter</td>
     435  <td></td>
     436</tr>
     437<tr class="even">
     438  <td>NCharged</td>
     439  <td>number of charged constituents </td>
     440  <td></td>
     441</tr>
     442<tr class="odd">
     443  <td>NNeutrals</td>
     444  <td>number of neutral constituents </td>
     445  <td></td>
     446</tr>
     447<tr class="even">
     448  <td>Beta</td>
     449  <td>(sum pt of charged pile-up constituents)/(sum pt of charged constituents) </td>
     450  <td></td>
     451</tr>
     452<tr class="odd">
     453  <td>BetaStar</td>
     454  <td>(sum pt of charged constituents coming from hard interaction)/(sum pt of charged constituents) </td>
     455  <td></td>
     456</tr>
     457<tr class="even">
     458  <td>MeanSqDeltaR</td>
     459  <td>average distance (squared) between constituent and jet weighted by pt (squared) of constituent</td>
     460  <td></td>
     461</tr>
     462<tr class="odd">
     463  <td>PTD</td>
     464  <td>average pt between constituent and jet weighted by pt of constituent</td>
     465  <td></td>
     466</tr>
     467<tr class="even">
     468  <td>FracPt[5]</td>
     469  <td>(sum pt of constituents within a ring 0.1*i < DeltaR < 0.1*(i+1))/(sum pt of constituents) </td>
     470  <td></td>
     471</tr>
     472<tr class="odd">
     473  <td>Tau1</td>
     474  <td>1-subjettiness</td>
     475  <td></td>
     476</tr>
     477<tr class="even">
     478  <td>Tau2</td>
     479  <td>2-subjettiness</td>
     480  <td></td>
     481</tr>
     482<tr class="odd">
     483  <td>Tau3</td>
     484  <td>3-subjettiness</td>
     485  <td></td>
     486</tr>
     487<tr class="even">
     488  <td>Tau4</td>
     489  <td>4-subjettiness</td>
     490  <td></td>
     491</tr>
     492<tr class="odd">
     493  <td>Tau5</td>
     494  <td>5-subjettiness</td>
     495  <td></td>
     496</tr>
     497<tr class="even">
    366498  <td>Constituents</td>
    367499  <td>references to constituents</td>
    368500  <td></td>
    369501</tr>
    370 <tr class="class"><td colspan="3" id="MissingET">class MissingET</td></tr>
    371 <tr class="even">
    372   <td>MET</td>
    373   <td>mising transverse energy</td>
    374   <td></td>
    375 </tr>
    376 <tr class="odd">
    377   <td>Eta</td>
    378   <td>mising energy pseudorapidity</td>
    379   <td></td>
    380 </tr>
    381 <tr class="even">
    382   <td>Phi</td>
    383   <td>mising energy azimuthal angle</td>
    384   <td></td>
    385 </tr>
    386 <tr class="class"><td colspan="3" id="ScalarHT">class ScalarHT</td></tr>
    387 <tr class="even">
    388   <td>HT</td>
    389   <td>scalar sum of transverse momenta</td>
    390   <td></td>
    391 </tr>
    392 <tr class="class"><td colspan="3" id="Rho">class Rho</td></tr>
    393 <tr class="even">
    394   <td>Rho</td>
    395   <td>rho energy density</td>
    396   <td></td>
    397 </tr>
    398 <tr class="odd">
    399   <td>Edges[2]</td>
    400   <td>pseudorapidity range edges</td>
    401   <td></td>
    402 </tr>
    403 <tr class="class"><td colspan="3" id="Weight">class Weight</td></tr>
    404 <tr class="even">
    405   <td>Weight</td>
    406   <td>weight for the event</td>
    407   <td></td>
    408 </tr>
    409 <tr class="class"><td colspan="3" id="Photon">class Photon</td></tr>
    410 <tr class="even">
    411   <td>PT</td>
    412   <td>photon transverse momentum</td>
    413   <td></td>
    414 </tr>
    415 <tr class="odd">
    416   <td>Eta</td>
    417   <td>photon pseudorapidity</td>
    418   <td></td>
    419 </tr>
    420 <tr class="even">
    421   <td>Phi</td>
    422   <td>photon azimuthal angle</td>
    423   <td></td>
    424 </tr>
    425 <tr class="odd">
    426   <td>E</td>
    427   <td>photon energy</td>
    428   <td></td>
    429 </tr>
    430 <tr class="even">
    431   <td>T</td>
    432   <td>particle arrival time of flight</td>
    433   <td></td>
    434 </tr>
    435 <tr class="odd">
    436   <td>EhadOverEem</td>
    437   <td>ratio of the hadronic versus electromagnetic energy deposited in the calorimeter</td>
    438   <td></td>
    439 </tr>
    440 <tr class="even">
     502<tr class="odd">
    441503  <td>Particles</td>
    442504  <td>references to generated particles</td>
    443505  <td></td>
    444506</tr>
    445 <tr class="odd">
    446   <td>IsolationVar</td>
    447   <td>isolation variable</td>
    448   <td></td>
    449 </tr>
    450 <tr class="even">
    451   <td>IsolationVarRhoCorr</td>
    452   <td>isolation variable</td>
    453   <td></td>
    454 </tr>
    455 <tr class="odd">
    456   <td>SumPtCharged</td>
    457   <td>isolation variable</td>
    458   <td></td>
    459 </tr>
    460 <tr class="even">
    461   <td>SumPtNeutral</td>
    462   <td>isolation variable</td>
    463   <td></td>
    464 </tr>
    465 <tr class="odd">
    466   <td>SumPtChargedPU</td>
    467   <td>isolation variable</td>
    468   <td></td>
    469 </tr>
    470 <tr class="even">
    471   <td>SumPt</td>
    472   <td>isolation variable</td>
    473   <td></td>
    474 </tr>
    475 <tr class="class"><td colspan="3" id="Electron">class Electron</td></tr>
     507<tr class="class"><td colspan="3" id="Track">class Track</td></tr>
     508<tr class="even">
     509  <td>PID</td>
     510  <td>HEP ID number</td>
     511  <td></td>
     512</tr>
     513<tr class="odd">
     514  <td>Charge</td>
     515  <td>track charge</td>
     516  <td></td>
     517</tr>
    476518<tr class="even">
    477519  <td>PT</td>
    478   <td>electron transverse momentum</td>
    479   <td></td>
    480 </tr>
    481 <tr class="odd">
    482   <td>Eta</td>
    483   <td>electron pseudorapidity</td>
    484   <td></td>
    485 </tr>
    486 <tr class="even">
    487   <td>Phi</td>
    488   <td>electron azimuthal angle</td>
    489   <td></td>
    490 </tr>
    491 <tr class="odd">
     520  <td>track transverse momentum</td>
     521  <td></td>
     522</tr>
     523<tr class="odd">
     524  <td>Eta</td>
     525  <td>track pseudorapidity</td>
     526  <td></td>
     527</tr>
     528<tr class="even">
     529  <td>Phi</td>
     530  <td>track azimuthal angle</td>
     531  <td></td>
     532</tr>
     533<tr class="odd">
     534  <td>EtaOuter</td>
     535  <td>track pseudorapidity at the tracker edge</td>
     536  <td></td>
     537</tr>
     538<tr class="even">
     539  <td>PhiOuter</td>
     540  <td>track azimuthal angle at the tracker edge</td>
     541  <td></td>
     542</tr>
     543<tr class="odd">
     544  <td>X</td>
     545  <td>track vertex position (x component)</td>
     546  <td></td>
     547</tr>
     548<tr class="even">
     549  <td>Y</td>
     550  <td>track vertex position (y component)</td>
     551  <td></td>
     552</tr>
     553<tr class="odd">
     554  <td>Z</td>
     555  <td>track vertex position (z component)</td>
     556  <td></td>
     557</tr>
     558<tr class="even">
    492559  <td>T</td>
    493   <td>particle arrival time of flight</td>
    494   <td></td>
    495 </tr>
    496 <tr class="even">
    497   <td>Charge</td>
    498   <td>electron charge</td>
    499   <td></td>
    500 </tr>
    501 <tr class="odd">
    502   <td>EhadOverEem</td>
    503   <td>ratio of the hadronic versus electromagnetic energy deposited in the calorimeter</td>
    504   <td></td>
    505 </tr>
    506 <tr class="even">
     560  <td>track vertex position (z component)</td>
     561  <td></td>
     562</tr>
     563<tr class="odd">
     564  <td>XOuter</td>
     565  <td>track position (x component) at the tracker edge</td>
     566  <td></td>
     567</tr>
     568<tr class="even">
     569  <td>YOuter</td>
     570  <td>track position (y component) at the tracker edge</td>
     571  <td></td>
     572</tr>
     573<tr class="odd">
     574  <td>ZOuter</td>
     575  <td>track position (z component) at the tracker edge</td>
     576  <td></td>
     577</tr>
     578<tr class="even">
     579  <td>TOuter</td>
     580  <td>track position (z component) at the tracker edge</td>
     581  <td></td>
     582</tr>
     583<tr class="odd">
    507584  <td>Particle</td>
    508585  <td>reference to generated particle</td>
    509586  <td></td>
    510587</tr>
    511 <tr class="odd">
    512   <td>IsolationVar</td>
    513   <td>isolation variable</td>
    514   <td></td>
    515 </tr>
    516 <tr class="even">
    517   <td>IsolationVarRhoCorr</td>
    518   <td>isolation variable</td>
    519   <td></td>
    520 </tr>
    521 <tr class="odd">
    522   <td>SumPtCharged</td>
    523   <td>isolation variable</td>
    524   <td></td>
    525 </tr>
    526 <tr class="even">
    527   <td>SumPtNeutral</td>
    528   <td>isolation variable</td>
    529   <td></td>
    530 </tr>
    531 <tr class="odd">
    532   <td>SumPtChargedPU</td>
    533   <td>isolation variable</td>
    534   <td></td>
    535 </tr>
    536 <tr class="even">
    537   <td>SumPt</td>
    538   <td>isolation variable</td>
    539   <td></td>
    540 </tr>
    541 <tr class="class"><td colspan="3" id="Muon">class Muon</td></tr>
    542 <tr class="even">
    543   <td>PT</td>
    544   <td>muon transverse momentum</td>
    545   <td></td>
    546 </tr>
    547 <tr class="odd">
    548   <td>Eta</td>
    549   <td>muon pseudorapidity</td>
    550   <td></td>
    551 </tr>
    552 <tr class="even">
    553   <td>Phi</td>
    554   <td>muon azimuthal angle</td>
     588<tr class="class"><td colspan="3" id="Tower">class Tower</td></tr>
     589<tr class="even">
     590  <td>ET</td>
     591  <td>calorimeter tower transverse energy</td>
     592  <td></td>
     593</tr>
     594<tr class="odd">
     595  <td>Eta</td>
     596  <td>calorimeter tower pseudorapidity</td>
     597  <td></td>
     598</tr>
     599<tr class="even">
     600  <td>Phi</td>
     601  <td>calorimeter tower azimuthal angle</td>
     602  <td></td>
     603</tr>
     604<tr class="odd">
     605  <td>E</td>
     606  <td>calorimeter tower energy</td>
     607  <td></td>
     608</tr>
     609<tr class="even">
     610  <td>Eem</td>
     611  <td>calorimeter tower electromagnetic energy</td>
     612  <td></td>
     613</tr>
     614<tr class="odd">
     615  <td>Ehad</td>
     616  <td>calorimeter tower hadronic energy</td>
     617  <td></td>
     618</tr>
     619<tr class="even">
     620  <td>Edges[4]</td>
     621  <td>calorimeter tower edges</td>
     622  <td></td>
     623</tr>
     624<tr class="odd">
     625  <td>Particles</td>
     626  <td>references to generated particles</td>
     627  <td></td>
     628</tr>
     629<tr class="class"><td colspan="3" id="HectorHit">class HectorHit</td></tr>
     630<tr class="even">
     631  <td>E</td>
     632  <td>reconstructed energy [GeV]</td>
     633  <td></td>
     634</tr>
     635<tr class="odd">
     636  <td>Tx</td>
     637  <td>angle of the momentum in the horizontal (x,z) plane [urad]</td>
     638  <td></td>
     639</tr>
     640<tr class="even">
     641  <td>Ty</td>
     642  <td>angle of the momentum in the verical (y,z) plane [urad]</td>
    555643  <td></td>
    556644</tr>
    557645<tr class="odd">
    558646  <td>T</td>
    559   <td>particle arrival time of flight</td>
    560   <td></td>
    561 </tr>
    562 <tr class="even">
    563   <td>Charge</td>
    564   <td>muon charge</td>
     647  <td>time of flight to the detector [s]</td>
     648  <td></td>
     649</tr>
     650<tr class="even">
     651  <td>X</td>
     652  <td>horizontal distance to the beam [um]</td>
     653  <td></td>
     654</tr>
     655<tr class="odd">
     656  <td>Y</td>
     657  <td>vertical distance to the beam [um]</td>
     658  <td></td>
     659</tr>
     660<tr class="even">
     661  <td>S</td>
     662  <td>distance to the interaction point [m]</td>
    565663  <td></td>
    566664</tr>
     
    570668  <td></td>
    571669</tr>
    572 <tr class="even">
    573   <td>IsolationVar</td>
    574   <td>isolation variable</td>
    575   <td></td>
    576 </tr>
    577 <tr class="odd">
    578   <td>IsolationVarRhoCorr</td>
    579   <td>isolation variable</td>
    580   <td></td>
    581 </tr>
    582 <tr class="even">
    583   <td>SumPtCharged</td>
    584   <td>isolation variable</td>
    585   <td></td>
    586 </tr>
    587 <tr class="odd">
    588   <td>SumPtNeutral</td>
    589   <td>isolation variable</td>
    590   <td></td>
    591 </tr>
    592 <tr class="even">
    593   <td>SumPtChargedPU</td>
    594   <td>isolation variable</td>
    595   <td></td>
    596 </tr>
    597 <tr class="odd">
    598   <td>SumPt</td>
    599   <td>isolation variable</td>
    600   <td></td>
    601 </tr>
    602 <tr class="class"><td colspan="3" id="Jet">class Jet</td></tr>
    603 <tr class="even">
    604   <td>PT</td>
    605   <td>jet transverse momentum</td>
    606   <td></td>
    607 </tr>
    608 <tr class="odd">
    609   <td>Eta</td>
    610   <td>jet pseudorapidity</td>
    611   <td></td>
    612 </tr>
    613 <tr class="even">
    614   <td>Phi</td>
    615   <td>jet azimuthal angle</td>
    616   <td></td>
    617 </tr>
    618 <tr class="odd">
    619   <td>Mass</td>
    620   <td>jet invariant mass</td>
    621   <td></td>
    622 </tr>
    623 <tr class="even">
    624   <td>Flavor</td>
    625   <td>jet flavor</td>
    626   <td></td>
    627 </tr>
    628 <tr class="odd">
    629   <td>FlavorAlgo</td>
    630   <td>jet flavor</td>
    631   <td></td>
    632 </tr>
    633 <tr class="even">
    634   <td>FlavorPhys</td>
    635   <td>jet flavor</td>
    636   <td></td>
    637 </tr>
    638 <tr class="odd">
    639   <td>BTag</td>
    640   <td>0 or 1 for a jet that has been tagged as containing a heavy quark</td>
    641   <td></td>
    642 </tr>
    643 <tr class="even">
    644   <td>BTagAlgo</td>
    645   <td>0 or 1 for a jet that has been tagged as containing a heavy quark</td>
    646   <td></td>
    647 </tr>
    648 <tr class="odd">
    649   <td>BTagPhys</td>
    650   <td>0 or 1 for a jet that has been tagged as containing a heavy quark</td>
    651   <td></td>
    652 </tr>
    653 <tr class="even">
    654   <td>TauTag</td>
    655   <td>0 or 1 for a jet that has been tagged as a tau</td>
    656   <td></td>
    657 </tr>
    658 <tr class="odd">
    659   <td>Charge</td>
    660   <td>tau charge</td>
    661   <td></td>
    662 </tr>
    663 <tr class="even">
    664   <td>EhadOverEem</td>
    665   <td>ratio of the hadronic versus electromagnetic energy deposited in the calorimeter</td>
    666   <td></td>
    667 </tr>
    668 <tr class="odd">
    669   <td>NCharged</td>
    670   <td>number of charged constituents</td>
    671   <td></td>
    672 </tr>
    673 <tr class="even">
    674   <td>NNeutrals</td>
    675   <td>number of neutral constituents</td>
    676   <td></td>
    677 </tr>
    678 <tr class="odd">
    679   <td>Beta</td>
    680   <td>(sum pt of charged pile-up constituents)/(sum pt of charged constituents)</td>
    681   <td></td>
    682 </tr>
    683 <tr class="even">
    684   <td>BetaStar</td>
    685   <td>(sum pt of charged constituents coming from hard interaction)/(sum pt of charged constituents)</td>
    686   <td></td>
    687 </tr>
    688 <tr class="odd">
    689   <td>MeanSqDeltaR</td>
    690   <td>average distance (squared) between constituent and jet weighted by pt (squared) of constituent</td>
    691   <td></td>
    692 </tr>
    693 <tr class="even">
    694   <td>PTD</td>
    695   <td>average pt between constituent and jet weighted by pt of constituent</td>
    696   <td></td>
    697 </tr>
    698 <tr class="odd">
    699   <td>FracPt[5]</td>
    700   <td>(sum pt of constituents within a ring 0.1*i < DeltaR < 0.1*(i+1))/(sum pt of constituents)</td>
    701   <td></td>
    702 </tr>
    703 <tr class="even">
    704   <td>Tau[5]</td>
    705   <td>N-subjettiness</td>
    706   <td></td>
    707 </tr>
    708 <tr class="odd">
    709   <td>TrimmedP4[5]</td>
    710   <td>first entry (i = 0) is the total Trimmed Jet 4-momenta and from i = 1 to 4 are the trimmed subjets 4-momenta</td>
    711   <td></td>
    712 </tr>
    713 <tr class="even">
    714   <td>PrunedP4[5]</td>
    715   <td>first entry (i = 0) is the total Pruned Jet 4-momenta and from i = 1 to 4 are the pruned subjets 4-momenta</td>
    716   <td></td>
    717 </tr>
    718 <tr class="odd">
    719   <td>SoftDroppedP4[5]</td>
    720   <td>first entry (i = 0) is the total SoftDropped Jet 4-momenta and from i = 1 to 4 are the pruned subjets 4-momenta</td>
    721   <td></td>
    722 </tr>
    723 <tr class="even">
    724   <td>NSubJetsTrimmed</td>
    725   <td>number of subjets trimmed</td>
    726   <td></td>
    727 </tr>
    728 <tr class="odd">
    729   <td>NSubJetsPruned</td>
    730   <td>number of subjets pruned</td>
    731   <td></td>
    732 </tr>
    733 <tr class="even">
    734   <td>NSubJetsSoftDropped</td>
    735   <td>number of subjets soft-dropped</td>
    736   <td></td>
    737 </tr>
    738 <tr class="odd">
    739   <td>Constituents</td>
    740   <td>references to constituents</td>
    741   <td></td>
    742 </tr>
    743 <tr class="even">
    744   <td>Particles</td>
    745   <td>references to generated particles</td>
    746   <td></td>
    747 </tr>
    748 <tr class="class"><td colspan="3" id="Track">class Track</td></tr>
    749 <tr class="even">
    750   <td>PID</td>
    751   <td>HEP ID number</td>
    752   <td></td>
    753 </tr>
    754 <tr class="odd">
    755   <td>Charge</td>
    756   <td>track charge</td>
    757   <td></td>
    758 </tr>
    759 <tr class="even">
    760   <td>P</td>
    761   <td>track momentum</td>
    762   <td></td>
    763 </tr>
    764 <tr class="odd">
    765   <td>PT</td>
    766   <td>track transverse momentum</td>
    767   <td></td>
    768 </tr>
    769 <tr class="even">
    770   <td>Eta</td>
    771   <td>track pseudorapidity</td>
    772   <td></td>
    773 </tr>
    774 <tr class="odd">
    775   <td>Phi</td>
    776   <td>track azimuthal angle</td>
    777   <td></td>
    778 </tr>
    779 <tr class="even">
    780   <td>CtgTheta</td>
    781   <td>track cotangent of theta</td>
    782   <td></td>
    783 </tr>
    784 <tr class="odd">
    785   <td>EtaOuter</td>
    786   <td>track pseudorapidity at the tracker edge</td>
    787   <td></td>
    788 </tr>
    789 <tr class="even">
    790   <td>PhiOuter</td>
    791   <td>track azimuthal angle at the tracker edge</td>
    792   <td></td>
    793 </tr>
    794 <tr class="odd">
    795   <td>T</td>
    796   <td>track vertex position (t component)</td>
    797   <td></td>
    798 </tr>
    799 <tr class="even">
    800   <td>X</td>
    801   <td>track vertex position (x component)</td>
    802   <td></td>
    803 </tr>
    804 <tr class="odd">
    805   <td>Y</td>
    806   <td>track vertex position (y component)</td>
    807   <td></td>
    808 </tr>
    809 <tr class="even">
    810   <td>Z</td>
    811   <td>track vertex position (z component)</td>
    812   <td></td>
    813 </tr>
    814 <tr class="odd">
    815   <td>TOuter</td>
    816   <td>track position (t component) at the tracker edge</td>
    817   <td></td>
    818 </tr>
    819 <tr class="even">
    820   <td>XOuter</td>
    821   <td>track position (x component) at the tracker edge</td>
    822   <td></td>
    823 </tr>
    824 <tr class="odd">
    825   <td>YOuter</td>
    826   <td>track position (y component) at the tracker edge</td>
    827   <td></td>
    828 </tr>
    829 <tr class="even">
    830   <td>ZOuter</td>
    831   <td>track position (z component) at the tracker edge</td>
    832   <td></td>
    833 </tr>
    834 <tr class="odd">
    835   <td>Xd</td>
    836   <td>X coordinate of point of closest approach to vertex</td>
    837   <td></td>
    838 </tr>
    839 <tr class="even">
    840   <td>Yd</td>
    841   <td>Y coordinate of point of closest approach to vertex</td>
    842   <td></td>
    843 </tr>
    844 <tr class="odd">
    845   <td>Zd</td>
    846   <td>Z coordinate of point of closest approach to vertex</td>
    847   <td></td>
    848 </tr>
    849 <tr class="even">
    850   <td>L</td>
    851   <td>track path length</td>
    852   <td></td>
    853 </tr>
    854 <tr class="odd">
    855   <td>D0</td>
    856   <td>track transverse impact parameter</td>
    857   <td></td>
    858 </tr>
    859 <tr class="even">
    860   <td>DZ</td>
    861   <td>track longitudinal impact parameter</td>
    862   <td></td>
    863 </tr>
    864 <tr class="odd">
    865   <td>ErrorP</td>
    866   <td>track momentum error</td>
    867   <td></td>
    868 </tr>
    869 <tr class="even">
    870   <td>ErrorPT</td>
    871   <td>track transverse momentum error</td>
    872   <td></td>
    873 </tr>
    874 <tr class="odd">
    875   <td>ErrorPhi</td>
    876   <td>track azimuthal angle error</td>
    877   <td></td>
    878 </tr>
    879 <tr class="even">
    880   <td>ErrorCtgTheta</td>
    881   <td>track cotangent of theta error</td>
    882   <td></td>
    883 </tr>
    884 <tr class="odd">
    885   <td>ErrorT</td>
    886   <td>time measurement error</td>
    887   <td></td>
    888 </tr>
    889 <tr class="even">
    890   <td>ErrorD0</td>
    891   <td>track transverse impact parameter error</td>
    892   <td></td>
    893 </tr>
    894 <tr class="odd">
    895   <td>ErrorDZ</td>
    896   <td>track longitudinal impact parameter error</td>
    897   <td></td>
    898 </tr>
    899 <tr class="even">
    900   <td>Particle</td>
    901   <td>reference to generated particle</td>
    902   <td></td>
    903 </tr>
    904 <tr class="odd">
    905   <td>VertexIndex</td>
    906   <td>reference to vertex</td>
    907   <td></td>
    908 </tr>
    909 <tr class="class"><td colspan="3" id="Tower">class Tower</td></tr>
    910 <tr class="even">
    911   <td>ET</td>
    912   <td>calorimeter tower transverse energy</td>
    913   <td></td>
    914 </tr>
    915 <tr class="odd">
    916   <td>Eta</td>
    917   <td>calorimeter tower pseudorapidity</td>
    918   <td></td>
    919 </tr>
    920 <tr class="even">
    921   <td>Phi</td>
    922   <td>calorimeter tower azimuthal angle</td>
    923   <td></td>
    924 </tr>
    925 <tr class="odd">
    926   <td>E</td>
    927   <td>calorimeter tower energy</td>
    928   <td></td>
    929 </tr>
    930 <tr class="even">
    931   <td>T</td>
    932   <td>ecal deposit time, averaged by sqrt(EM energy) over all particles, not smeared</td>
    933   <td></td>
    934 </tr>
    935 <tr class="odd">
    936   <td>NTimeHits</td>
    937   <td>number of hits contributing to time measurement</td>
    938   <td></td>
    939 </tr>
    940 <tr class="even">
    941   <td>Eem</td>
    942   <td>calorimeter tower electromagnetic energy</td>
    943   <td></td>
    944 </tr>
    945 <tr class="odd">
    946   <td>Ehad</td>
    947   <td>calorimeter tower hadronic energy</td>
    948   <td></td>
    949 </tr>
    950 <tr class="even">
    951   <td>Edges[4]</td>
    952   <td>calorimeter tower edges</td>
    953   <td></td>
    954 </tr>
    955 <tr class="odd">
    956   <td>Particles</td>
    957   <td>references to generated particles</td>
    958   <td></td>
    959 </tr>
    960 <tr class="class"><td colspan="3" id="HectorHit">class HectorHit</td></tr>
    961 <tr class="even">
    962   <td>E</td>
    963   <td>reconstructed energy [GeV]</td>
    964   <td></td>
    965 </tr>
    966 <tr class="odd">
    967   <td>Tx</td>
    968   <td>angle of the momentum in the horizontal (x,z) plane [urad]</td>
    969   <td></td>
    970 </tr>
    971 <tr class="even">
    972   <td>Ty</td>
    973   <td>angle of the momentum in the verical (y,z) plane [urad]</td>
    974   <td></td>
    975 </tr>
    976 <tr class="odd">
    977   <td>T</td>
    978   <td>time of flight to the detector [s]</td>
    979   <td></td>
    980 </tr>
    981 <tr class="even">
    982   <td>X</td>
    983   <td>horizontal distance to the beam [um]</td>
    984   <td></td>
    985 </tr>
    986 <tr class="odd">
    987   <td>Y</td>
    988   <td>vertical distance to the beam [um]</td>
    989   <td></td>
    990 </tr>
    991 <tr class="even">
    992   <td>S</td>
    993   <td>distance to the interaction point [m]</td>
    994   <td></td>
    995 </tr>
    996 <tr class="odd">
    997   <td>Particle</td>
    998   <td>reference to generated particle</td>
    999   <td></td>
    1000 </tr>
    1001670</table>
    1002671</body></html>
  • doc/genMakefile.tcl

    rb9ae4c3 rec5e04b  
    263263executableDeps {converters/*.cpp} {examples/*.cpp}
    264264
    265 executableDeps {readers/DelphesHepMC.cpp} {readers/DelphesLHEF.cpp} {readers/DelphesSTDHEP.cpp} {readers/DelphesROOT.cpp}
     265executableDeps {readers/DelphesHepMC.cpp} {readers/DelphesLHEF.cpp} {readers/DelphesSTDHEP.cpp}
    266266
    267267puts {ifeq ($(HAS_CMSSW),true)}
  • doc/update_fastjet.sh

    rb9ae4c3 rec5e04b  
    1 version=3.2.1
     1version=3.1.3
    22
    33wget http://fastjet.fr/repo/fastjet-${version}.tar.gz
     
    9393
    9494sed -i 's/#include "siscone\//#include "/' SISCone/SISConePlugin.cc
    95 sed -i 's/#include <siscone\/config.h>/#include "config.h"/' SISCone/split_merge.h
     95
    9696cd -
  • examples/Pythia8/configParticleGun.cmnd

    rb9ae4c3 rec5e04b  
    33! 1) Settings used in the main program.
    44
    5 Main:numberOfEvents = 10000        ! number of events to generate
     5Main:numberOfEvents = 10000         ! number of events to generate
    66Main:timesAllowErrors = 3          ! how many aborts before run stops
    7 Main:spareFlag1 = on               ! true means particle gun
    8 Main:spareMode1 = 11               ! 1-5 - di-quark, 21 - di-gluon, 11 - single electron, 13 - single muon, 15 - single tau, 22 - single photon
    9 Main:spareParm1 = 10000            ! max pt
    10 Main:spareParm2 = 2.5              ! max eta
     7Main:spareFlag1 = on                ! true means particle gun
     8Main:spareMode1 = 11               ! 1-5 - di-quark, 21 - di-gluon, 11 - single electron, 13 - single muon, 22 - single photon
     9Main:spareParm1 = 10000           ! max pt
    1110
    1211! 2) Settings related to output in init(), next() and stat().
  • external/fastjet/CircularRange.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: CircularRange.hh 4074 2016-03-08 09:09:25Z soyez $
     2// $Id: CircularRange.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3535#include "fastjet/RangeDefinition.hh"
    3636#include "fastjet/Error.hh"
    37 #include "fastjet/internal/deprecated.hh"
    3837
    3938// for backwards compatibility: one should now use SelectorCircle,
     
    5150public:
    5251  /// constructor
    53   FASTJET_DEPRECATED_MSG("CircularRange is deprecated since FastJet 3.0. Use SelectorCircle instead")
    5452  CircularRange() {_set_invalid_rapphi();}
    5553 
    5654  /// initialise CircularRange with a jet
    57   FASTJET_DEPRECATED_MSG("CircularRange is deprecated since FastJet 3.0. Use SelectorCircle instead")
    5855  CircularRange(const fastjet::PseudoJet & jet, double distance) {
    5956                _distance = distance;
     
    6360
    6461  /// initialise CircularRange with a (rap,phi) point
    65   FASTJET_DEPRECATED_MSG("CircularRange is deprecated since FastJet 3.0. Use SelectorCircle instead")
    6662  CircularRange(double rap, double phi, double distance) {
    6763                _distance = distance;
     
    7167
    7268  /// initialise CircularRange with just the radius parameter
    73   FASTJET_DEPRECATED_MSG("CircularRange is deprecated since FastJet 3.0. Use SelectorCircle instead")
    7469  CircularRange(double distance) {
    7570                _set_invalid_rapphi();
     
    8176 
    8277  /// return description of range
    83   virtual inline std::string description() const FASTJET_OVERRIDE {
     78  virtual inline std::string description() const {
    8479    std::ostringstream ostr;
    8580    ostr << "CircularRange: within distance "<< _distance << " of given jet or point." ;
     
    8883  /// returns true since this range is localizable (i.e. set_position
    8984  /// does something meaningful)
    90   virtual inline bool is_localizable() const FASTJET_OVERRIDE { return true; }
     85  virtual inline bool is_localizable() const { return true; }
    9186 
    9287  /// return bool according to whether (rap,phi) is in range
    93   virtual inline bool is_in_range(double rap, double phi) const FASTJET_OVERRIDE {
     88  virtual inline bool is_in_range(double rap, double phi) const {
    9489     if (! _rapphi_are_valid()) {
    9590       throw Error("Circular range used without a center having being defined (use set_position())");
     
    10398
    10499  /// return the minimal and maximal rapidity of this range
    105   virtual inline void get_rap_limits(double & rapmin, double & rapmax) const FASTJET_OVERRIDE {
     100  virtual inline void get_rap_limits(double & rapmin, double & rapmax) const {
    106101     rapmin = _rapjet - _distance;
    107102     rapmax = _rapjet + _distance; }
  • external/fastjet/ClosestPair2D.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClosestPair2D.cc 4059 2016-03-03 20:49:48Z soyez $
     2// $Id: ClosestPair2D.cc 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    145145
    146146    // and create the search tree
    147     _trees[ishift] = SharedPtr<Tree>(new Tree(shuffles, max_size));
     147    _trees[ishift] = auto_ptr<Tree>(new Tree(shuffles, max_size));
    148148
    149149    // now we look for the closest-pair candidates on this tree
     
    174174    mindists2[i] = _points[i].neighbour_dist2;}
    175175 
    176   _heap = SharedPtr<MinHeap>(new MinHeap(mindists2, max_size));
     176  _heap = auto_ptr<MinHeap>(new MinHeap(mindists2, max_size));
    177177}
    178178
  • external/fastjet/ClusterSequence.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence.cc 4154 2016-07-20 16:20:48Z soyez $
     2// $Id: ClusterSequence.cc 3809 2015-02-20 13:05:13Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    152152  // set the pointer in the wrapper to this object to NULL to say that
    153153  // we're going out of scope
    154   if (_structure_shared_ptr){
    155     ClusterSequenceStructure* csi = dynamic_cast<ClusterSequenceStructure*>(_structure_shared_ptr.get());
     154  if (_structure_shared_ptr()){
     155    ClusterSequenceStructure* csi = dynamic_cast<ClusterSequenceStructure*>(_structure_shared_ptr());
    156156    // normally the csi is purely internal so it really should not be
    157157    // NULL i.e assert should be OK
     
    724724  }
    725725 
    726   //bool code_should_never_reach_here = false;
    727   //assert(code_should_never_reach_here);
    728 
    729   assert(0 && "Code should never reach here");
    730 
     726  bool code_should_never_reach_here = false;
     727  assert(code_should_never_reach_here);
    731728  return N2MHTLazy9;
    732729
     
    778775
    779776
    780 ClusterSequence & ClusterSequence::operator=(const ClusterSequence & cs) {
    781   // self assignment is trivial
    782   if (&cs != this) {
    783     _deletes_self_when_unused = false;
    784     transfer_from_sequence(cs);
    785   }
    786   return *this;
    787 }
    788 
    789777//----------------------------------------------------------------------
    790778// transfer the sequence contained in other_seq into our own;
     
    827815
    828816  // clean up existing structure
    829   if (_structure_shared_ptr) {
     817  if (_structure_shared_ptr()) {
    830818    // If there are jets associated with an old version of the CS and
    831819    // a new one, keeping track of when to delete the CS becomes more
     
    835823    // anything that is currently associated with the cluster sequence
    836824    // should be told that its cluster sequence no longer exists
    837     ClusterSequenceStructure* csi = dynamic_cast<ClusterSequenceStructure*>(_structure_shared_ptr.get());
     825    ClusterSequenceStructure* csi = dynamic_cast<ClusterSequenceStructure*>(_structure_shared_ptr());
    838826    assert(csi != NULL);
    839827    csi->set_associated_cs(NULL);
     
    14671455// initialise the history in a standard way
    14681456void ClusterSequence::_add_step_to_history (
    1469                //NO_LONGER_USED: const int step_number,
    1470                const int parent1,
     1457               const int step_number, const int parent1,
    14711458               const int parent2, const int jetp_index,
    14721459               const double dij) {
     
    14821469
    14831470  int local_step = _history.size()-1;
    1484   //#ifndef __NO_ASSERTS__
    1485   //assert(local_step == step_number);
    1486   //#endif
     1471  assert(local_step == step_number);
    14871472
    14881473  // sanity check: make sure the particles have not already been recombined
     
    16841669  int hist_j = _jets[jet_j].cluster_hist_index();
    16851670
    1686   _add_step_to_history(min(hist_i, hist_j), max(hist_i,hist_j),
     1671  _add_step_to_history(newstep_k, min(hist_i, hist_j), max(hist_i,hist_j),
    16871672                       newjet_k, dij);
    1688 
    1689   //  _add_step_to_history(newstep_k, min(hist_i, hist_j), max(hist_i,hist_j),
    1690   //                   newjet_k, dij);
    1691 
    16921673
    16931674}
     
    16991680void ClusterSequence::_do_iB_recombination_step(
    17001681                                  const int jet_i, const double diB) {
     1682  // get history index
     1683  int newstep_k = _history.size();
     1684
    17011685  // recombine the jet with the beam
    1702   _add_step_to_history(_jets[jet_i].cluster_hist_index(),BeamJet,
     1686  _add_step_to_history(newstep_k,_jets[jet_i].cluster_hist_index(),BeamJet,
    17031687                       Invalid, diB);
    1704 
    1705   // // get history index
    1706   // int newstep_k = _history.size();
    1707   //
    1708   // _add_step_to_history(newstep_k,_jets[jet_i].cluster_hist_index(),BeamJet,
    1709   //                   Invalid, diB);
    17101688
    17111689}
  • external/fastjet/ClusterSequence.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: ClusterSequence.hh 4154 2016-07-20 16:20:48Z soyez $
     5// $Id: ClusterSequence.hh 3911 2015-07-02 12:09:58Z salam $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    4949#include "fastjet/ClusterSequenceStructure.hh"
    5050
    51 #include "fastjet/internal/deprecated.hh"
    52 
    5351FASTJET_BEGIN_NAMESPACE      // defined in fastjet/internal/base.hh
    5452
     
    8280  }
    8381
    84   /// explicit assignment operator for a ClusterSequence
    85   ClusterSequence & operator=(const ClusterSequence & cs);
    86  
    8782  // virtual ClusterSequence destructor, in case any derived class
    8883  // thinks of needing a destructor at some point
     
    367362  /// As of FJ v3.1, this is deprecated, in line with the deprecation
    368363  /// of auto_ptr in C++11
    369 #ifdef FASTJET_HAVE_AUTO_PTR_INTERFACE
    370   FASTJET_DEPRECATED_MSG("Please use ClusterSequence::plugin_associate_extras(Extras * extras_in)) instead")
    371   inline void plugin_associate_extras(std::auto_ptr<Extras> extras_in){
     364  inline void plugin_associate_extras(std::auto_ptr<Extras> extras_in) {
    372365    _extras.reset(extras_in.release());
    373366  }
    374 #endif
    375367
    376368  /// returns true when the plugin is allowed to run the show.
     
    738730  void _fast_NsqrtN_cluster();
    739731
    740   void _add_step_to_history( //const int step_number,
    741                             const int parent1,
    742                             const int parent2, const int jetp_index,
    743                             const double dij);
     732  void _add_step_to_history(const int step_number, const int parent1,
     733                               const int parent2, const int jetp_index,
     734                               const double dij);
    744735
    745736  /// internal routine associated with the construction of the unique
     
    10461037template <class J> inline double ClusterSequence::_bj_dist(
    10471038                const J * const jetA, const J * const jetB) const {
    1048   //#define FASTJET_NEW_DELTA_PHI
    1049 #ifndef FASTJET_NEW_DELTA_PHI
    1050   //GPS+MC old version of Delta phi calculation
    10511039  double dphi = std::abs(jetA->phi - jetB->phi);
    10521040  double deta = (jetA->eta - jetB->eta);
    10531041  if (dphi > pi) {dphi = twopi - dphi;}
    1054 #else
    1055   //GPS+MC testing for 2015-02-faster-deltaR2
    1056   double dphi = pi-std::abs(pi-std::abs(jetA->phi - jetB->phi));
    1057   double deta = (jetA->eta - jetB->eta);
    1058 #endif
    10591042  return dphi*dphi + deta*deta;
    10601043}
  • external/fastjet/ClusterSequence1GhostPassiveArea.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence1GhostPassiveArea.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: ClusterSequence1GhostPassiveArea.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    7070  /// AreaBase one rather than the ActiveArea one (which for which we
    7171  /// do not have the information).
    72   virtual double n_empty_jets(const Selector & selector) const FASTJET_OVERRIDE {
     72  virtual double n_empty_jets(const Selector & selector) const {
    7373    return ClusterSequenceAreaBase::n_empty_jets(selector);
    7474  }
  • external/fastjet/ClusterSequenceActiveArea.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceActiveArea.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: ClusterSequenceActiveArea.hh 3619 2014-08-13 14:17:19Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    7474          const bool & writeout_combinations = false) ;
    7575
    76   virtual double area (const PseudoJet & jet) const FASTJET_OVERRIDE {
     76  virtual double area (const PseudoJet & jet) const {
    7777                             return _average_area[jet.cluster_hist_index()];};
    78   virtual double area_error (const PseudoJet & jet) const FASTJET_OVERRIDE {
     78  virtual double area_error (const PseudoJet & jet) const {
    7979                             return _average_area2[jet.cluster_hist_index()];};
    8080
    81   virtual PseudoJet area_4vector (const PseudoJet & jet) const FASTJET_OVERRIDE {
     81  virtual PseudoJet area_4vector (const PseudoJet & jet) const {
    8282                    return _average_area_4vector[jet.cluster_hist_index()];};
    8383
     
    110110  ///
    111111  /// The selector passed as an argument needs to apply jet by jet.
    112   virtual double empty_area(const Selector & selector) const FASTJET_OVERRIDE;
     112  virtual double empty_area(const Selector & selector) const;
    113113
    114114  /// return the true number of empty jets (replaces
    115115  /// ClusterSequenceAreaBase::n_empty_jets(...))
    116   virtual double n_empty_jets(const Selector & selector) const FASTJET_OVERRIDE;
     116  virtual double n_empty_jets(const Selector & selector) const;
    117117
    118118protected:
  • external/fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceActiveAreaExplicitGhosts.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: ClusterSequenceActiveAreaExplicitGhosts.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    9797
    9898  /// returns the area of a jet
    99   virtual double area (const PseudoJet & jet) const FASTJET_OVERRIDE;
     99  virtual double area (const PseudoJet & jet) const;
    100100
    101101  /// returns a four vector corresponding to the sum (E-scheme) of the
     
    103103  /// for a small contiguous area the p_t of the extended_area jet is
    104104  /// equal to area of the jet.
    105   virtual PseudoJet area_4vector (const PseudoJet & jet) const FASTJET_OVERRIDE;
     105  virtual PseudoJet area_4vector (const PseudoJet & jet) const;
    106106
    107107  /// true if a jet is made exclusively of ghosts
    108   virtual bool is_pure_ghost(const PseudoJet & jet) const FASTJET_OVERRIDE;
     108  virtual bool is_pure_ghost(const PseudoJet & jet) const;
    109109
    110110  /// true if the entry in the history index corresponds to a
     
    114114
    115115  /// this class does have explicit ghosts
    116   virtual bool has_explicit_ghosts() const FASTJET_OVERRIDE {return true;}
     116  virtual bool has_explicit_ghosts() const {return true;}
    117117
    118118  /// return the total area, corresponding to a given Selector, that
     
    120120  ///
    121121  /// The selector needs to apply jet by jet
    122   virtual double empty_area(const Selector & selector) const FASTJET_OVERRIDE;
     122  virtual double empty_area(const Selector & selector) const;
    123123
    124124  /// returns the total area under study
  • external/fastjet/ClusterSequenceArea.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceArea.hh 4098 2016-03-15 16:38:22Z salam $
     2// $Id: ClusterSequenceArea.hh 3484 2014-07-29 21:39:39Z soyez $
    33//
    44// Copyright (c) 2006-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    8080
    8181  /// return the area associated with the given jet
    82   virtual double area       (const PseudoJet & jet) const FASTJET_OVERRIDE {
     82  virtual double area       (const PseudoJet & jet) const {
    8383    return _area_base->area(jet);}
    8484
    8585  /// return the error (uncertainty) associated with the determination
    8686  /// of the area of this jet
    87   virtual double area_error (const PseudoJet & jet) const FASTJET_OVERRIDE {
     87  virtual double area_error (const PseudoJet & jet) const {
    8888    return _area_base->area_error(jet);}
    8989
    9090  /// return the 4-vector area
    91   virtual PseudoJet area_4vector(const PseudoJet & jet) const FASTJET_OVERRIDE {
     91  virtual PseudoJet area_4vector(const PseudoJet & jet) const {
    9292    return _area_base->area_4vector(jet);}
    9393
     
    110110  /// jet (see the BackgroundEstimator and Subtractor tools for more
    111111  /// advanced usage)
    112   virtual double empty_area(const Selector & selector) const FASTJET_OVERRIDE {
     112  virtual double empty_area(const Selector & selector) const {
    113113    return _area_base->empty_area(selector);}
    114114
     
    122122  /// jet (see the BackgroundEstimator and Subtractor tools for more
    123123  /// advanced usage)
    124   virtual double n_empty_jets(const Selector & selector) const FASTJET_OVERRIDE {
     124  virtual double n_empty_jets(const Selector & selector) const {
    125125    return _area_base->n_empty_jets(selector);
    126126  }
    127127
    128128  /// true if a jet is made exclusively of ghosts
    129   virtual bool is_pure_ghost(const PseudoJet & jet) const FASTJET_OVERRIDE {
     129  virtual bool is_pure_ghost(const PseudoJet & jet) const {
    130130    return _area_base->is_pure_ghost(jet);
    131131  }
    132132
    133133  /// true if this ClusterSequence has explicit ghosts
    134   virtual bool has_explicit_ghosts() const FASTJET_OVERRIDE {
     134  virtual bool has_explicit_ghosts() const {
    135135    return _area_base->has_explicit_ghosts();
    136136  }
     
    144144  /// jet (see the BackgroundEstimator and Subtractor tools for more
    145145  /// advanced usage)
    146   //FASTJET_DEPRECATED_MSG("ClusterSequenceArea::get_median_rho_and_sigma(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    147146  virtual void get_median_rho_and_sigma(const std::vector<PseudoJet> & all_jets,
    148147                                        const Selector & selector,
     
    150149                                        double & median, double & sigma,
    151150                                        double & mean_area,
    152                                         bool all_are_incl = false) const FASTJET_OVERRIDE {
     151                                        bool all_are_incl = false) const {
    153152    _warn_if_range_unsuitable(selector);
    154     ClusterSequenceAreaBase::_get_median_rho_and_sigma(
     153    ClusterSequenceAreaBase::get_median_rho_and_sigma(
    155154                                 all_jets, selector, use_area_4vector,
    156155                                 median, sigma, mean_area, all_are_incl);
     
    161160  /// since we've overridden the 5-argument version above, we have to
    162161  /// override the 4-argument version too.
    163   //FASTJET_DEPRECATED_MSG("ClusterSequenceArea::get_median_rho_and_sigma(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    164162  virtual void get_median_rho_and_sigma(const Selector & selector,
    165163                                        bool use_area_4vector,
    166                                         double & median, double & sigma) const FASTJET_OVERRIDE {
    167     ClusterSequenceAreaBase::_get_median_rho_and_sigma(selector,use_area_4vector,
    168                                                        median,sigma);
     164                                        double & median, double & sigma) const {
     165    ClusterSequenceAreaBase::get_median_rho_and_sigma(selector,use_area_4vector,
     166                                                      median,sigma);
    169167  }
    170168
     
    173171  /// since we've overridden the multi-argument version above, we have to
    174172  /// override the 5-argument version too.
    175   //FASTJET_DEPRECATED_MSG("ClusterSequenceArea::get_median_rho_and_sigma(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    176173  virtual void get_median_rho_and_sigma(const Selector & selector,
    177174                                        bool use_area_4vector,
    178175                                        double & median, double & sigma,
    179                                         double & mean_area) const FASTJET_OVERRIDE {
    180     ClusterSequenceAreaBase::_get_median_rho_and_sigma(selector,use_area_4vector,
    181                                                        median,sigma, mean_area);
     176                                        double & mean_area) const {
     177    ClusterSequenceAreaBase::get_median_rho_and_sigma(selector,use_area_4vector,
     178                                                      median,sigma, mean_area);
    182179  }
    183180
     
    186183  /// additionally checks compatibility between "range" and region in which
    187184  /// ghosts are thrown.
    188   //FASTJET_DEPRECATED_MSG("ClusterSequenceArea::parabolic_pt_per_unit_area(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead") 
    189185  virtual void parabolic_pt_per_unit_area(double & a, double & b,
    190186                                          const Selector & selector,
    191187                                          double exclude_above=-1.0,
    192                                           bool use_area_4vector=false) const FASTJET_OVERRIDE {
    193     return _parabolic_pt_per_unit_area(a,b,selector,exclude_above,use_area_4vector);
     188                                          bool use_area_4vector=false) const {
     189    _warn_if_range_unsuitable(selector);
     190    ClusterSequenceAreaBase::parabolic_pt_per_unit_area(
     191                                a,b,selector, exclude_above, use_area_4vector);
    194192  }
    195193
     
    206204                                 const JetDefinition & jet_def);
    207205
    208   SharedPtr<ClusterSequenceAreaBase> _area_base;
     206  std::auto_ptr<ClusterSequenceAreaBase> _area_base;
    209207  AreaDefinition _area_def;
    210208  static LimitedWarning _range_warnings;
    211209  static LimitedWarning _explicit_ghosts_repeats_warnings;
    212 
    213   // the following set of private methods are all deprecated. Their
    214   // role is simply to hide the corresponding methods (without the
    215   // first underscore) from the public interface so that they can be
    216   // used internally until all the deprecated methods are removed.
    217   // DO NOT USE ANY OF THESE METHODS: THEY ARE DEPRECATED AND WILL BE
    218   // REMOVED.
    219   virtual void _parabolic_pt_per_unit_area(double & a, double & b,
    220                                           const Selector & selector,
    221                                           double exclude_above=-1.0,
    222                                           bool use_area_4vector=false) const FASTJET_OVERRIDE {
    223     _warn_if_range_unsuitable(selector);
    224     ClusterSequenceAreaBase::_parabolic_pt_per_unit_area(
    225                                 a,b,selector, exclude_above, use_area_4vector);
    226   }
    227210
    228211};
     
    271254  }
    272255  // now copy across the information from the area base class
    273   _area_base = SharedPtr<ClusterSequenceAreaBase>(_area_base_ptr);
     256  _area_base = std::auto_ptr<ClusterSequenceAreaBase>(_area_base_ptr);
    274257  transfer_from_sequence(*_area_base);
    275258}
  • external/fastjet/ClusterSequenceAreaBase.cc

    rb9ae4c3 rec5e04b  
    11
    22//FJSTARTHEADER
    3 // $Id: ClusterSequenceAreaBase.cc 4079 2016-03-09 12:20:03Z soyez $
     3// $Id: ClusterSequenceAreaBase.cc 3433 2014-07-23 08:17:03Z salam $
    44//
    55// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    7979}
    8080
    81 // this is deprecated but used by other deprecated methods. So we hide
    82 // the implementation in a protected method so that (i) it can still
    83 // be used internally (without generating a compile-time warning when
    84 // building FastJet) and the interface can be marked as deprecated.
    85 // This can disappear once all the public interfaces have disappeared.
    8681double ClusterSequenceAreaBase::median_pt_per_unit_area(const Selector & selector) const {
    87   return _median_pt_per_unit_area(selector);
    88 }
    89 
    90 // the hidden implementation
    91 double ClusterSequenceAreaBase::_median_pt_per_unit_area(const Selector & selector) const {
    92   return _median_pt_per_unit_something(selector,false);
    93 }
    94 
    95 
    96 
    97 // this is deprecated but used by other deprecated methods. So we hide
    98 // the implementation in a protected method so that (i) it can still
    99 // be used internally (without generating a compile-time warning when
    100 // building FastJet) and the interface can be marked as deprecated.
    101 // This can disappear once all the public interfaces have disappeared.
     82  return median_pt_per_unit_something(selector,false);
     83}
     84
    10285double ClusterSequenceAreaBase::median_pt_per_unit_area_4vector(const Selector & selector) const {
    103   return _median_pt_per_unit_area_4vector(selector);
    104 }
    105 
    106 // the deprecated interface
    107 double ClusterSequenceAreaBase::_median_pt_per_unit_area_4vector(const Selector & selector) const {
    108   return _median_pt_per_unit_something(selector,true);
    109 }
    110 
    111 
    112 //----------------------------------------------------------------------
    113 // this is deprecated but used by other deprecated methods. So we hide
    114 // the implementation in a protected method so that (i) it can still
    115 // be used internally (without generating a compile-time warning when
    116 // building FastJet) and the interface can be marked as deprecated.
    117 // This can disappear once all the public interfaces have disappeared.
     86  return median_pt_per_unit_something(selector,true);
     87}
     88
     89
     90//----------------------------------------------------------------------
     91/// the median of (pt/area) for jets contained within range, counting
     92/// the empty area as if it were made up of a collection of empty
     93/// jets each of area (0.55 * pi R^2).
    11894double ClusterSequenceAreaBase::median_pt_per_unit_something(
    11995                const Selector & selector, bool use_area_4vector) const {
    120   return _median_pt_per_unit_something(selector, use_area_4vector);
    121 }
    122 
    123 // the median of (pt/area) for jets contained within range, counting
    124 // the empty area as if it were made up of a collection of empty
    125 // jets each of area (0.55 * pi R^2).
    126 double ClusterSequenceAreaBase::_median_pt_per_unit_something(
    127                 const Selector & selector, bool use_area_4vector) const {
     96
    12897  double median, sigma, mean_area;
    129   _get_median_rho_and_sigma(selector, use_area_4vector, median, sigma, mean_area);
     98  get_median_rho_and_sigma(selector, use_area_4vector, median, sigma, mean_area);
    13099  return median;
    131 }
    132 
    133 
    134 //----------------------------------------------------------------------
    135 /// fits a form pt_per_unit_area(y) = a + b*y^2 for jets in range.
    136 /// exclude_above allows one to exclude large values of pt/area from
    137 /// fit.  use_area_4vector = true uses the 4vector areas.
     100
     101}
     102
     103
     104//----------------------------------------------------------------------
     105/// fits a form pt_per_unit_area(y) = a + b*y^2 for jets in range.
     106/// exclude_above allows one to exclude large values of pt/area from fit.
     107/// use_area_4vector = true uses the 4vector areas.
    138108void ClusterSequenceAreaBase::parabolic_pt_per_unit_area(
    139        double & a, double & b, const Selector & selector,
    140        double exclude_above, bool use_area_4vector) const {
    141   return _parabolic_pt_per_unit_area(a, b, selector, exclude_above, use_area_4vector);
    142 }
    143 
    144 void ClusterSequenceAreaBase::_parabolic_pt_per_unit_area(
    145109       double & a, double & b, const Selector & selector,
    146110       double exclude_above, bool use_area_4vector) const {
     
    197161
    198162
    199 //----------------------------------------------------------------------
     163
    200164void ClusterSequenceAreaBase::get_median_rho_and_sigma(
    201165            const Selector & selector, bool use_area_4vector,
    202166            double & median, double & sigma, double & mean_area) const {
    203   _get_median_rho_and_sigma(selector, use_area_4vector, median, sigma, mean_area);
    204 }
    205 
    206 void ClusterSequenceAreaBase::_get_median_rho_and_sigma(
    207             const Selector & selector, bool use_area_4vector,
    208             double & median, double & sigma, double & mean_area) const {
    209167
    210168  vector<PseudoJet> incl_jets = inclusive_jets();
    211   _get_median_rho_and_sigma(incl_jets, selector, use_area_4vector,
    212                             median, sigma, mean_area, true);
    213 }
     169  get_median_rho_and_sigma(incl_jets, selector, use_area_4vector,
     170                           median, sigma, mean_area, true);
     171}
     172
    214173
    215174void ClusterSequenceAreaBase::get_median_rho_and_sigma(
    216             const vector<PseudoJet> & all_jets,
    217             const Selector & selector, bool use_area_4vector,
    218             double & median, double & sigma, double & mean_area,
    219             bool all_are_incl) const {
    220   _get_median_rho_and_sigma(all_jets, selector, use_area_4vector,
    221                             median, sigma, mean_area, all_are_incl);
    222 }
    223 
    224 void ClusterSequenceAreaBase::_get_median_rho_and_sigma(
    225175            const vector<PseudoJet> & all_jets,
    226176            const Selector & selector, bool use_area_4vector,
     
    338288
    339289
    340 // return a vector of all subtracted jets, using area_4vector, given rho.
    341 // Only inclusive_jets above ptmin are subtracted and returned.
    342 // the ordering is the same as that of sorted_by_pt(cs.inclusive_jets()),
    343 // i.e. not necessarily ordered in pt once subtracted
     290/// return a vector of all subtracted jets, using area_4vector, given rho.
     291/// Only inclusive_jets above ptmin are subtracted and returned.
     292/// the ordering is the same as that of sorted_by_pt(cs.inclusive_jets()),
     293/// i.e. not necessarily ordered in pt once subtracted
    344294vector<PseudoJet> ClusterSequenceAreaBase::subtracted_jets(const double rho,
    345295                                                           const double ptmin)
    346296                                                           const {
    347   return _subtracted_jets(rho,ptmin);
    348 }
    349 
    350 vector<PseudoJet> ClusterSequenceAreaBase::_subtracted_jets(const double rho,
    351                                                             const double ptmin)
    352   const {
    353297  vector<PseudoJet> sub_jets;
    354298  vector<PseudoJet> jets_local = sorted_by_pt(inclusive_jets(ptmin));
    355299  for (unsigned i=0; i<jets_local.size(); i++) {
    356      PseudoJet sub_jet = _subtracted_jet(jets_local[i],rho);
     300     PseudoJet sub_jet = subtracted_jet(jets_local[i],rho);
    357301     sub_jets.push_back(sub_jet);
    358302  }
     
    360304}
    361305
    362 // return a vector of subtracted jets, using area_4vector.
    363 // Only inclusive_jets above ptmin are subtracted and returned.
    364 // the ordering is the same as that of sorted_by_pt(cs.inclusive_jets()),
    365 // i.e. not necessarily ordered in pt once subtracted
     306/// return a vector of subtracted jets, using area_4vector.
     307/// Only inclusive_jets above ptmin are subtracted and returned.
     308/// the ordering is the same as that of sorted_by_pt(cs.inclusive_jets()),
     309/// i.e. not necessarily ordered in pt once subtracted
    366310vector<PseudoJet> ClusterSequenceAreaBase::subtracted_jets(
    367311                                                 const Selector & selector,
    368312                                                 const double ptmin)
    369313                                                 const {
    370   double rho = _median_pt_per_unit_area_4vector(selector);
    371   return _subtracted_jets(rho,ptmin);
     314  double rho = median_pt_per_unit_area_4vector(selector);
     315  return subtracted_jets(rho,ptmin);
    372316}
    373317
     
    376320PseudoJet ClusterSequenceAreaBase::subtracted_jet(const PseudoJet & jet,
    377321                                                  const double rho) const {
    378   return _subtracted_jet(jet, rho);
    379 }
    380 
    381 PseudoJet ClusterSequenceAreaBase::_subtracted_jet(const PseudoJet & jet,
    382                                                    const double rho) const {
    383322  PseudoJet area4vect = area_4vector(jet);
    384323  PseudoJet sub_jet;
     
    404343PseudoJet ClusterSequenceAreaBase::subtracted_jet(const PseudoJet & jet,
    405344                                       const Selector & selector) const {
    406   return _subtracted_jet(jet, selector);
    407 }
    408 
    409 PseudoJet ClusterSequenceAreaBase::_subtracted_jet(const PseudoJet & jet,
    410                                        const Selector & selector) const {
    411   double rho = _median_pt_per_unit_area_4vector(selector);
    412   PseudoJet sub_jet = _subtracted_jet(jet, rho);
     345  double rho = median_pt_per_unit_area_4vector(selector);
     346  PseudoJet sub_jet = subtracted_jet(jet, rho);
    413347  return sub_jet;
    414348}
     
    419353                                              const double rho,
    420354                                              bool use_area_4vector) const {
    421   return _subtracted_pt(jet, rho, use_area_4vector);
    422 }
    423 
    424 double ClusterSequenceAreaBase::_subtracted_pt(const PseudoJet & jet,
    425                                               const double rho,
    426                                               bool use_area_4vector) const {
    427355  if ( use_area_4vector ) {
    428      PseudoJet sub_jet = _subtracted_jet(jet,rho);
     356     PseudoJet sub_jet = subtracted_jet(jet,rho);
    429357     return sub_jet.perp();
    430358  } else {
     
    441369                                              bool use_area_4vector) const {
    442370  if ( use_area_4vector ) {
    443      PseudoJet sub_jet = _subtracted_jet(jet,selector);
     371     PseudoJet sub_jet = subtracted_jet(jet,selector);
    444372     return sub_jet.perp();
    445373  } else {
    446      double rho = _median_pt_per_unit_area(selector);
    447      return _subtracted_pt(jet,rho,false);
     374     double rho = median_pt_per_unit_area(selector);
     375     return subtracted_pt(jet,rho,false);
    448376  }
    449377
  • external/fastjet/ClusterSequenceAreaBase.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceAreaBase.hh 4098 2016-03-15 16:38:22Z salam $
     2// $Id: ClusterSequenceAreaBase.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3535#include "fastjet/LimitedWarning.hh"
    3636#include "fastjet/Selector.hh"
    37 #include "fastjet/internal/deprecated.hh"
    3837
    3938FASTJET_BEGIN_NAMESPACE
     
    145144  /// apply jet-by-jet (see the BackgroundEstimator and Subtractor
    146145  /// tools for more generic usages)
    147   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::median_pt_per_unit_area(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    148146  double median_pt_per_unit_area(const Selector & selector) const;
    149147
     
    153151  /// The selector passed as an argument has to have a finite area and
    154152  /// apply jet-by-jet
    155   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::median_pt_per_unit_area_4vector(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    156153  double median_pt_per_unit_area_4vector(const Selector & selector) const;
    157154 
     
    160157  /// - something_is_area_4vect = false -> use plain area
    161158  /// - something_is_area_4vect = true  -> use 4-vector area
    162   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::median_pt_per_unit_something(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    163   double median_pt_per_unit_something(const Selector & selector,
    164                                       bool use_area_4vector) const;
     159  double median_pt_per_unit_something(
     160                    const Selector & selector, bool use_area_4vector) const;
    165161
    166162  /// using jets withing the selector range (and with 4-vector areas if
     
    188184  /// using a scalar area causes one to neglect terms of relative
    189185  /// order $R^2/8$ in the jet $p_t$.
    190   //FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::get_median_rho_and_sigma(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    191186  virtual void get_median_rho_and_sigma(const Selector & selector,
    192187                                        bool use_area_4vector,
     
    213208  /// apply jet-by-jet (see the BackgroundEstimator and Subtractor
    214209  /// tools for more generic usages)
    215   //FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::get_median_rho_and_sigma(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    216210  virtual void get_median_rho_and_sigma(const std::vector<PseudoJet> & all_jets,
    217211                                        const Selector & selector,
     
    227221  /// apply jet-by-jet (see the BackgroundEstimator and Subtractor
    228222  /// tools for more generic usages)
    229   //FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::get_median_rho_and_sigma(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    230223  virtual void get_median_rho_and_sigma(const Selector & selector,
    231                                         bool use_area_4vector,
    232                                         double & median, double & sigma) const{
    233     return _get_median_rho_and_sigma(selector, use_area_4vector, median, sigma);
     224                                bool use_area_4vector,
     225                                double & median, double & sigma) const {
     226    double mean_area;
     227    get_median_rho_and_sigma(selector,  use_area_4vector,
     228                             median,  sigma, mean_area);
    234229  }
    235230 
     
    243238  /// apply jet-by-jet (see the BackgroundEstimator and Subtractor
    244239  /// tools for more generic usages)
    245   //FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::parabolic_pt_per_unit_area(...) is deprecated since FastJet 3.0. Use the BackgroundEstimator series of tools instead")
    246240  virtual void parabolic_pt_per_unit_area(double & a, double & b,
    247241                                          const Selector & selector,
     
    253247  /// the ordering is the same as that of sorted_by_pt(cs.inclusive_jets()),
    254248  /// i.e. not necessarily ordered in pt once subtracted
    255   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::subtracted_jets(...) is deprecated since FastJet 3.0. Use the Subtractor tool (with the BackgroundEstimator series of tools) instead")
    256249  std::vector<PseudoJet> subtracted_jets(const double rho,
    257250                                         const double ptmin=0.0) const;
     
    265258  /// apply jet-by-jet (see the BackgroundEstimator and Subtractor
    266259  /// tools for more generic usages)
    267   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::subtracted_jets(...) is deprecated since FastJet 3.0. Use the Subtractor tool (with the BackgroundEstimator series of tools) instead")
    268260  std::vector<PseudoJet> subtracted_jets(const Selector & selector,
    269261                                         const double ptmin=0.0) const;
    270262
    271263  /// return a subtracted jet, using area_4vector, given rho
    272   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::subtracted_jet(...) is deprecated since FastJet 3.0. Use the Subtractor tool (with the BackgroundEstimator series of tools) instead")
    273264  PseudoJet subtracted_jet(const PseudoJet & jet,
    274265                           const double rho) const;
     
    282273  /// apply jet-by-jet (see the BackgroundEstimator and Subtractor
    283274  /// tools for more generic usages)
    284   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::subtracted_jet(...) is deprecated since FastJet 3.0. Use the Subtractor tool (with the BackgroundEstimator series of tools) instead")
    285275  PseudoJet subtracted_jet(const PseudoJet & jet,
    286276                           const Selector & selector) const;
    287277
    288278  /// return the subtracted pt, given rho
    289   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::subtracted_pt(...) is deprecated since FastJet 3.0. Use the Subtractor tool (with the BackgroundEstimator series of tools) instead")
    290279  double subtracted_pt(const PseudoJet & jet,
    291280                       const double rho,
     
    299288  /// apply jet-by-jet (see the BackgroundEstimator and Subtractor
    300289  /// tools for more generic usages)
    301   FASTJET_DEPRECATED_MSG("ClusterSequenceAreaBase::subtracted_pt(...) is deprecated since FastJet 3.0. Use the Subtractor tool (with the BackgroundEstimator series of tools) instead")
    302290  double subtracted_pt(const PseudoJet & jet,
    303291                       const Selector & selector,
     
    308296  void _check_selector_good_for_median(const Selector &selector) const;
    309297
    310   // the following set of protected methods are all deprecated. Their
    311   // role is simply to hide the corresponding methods (without the
    312   // first underscore) from the public interface so that they can be
    313   // used internally until all the deprecated methods are removed.
    314   // DO NOT USE ANY OF THESE METHODS: THEY ARE DEPRECATED AND WILL BE
    315   // REMOVED.
    316   virtual void _get_median_rho_and_sigma(const Selector & selector,
    317                                          bool use_area_4vector,
    318                                          double & median, double & sigma,
    319                                          double & mean_area) const;
    320   virtual void _get_median_rho_and_sigma(const std::vector<PseudoJet> & all_jets,
    321                                          const Selector & selector,
    322                                          bool use_area_4vector,
    323                                          double & median, double & sigma,
    324                                          double & mean_area,
    325                                          bool all_are_inclusive = false) const;
    326   virtual void _get_median_rho_and_sigma(const Selector & selector,
    327                                          bool use_area_4vector,
    328                                          double & median, double & sigma) const {
    329     double mean_area;
    330     _get_median_rho_and_sigma(selector,  use_area_4vector,
    331                               median,  sigma, mean_area);
    332   }
    333   virtual void _parabolic_pt_per_unit_area(double & a, double & b,
    334                                            const Selector & selector,
    335                                            double exclude_above=-1.0,
    336                                            bool use_area_4vector=false) const;
    337298
    338299private:
     
    344305  /// check the jet algorithm is suitable (and if not issue a warning)
    345306  void _check_jet_alg_good_for_median() const;
    346 
    347   // the following set of private methods are all deprecated. Their
    348   // role is simply to hide the corresponding methods (without the
    349   // first underscore) from the public interface so that they can be
    350   // used internally until all the deprecated methods are removed.
    351   // DO NOT USE ANY OF THESE METHODS: THEY ARE DEPRECATED AND WILL BE
    352   // REMOVED.
    353   double _median_pt_per_unit_area(const Selector & selector) const;
    354   double _median_pt_per_unit_area_4vector(const Selector & selector) const;
    355   double _median_pt_per_unit_something(const Selector & selector,
    356                                        bool use_area_4vector) const;
    357   std::vector<PseudoJet> _subtracted_jets(const double rho,
    358                                           const double ptmin=0.0) const;
    359   PseudoJet _subtracted_jet(const PseudoJet & jet,
    360                             const double rho) const;
    361   PseudoJet _subtracted_jet(const PseudoJet & jet,
    362                             const Selector & selector) const;
    363   double _subtracted_pt(const PseudoJet & jet,
    364                         const double rho,
    365                         bool use_area_4vector=false) const;
     307 
    366308};
    367309
  • external/fastjet/ClusterSequencePassiveArea.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequencePassiveArea.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: ClusterSequencePassiveArea.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    6565  /// return an empty area that's appropriate to the passive area
    6666  /// determination carried out
    67   virtual double empty_area(const Selector & selector) const FASTJET_OVERRIDE;
     67  virtual double empty_area(const Selector & selector) const;
    6868
    6969private:
  • external/fastjet/ClusterSequenceStructure.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceStructure.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: ClusterSequenceStructure.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    7676
    7777  /// description
    78   virtual std::string description() const FASTJET_OVERRIDE{
    79     return "PseudoJet with an associated ClusterSequence";
    80   }
     78  virtual std::string description() const{ return "PseudoJet with an associated ClusterSequence"; }
    8179
    8280  //-------------------------------------------------------------
     
    8785  //-------------------------------------------------------------
    8886  /// returns true if there is an associated ClusterSequence
    89   virtual bool has_associated_cluster_sequence() const FASTJET_OVERRIDE{ return true;}
     87  virtual bool has_associated_cluster_sequence() const{ return true;}
    9088
    9189  /// get a (const) pointer to the parent ClusterSequence (NULL if
    9290  /// inexistent)
    93   virtual const ClusterSequence* associated_cluster_sequence() const FASTJET_OVERRIDE;
     91  virtual const ClusterSequence* associated_cluster_sequence() const;
    9492 
    9593  /// returns true if there is a valid associated ClusterSequence
    96   virtual bool has_valid_cluster_sequence() const FASTJET_OVERRIDE;
     94  virtual bool has_valid_cluster_sequence() const;
    9795
    9896  /// if the jet has a valid associated cluster sequence then return a
    9997  /// pointer to it; otherwise throw an error
    100   virtual const ClusterSequence * validated_cs() const FASTJET_OVERRIDE;
     98  virtual const ClusterSequence * validated_cs() const;
    10199
    102100#ifndef __FJCORE__
    103101  /// if the jet has valid area information then return a pointer to
    104102  /// the associated ClusterSequenceAreaBase object; otherwise throw an error
    105   virtual const ClusterSequenceAreaBase * validated_csab() const FASTJET_OVERRIDE;
     103  virtual const ClusterSequenceAreaBase * validated_csab() const;
    106104#endif  // __FJCORE__
    107105
     
    127125  /// an Error is thrown if this PseudoJet has no currently valid
    128126  /// associated ClusterSequence
    129   virtual bool has_partner(const PseudoJet &reference, PseudoJet &partner) const FASTJET_OVERRIDE;
     127  virtual bool has_partner(const PseudoJet &reference, PseudoJet &partner) const;
    130128
    131129  /// check if it has been recombined with another PseudoJet in which
     
    135133  /// an Error is thrown if this PseudoJet has no currently valid
    136134  /// associated ClusterSequence
    137   virtual bool has_child(const PseudoJet &reference, PseudoJet &child) const FASTJET_OVERRIDE;
     135  virtual bool has_child(const PseudoJet &reference, PseudoJet &child) const;
    138136
    139137  /// check if it is the product of a recombination, in which case
     
    143141  /// an Error is thrown if this PseudoJet has no currently valid
    144142  /// associated ClusterSequence
    145   virtual bool has_parents(const PseudoJet &reference, PseudoJet &parent1, PseudoJet &parent2) const FASTJET_OVERRIDE;
     143  virtual bool has_parents(const PseudoJet &reference, PseudoJet &parent1, PseudoJet &parent2) const;
    146144
    147145  /// check if the reference PseudoJet is contained in the second one
     
    153151  /// false is returned if the 2 PseudoJet do not belong the same
    154152  /// ClusterSequence
    155   virtual bool object_in_jet(const PseudoJet &reference, const PseudoJet &jet) const FASTJET_OVERRIDE;
     153  virtual bool object_in_jet(const PseudoJet &reference, const PseudoJet &jet) const;
    156154
    157155  /// return true if the structure supports constituents.
     
    159157  /// an Error is thrown if this PseudoJet has no currently valid
    160158  /// associated ClusterSequence
    161   virtual bool has_constituents() const FASTJET_OVERRIDE;
     159  virtual bool has_constituents() const;
    162160
    163161  /// retrieve the constituents.
     
    165163  /// an Error is thrown if this PseudoJet has no currently valid
    166164  /// associated ClusterSequence
    167   virtual std::vector<PseudoJet> constituents(const PseudoJet &reference) const FASTJET_OVERRIDE;
     165  virtual std::vector<PseudoJet> constituents(const PseudoJet &reference) const;
    168166
    169167
     
    172170  /// an Error is thrown if this PseudoJet has no currently valid
    173171  /// associated ClusterSequence
    174   virtual bool has_exclusive_subjets() const FASTJET_OVERRIDE;
     172  virtual bool has_exclusive_subjets() const;
    175173
    176174  /// return a vector of all subjets of the current jet (in the sense
     
    185183  /// an Error is thrown if this PseudoJet has no currently valid
    186184  /// associated ClusterSequence
    187   virtual std::vector<PseudoJet> exclusive_subjets(const PseudoJet &reference, const double & dcut) const FASTJET_OVERRIDE;
     185  virtual std::vector<PseudoJet> exclusive_subjets(const PseudoJet &reference, const double & dcut) const;
    188186
    189187  /// return the size of exclusive_subjets(...); still n ln n with same
     
    193191  /// an Error is thrown if this PseudoJet has no currently valid
    194192  /// associated ClusterSequence
    195   virtual int n_exclusive_subjets(const PseudoJet &reference, const double & dcut) const FASTJET_OVERRIDE;
     193  virtual int n_exclusive_subjets(const PseudoJet &reference, const double & dcut) const;
    196194
    197195  /// return the list of subjets obtained by unclustering the supplied
     
    203201  /// an Error is thrown if this PseudoJet has no currently valid
    204202  /// associated ClusterSequence
    205   virtual std::vector<PseudoJet> exclusive_subjets_up_to (const PseudoJet &reference, int nsub) const FASTJET_OVERRIDE;
     203  virtual std::vector<PseudoJet> exclusive_subjets_up_to (const PseudoJet &reference, int nsub) const;
    206204
    207205  /// return the dij that was present in the merging nsub+1 -> nsub
     
    210208  /// an Error is thrown if this PseudoJet has no currently valid
    211209  /// associated ClusterSequence
    212   virtual double exclusive_subdmerge(const PseudoJet &reference, int nsub) const FASTJET_OVERRIDE;
     210  virtual double exclusive_subdmerge(const PseudoJet &reference, int nsub) const;
    213211
    214212  /// return the maximum dij that occurred in the whole event at the
     
    218216  /// an Error is thrown if this PseudoJet has no currently valid
    219217  /// associated ClusterSequence
    220   virtual double exclusive_subdmerge_max(const PseudoJet &reference, int nsub) const FASTJET_OVERRIDE;
     218  virtual double exclusive_subdmerge_max(const PseudoJet &reference, int nsub) const;
    221219
    222220
     
    226224  /// by convention, a jet associated with a ClusterSequence will have
    227225  /// its parents as pieces
    228   virtual bool has_pieces(const PseudoJet &reference) const FASTJET_OVERRIDE;
     226  virtual bool has_pieces(const PseudoJet &reference) const;
    229227
    230228  /// by convention, a jet associated with a ClusterSequence will have
     
    237235  /// sequence. If the cluster sequence has gone out of scope, an
    238236  /// error will be thrown
    239   virtual std::vector<PseudoJet> pieces(const PseudoJet &reference) const FASTJET_OVERRIDE;
     237  virtual std::vector<PseudoJet> pieces(const PseudoJet &reference) const;
    240238
    241239
     
    246244
    247245  /// check if it has a defined area
    248   virtual bool has_area() const FASTJET_OVERRIDE;
     246  virtual bool has_area() const;
    249247
    250248  /// return the jet (scalar) area.
    251249  /// throws an Error if there is no support for area in the parent CS
    252   virtual double area(const PseudoJet &reference) const FASTJET_OVERRIDE;
     250  virtual double area(const PseudoJet &reference) const;
    253251
    254252  /// return the error (uncertainty) associated with the determination
    255253  /// of the area of this jet.
    256254  /// throws an Error if there is no support for area in the parent CS
    257   virtual double area_error(const PseudoJet &reference) const FASTJET_OVERRIDE;
     255  virtual double area_error(const PseudoJet &reference) const;
    258256
    259257  /// return the jet 4-vector area.
    260258  /// throws an Error if there is no support for area in the parent CS
    261   virtual PseudoJet area_4vector(const PseudoJet &reference) const FASTJET_OVERRIDE;
     259  virtual PseudoJet area_4vector(const PseudoJet &reference) const;
    262260
    263261  /// true if this jet is made exclusively of ghosts.
    264262  /// throws an Error if there is no support for area in the parent CS
    265   virtual bool is_pure_ghost(const PseudoJet &reference) const FASTJET_OVERRIDE;
     263  virtual bool is_pure_ghost(const PseudoJet &reference) const;
    266264
    267265#endif  // __FJCORE__
  • external/fastjet/ClusterSequenceVoronoiArea.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequenceVoronoiArea.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: ClusterSequenceVoronoiArea.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    6565
    6666  /// return the area associated with the given jet
    67   virtual inline double area(const PseudoJet & jet) const FASTJET_OVERRIDE {
     67  virtual inline double area(const PseudoJet & jet) const {
    6868    return _voronoi_area[jet.cluster_hist_index()];}
    6969
     
    7272  /// made of sums of centres of all Voronoi cells in jet, each
    7373  /// contributing with a normalisation equal to the area of the cell
    74   virtual inline PseudoJet area_4vector(const PseudoJet & jet) const FASTJET_OVERRIDE {
     74  virtual inline PseudoJet area_4vector(const PseudoJet & jet) const {
    7575    return _voronoi_area_4vector[jet.cluster_hist_index()];}
    7676
    7777  /// return the error of the area associated with the given jet
    7878  /// (0 by definition for a voronoi area)
    79   virtual inline double area_error(const PseudoJet & /*jet*/) const FASTJET_OVERRIDE {
     79  virtual inline double area_error(const PseudoJet & /*jet*/) const {
    8080    return 0.0;}
    8181
  • external/fastjet/ClusterSequence_CP2DChan.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence_CP2DChan.cc 4045 2016-03-03 10:01:55Z salam $
     2// $Id: ClusterSequence_CP2DChan.cc 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    4646  public:
    4747    int orig, mirror;
    48     MirrorInfo(int a, int b) : orig(a), mirror(b) {}
    49     MirrorInfo() : orig(0), mirror(0) {} // set dummy values to keep static code checkers happy
     48    MirrorInfo(int a, int b) : orig(a), mirror(b) {};
     49    MirrorInfo() {};
    5050  };
    5151
  • external/fastjet/ClusterSequence_Delaunay.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClusterSequence_Delaunay.cc 4059 2016-03-03 20:49:48Z soyez $
     2// $Id: ClusterSequence_Delaunay.cc 3918 2015-07-03 14:19:13Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    6969
    7070  // initialise our DNN structure with the set of points
    71   SharedPtr<DynamicNearestNeighbours> DNN;
    72   const bool verbose = false;
     71  auto_ptr<DynamicNearestNeighbours> DNN;
     72  bool verbose = false;
    7373#ifndef DROP_CGAL // strategy = NlnN* are not supported if we drop CGAL...
    7474  bool ignore_nearest_is_mirror = (_Rparam < twopi);
  • external/fastjet/CompositeJetStructure.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: CompositeJetStructure.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: CompositeJetStructure.hh 3652 2014-09-03 13:31:13Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    6464
    6565  /// description
    66   virtual std::string description() const FASTJET_OVERRIDE;
     66  virtual std::string description() const;
    6767
    6868  // things reimplemented from the base structure
     
    7070  /// true unless the jet has no pieces (see also the description of
    7171  /// constituents() below)
    72   virtual bool has_constituents() const FASTJET_OVERRIDE;
     72  virtual bool has_constituents() const;
    7373
    7474  /// return the constituents (i.e. the union of the constituents of each piece)
     
    7878  /// Note that as a consequence, a composite jet with no pieces will
    7979  /// have an empty vector as constituents
    80   virtual std::vector<PseudoJet> constituents(const PseudoJet &jet) const FASTJET_OVERRIDE;
     80  virtual std::vector<PseudoJet> constituents(const PseudoJet &jet) const;
    8181
    8282  //-------------------------------------------------------------------
     
    8484  //-------------------------------------------------------------------
    8585  /// true if it has pieces (always the case)
    86   virtual bool has_pieces(const PseudoJet & /*jet*/) const FASTJET_OVERRIDE {return true;}
     86  virtual bool has_pieces(const PseudoJet & /*jet*/) const {return true;}
    8787
    8888  /// returns the pieces
    89   virtual std::vector<PseudoJet> pieces(const PseudoJet &jet) const FASTJET_OVERRIDE;
     89  virtual std::vector<PseudoJet> pieces(const PseudoJet &jet) const;
    9090
    9191  // area-related material
     
    9393
    9494  /// check if it has a well-defined area
    95   virtual bool has_area() const FASTJET_OVERRIDE;
     95  virtual bool has_area() const;
    9696
    9797  /// return the jet (scalar) area.
    98   virtual double area(const PseudoJet &reference) const FASTJET_OVERRIDE;
     98  virtual double area(const PseudoJet &reference) const;
    9999
    100100  /// return the error (uncertainty) associated with the determination
     
    102102  ///
    103103  /// Be conservative: return the sum of the errors
    104   virtual double area_error(const PseudoJet &reference) const FASTJET_OVERRIDE;
     104  virtual double area_error(const PseudoJet &reference) const;
    105105
    106106  /// return the jet 4-vector area.
    107   virtual PseudoJet area_4vector(const PseudoJet &reference) const FASTJET_OVERRIDE;
     107  virtual PseudoJet area_4vector(const PseudoJet &reference) const;
    108108
    109109  /// true if this jet is made exclusively of ghosts.
    110110  ///
    111111  /// In this case, it will be true if all pieces are pure ghost
    112   virtual bool is_pure_ghost(const PseudoJet &reference) const FASTJET_OVERRIDE;
     112  virtual bool is_pure_ghost(const PseudoJet &reference) const;
    113113
    114114  //unused: // allows one to modify the area information
  • external/fastjet/DnnPlane.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: DnnPlane.cc 3917 2015-07-03 14:07:50Z salam $
     2// $Id: DnnPlane.cc 3918 2015-07-03 14:19:13Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
  • external/fastjet/Error.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: Error.hh 3807 2015-02-20 11:16:55Z soyez $
     5// $Id: Error.hh 3809 2015-02-20 13:05:13Z soyez $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    114114};
    115115
     116
    116117FASTJET_END_NAMESPACE
    117118
  • external/fastjet/GhostedAreaSpec.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: GhostedAreaSpec.hh 4074 2016-03-08 09:09:25Z soyez $
     2// $Id: GhostedAreaSpec.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3939#include "fastjet/Selector.hh"
    4040#include "fastjet/LimitedWarning.hh"
    41 #include "fastjet/internal/deprecated.hh"
    4241
    4342//
     
    174173  ///
    175174  /// FJ2 placement is now deprecated.
    176   FASTJET_DEPRECATED_MSG("This is deprecated since we strongly recomment to use the new ghost placement instead")
    177175  void set_fj2_placement(bool  val);
    178176
  • external/fastjet/JetDefinition.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: JetDefinition.cc 4074 2016-03-08 09:09:25Z soyez $
     2// $Id: JetDefinition.cc 3677 2014-09-09 22:45:25Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    4545JetDefinition::JetDefinition(JetAlgorithm jet_algorithm_in,
    4646                             double R_in,
     47                             Strategy strategy_in,
    4748                             RecombinationScheme recomb_scheme_in,
    48                              Strategy strategy_in,
    4949                             int nparameters) :
    5050  _jet_algorithm(jet_algorithm_in), _Rparam(R_in), _strategy(strategy_in) {
     
    185185
    186186  // do not forget to delete the existing recombiner if needed
    187   if (_shared_recombiner) _shared_recombiner.reset();
     187  if (_shared_recombiner()) _shared_recombiner.reset();
    188188
    189189  _recombiner = 0;
  • external/fastjet/JetDefinition.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: JetDefinition.hh 4074 2016-03-08 09:09:25Z soyez $
     5// $Id: JetDefinition.hh 3677 2014-09-09 22:45:25Z soyez $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3535#include "fastjet/internal/numconsts.hh"
    3636#include "fastjet/PseudoJet.hh"
    37 #include "fastjet/internal/deprecated.hh"
    3837#include<string>
    3938#include<memory>
     
    269268                RecombinationScheme recomb_scheme_in = E_scheme,
    270269                Strategy strategy_in = Best) {
    271     *this = JetDefinition(jet_algorithm_in, R_in, recomb_scheme_in, strategy_in, 1);
     270    *this = JetDefinition(jet_algorithm_in, R_in, strategy_in, recomb_scheme_in, 1);
    272271  }
    273272
     
    278277                Strategy strategy_in = Best) {
    279278    double dummyR = 0.0;
    280     *this = JetDefinition(jet_algorithm_in, dummyR, recomb_scheme_in, strategy_in, 0);
     279    *this = JetDefinition(jet_algorithm_in, dummyR, strategy_in, recomb_scheme_in, 0);
    281280  }
    282281
     
    288287                RecombinationScheme recomb_scheme_in = E_scheme,
    289288                Strategy strategy_in = Best) {
    290     *this = JetDefinition(jet_algorithm_in, R_in, recomb_scheme_in, strategy_in, 2);
     289    *this = JetDefinition(jet_algorithm_in, R_in, strategy_in, recomb_scheme_in, 2);
    291290    set_extra_param(xtra_param_in);
    292291  }
     
    345344    _strategy = plugin_strategy;
    346345    _Rparam = _plugin->R();
    347     _extra_param = 0.0; // a dummy value to keep static code checkers happy
    348346    _jet_algorithm = plugin_algorithm;
    349347    set_recombination_scheme(E_scheme);
    350348  }
    351349
     350
    352351  /// constructor to fully specify a jet-definition (together with
    353352  /// information about how algorithically to run it).
    354   JetDefinition(JetAlgorithm jet_algorithm_in,
    355                 double R_in,
    356                 RecombinationScheme recomb_scheme_in,
    357                 Strategy strategy_in,
    358                 int nparameters_in);
    359 
    360   /// constructor to fully specify a jet-definition (together with
    361   /// information about how algorithically to run it).
    362353  ///
    363354  /// the ordering of arguments here is old and deprecated (except
    364355  /// as the common constructor for internal use)
    365   FASTJET_DEPRECATED_MSG("This argument ordering is deprecated. Use JetDefinition(alg, R, strategy, scheme[, n_parameters]) instead")
    366356  JetDefinition(JetAlgorithm jet_algorithm_in,
    367357                double R_in,
    368358                Strategy strategy_in,
    369359                RecombinationScheme recomb_scheme_in = E_scheme,
    370                 int nparameters_in = 1){
    371     (*this) = JetDefinition(jet_algorithm_in,R_in,recomb_scheme_in,strategy_in,nparameters_in);
    372   }
    373 
     360                int nparameters_in = 1);
    374361
    375362  /// cluster the supplied particles and returns a vector of resulting
     
    401388  /// Recombiner *) may lead to memory corruption.
    402389  void set_recombiner(const Recombiner * recomb) {
    403     if (_shared_recombiner) _shared_recombiner.reset(recomb);
     390    if (_shared_recombiner()) _shared_recombiner.reset(recomb);
    404391    _recombiner = recomb;
    405392    _default_recombiner = DefaultRecombiner(external_scheme);
     
    534521      _recomb_scheme(recomb_scheme) {}
    535522   
    536     virtual std::string description() const FASTJET_OVERRIDE;
     523    virtual std::string description() const;
    537524   
    538525    /// recombine pa and pb and put result into pab
    539526    virtual void recombine(const PseudoJet & pa, const PseudoJet & pb,
    540                            PseudoJet & pab) const FASTJET_OVERRIDE;
    541 
    542     virtual void preprocess(PseudoJet & p) const FASTJET_OVERRIDE;
     527                           PseudoJet & pab) const;
     528
     529    virtual void preprocess(PseudoJet & p) const;
    543530
    544531    /// return the index of the recombination scheme
  • external/fastjet/LazyTiling25.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: LazyTiling25.cc 3807 2015-02-20 11:16:55Z soyez $
     2// $Id: LazyTiling25.cc 3808 2015-02-20 11:24:53Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    369369    double dist = _distance_to_tile(jet, *near_tile) - tile_edge_security_margin;
    370370    // cout << "      max info looked at tile " << *near_tile - &_tiles[0]
    371     //     << ", dist = " << dist << " " << (*near_tile)->max_NN_dist
    372     //      << " -> diff = " << dist-(*near_tile)->max_NN_dist << endl;
     371    //   << ", dist = " << dist << " " << (*near_tile)->max_NN_dist
     372    //   << endl;
    373373    if (dist > (*near_tile)->max_NN_dist) continue;
    374374
     
    665665    int n_near_tiles = 0;
    666666
    667     // GS comment:
    668     //
    669     // At this stage, we have perforned the clustering in
    670     // ClusterSequence and we need to update the NNs. The objects we
    671     // deal with are jetA and oldB (the once that have been clustered)
    672     // as well as jetB (the result of the clustering)
    673     //
    674     // There are two types of objects we need to update:
    675     //  - find jetB NN
    676     //  - update the NN of points which had jetA or jetB as their NN
    677     //
    678     // Wile we find jetB's NN, browsing relevant tiles near jetB, we
    679     // also search for points which had jetA or jetB as their
    680     // NN. These are tagged. Then we list the relevant tiles where we
    681     // can potentially have points to update (i.e. points which had
    682     // jetA and oldB as NN) in the yet untagged relevant tiles near
    683     // jetA and oldB.
    684     //
    685     // DEBUG:
    686     // if (jetB != NULL) {
    687     //   cout << "jetA = " << jetA->_jets_index << " (tile " << jetA->tile_index << "), "
    688     //        << "oldB = " << oldB._jets_index  << " (tile " << oldB. tile_index << "), "
    689     //        << "jetB = " << jetB->_jets_index << " (tile " << jetB->tile_index << ")" << endl;
    690     // } else {
    691     //   cout << "jetA = " << jetA->_jets_index << " (tile " << jetA->tile_index << ")" << endl;
    692     // }
    693    
    694667    // Initialise jetB's NN distance as well as updating it for other
    695668    // particles. While doing so, examine whether jetA or old jetB was
     
    706679        bool relevant_for_near_tile = dist_to_tile <= (*near_tile)->max_NN_dist;
    707680        bool relevant = relevant_for_jetB || relevant_for_near_tile;
    708 
    709         // cout << "  Relevance of tile " << *near_tile - & _tiles[0]
    710         //      << " wrt jetB is " << relevant << endl;
    711 
    712681        if (! relevant) continue;
    713682        // now label this tile as having been considered (so that we
     
    733702    // and one new jet.
    734703    int n_done_tiles = n_near_tiles;
    735     //cout << "Looking at relevant tiles to update for jetA" << endl;
    736704    _add_untagged_neighbours_to_tile_union_using_max_info(jetA,
    737705                                           tile_union, n_near_tiles);
    738706    if (jetB != NULL) {
    739       // cout << "Looking at relevant tiles to update for oldB" << endl;
    740707        _add_untagged_neighbours_to_tile_union_using_max_info(&oldB,
    741708                                                              tile_union,n_near_tiles);
  • external/fastjet/LazyTiling9.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: LazyTiling9.cc 3807 2015-02-20 11:16:55Z soyez $
     2// $Id: LazyTiling9.cc 3808 2015-02-20 11:24:53Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
  • external/fastjet/LazyTiling9Alt.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: LazyTiling9Alt.cc 3807 2015-02-20 11:16:55Z soyez $
     2// $Id: LazyTiling9Alt.cc 3808 2015-02-20 11:24:53Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
  • external/fastjet/LazyTiling9SeparateGhosts.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: LazyTiling9SeparateGhosts.cc 3807 2015-02-20 11:16:55Z soyez $
     2// $Id: LazyTiling9SeparateGhosts.cc 3808 2015-02-20 11:24:53Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
  • external/fastjet/NNH.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: NNH.hh 4034 2016-03-02 00:20:27Z soyez $
     5// $Id: NNH.hh 3433 2014-07-23 08:17:03Z salam $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3232//FJENDHEADER
    3333
    34 #include <fastjet/NNBase.hh>
     34#include<fastjet/ClusterSequence.hh>
     35
    3536
    3637FASTJET_BEGIN_NAMESPACE      // defined in fastjet/internal/base.hh
     38
     39/// @ingroup advanced_usage
     40/// \class _NoInfo
     41/// dummy class, used as a default template argument
     42class _NoInfo {};
     43
     44/// @ingroup advanced_usage
     45/// \class NNHInfo
     46/// template that will help initialise a BJ with a PseudoJet and extra information
     47template<class I> class NNHInfo {
     48public:
     49  NNHInfo()         : _info(NULL) {}
     50  NNHInfo(I * info) : _info(info) {}
     51  template<class NNBJ> void init_jet(NNBJ * briefjet, const fastjet::PseudoJet & jet, int index) { briefjet->init(jet, index, _info);}
     52private:
     53  I * _info;
     54};
     55
     56/// @ingroup advanced_usage
     57/// Specialisation of NNHInfo for cases where there is no extra info
     58template<> class NNHInfo<_NoInfo>  {
     59public:
     60  NNHInfo()           {}
     61  NNHInfo(_NoInfo * ) {}
     62  template<class NNBJ> void init_jet(NNBJ * briefjet, const fastjet::PseudoJet & jet, int index) { briefjet->init(jet, index);}
     63};
     64
    3765
    3866//----------------------------------------------------------------------
     
    4068/// \class NNH
    4169/// Help solve closest pair problems with generic interparticle and
    42 /// beam distance (generic case)
    43 ///
    44 /// (see NNBase.hh for an introductory description)
    45 ///
    46 /// This variant provides an implementation for any distance measure.
    47 /// It is templated with a BJ (brief jet) classand can be used with or
    48 /// without an extra "Information" template, i.e. NNH<BJ> or NNH<BJ,I>
     70/// beam distance.
     71///
     72/// Class to help solve closest pair problems with generic interparticle
     73/// distances and a beam distance, using Anderberg's Nearest Neighbour
     74/// Heuristic.
     75///
     76/// It is templated with a BJ (brief jet) class --- BJ should
     77/// basically cache the minimal amount of information that is needed
     78/// to efficiently calculate interparticle distances and particle-beam
     79/// distances.
     80///
     81/// This class can be used with or without an extra "Information" template,
     82/// i.e. NNB<BJ> or NNH<BJ,I>
    4983///
    5084/// For the NNH<BJ> version of the class to function, BJ must provide
     
    5488///  - double BJ::distance(const BJ * other_bj_jet); // distance between this and other_bj_jet
    5589///  - double BJ::beam_distance()                  ; // distance to the beam
    56 /// 
     90///
    5791/// For the NNH<BJ,I> version to function, the BJ::init(...) member
    5892/// must accept an extra argument
     
    6094///  - void   BJ::init(const PseudoJet & jet, I * info);   // initialise with a PseudoJet + info
    6195///
    62 /// NOTE: THE DISTANCE MUST BE SYMMETRIC I.E. SATISFY
    63 ///     a.distance(b) == b.distance(a)
     96/// where info might be a pointer to a class that contains, e.g., information
     97/// about R, or other parameters of the jet algorithm
    6498///
    6599/// For an example of how the NNH<BJ> class is used, see the Jade (and
     
    73107/// implementations.
    74108///
    75 template<class BJ, class I = _NoInfo> class NNH : public NNBase<I> {
     109///
     110/// Implementation note: this class derives from NNHInfo, which deals
     111/// with storing any global information that is needed during the clustering
     112
     113template<class BJ, class I = _NoInfo> class NNH : public NNHInfo<I> {
    76114public:
    77115
    78116  /// constructor with an initial set of jets (which will be assigned indices
    79117  /// 0 ... jets.size()-1
    80   NNH(const std::vector<PseudoJet> & jets)           : NNBase<I>()     {start(jets);}
    81   NNH(const std::vector<PseudoJet> & jets, I * info) : NNBase<I>(info) {start(jets);}
    82 
    83   // initialisation from a given list of particles
     118  NNH(const std::vector<PseudoJet> & jets) {start(jets);}
     119  NNH(const std::vector<PseudoJet> & jets, I * info) : NNHInfo<I>(info) {start(jets);}
     120 
    84121  void start(const std::vector<PseudoJet> & jets);
    85122
  • external/fastjet/PseudoJet.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: PseudoJet.cc 4100 2016-03-15 20:50:22Z salam $
     2// $Id: PseudoJet.cc 3652 2014-09-03 13:31:13Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    409409string PseudoJet::description() const{
    410410  // the "default" case of a PJ which does not belong to any cluster sequence
    411   if (!_structure)
     411  if (!_structure())
    412412    return "standard PseudoJet (with no associated clustering information)";
    413413 
    414414  // for all the other cases, the description comes from the structure
    415   return _structure->description();
     415  return _structure()->description();
    416416}
    417417
     
    429429// ClusterSequence
    430430bool PseudoJet::has_associated_cluster_sequence() const{
    431   return (_structure) && (_structure->has_associated_cluster_sequence());
     431  return (_structure()) && (_structure->has_associated_cluster_sequence());
    432432}
    433433
     
    446446// ClusterSequence that is still valid
    447447bool PseudoJet::has_valid_cluster_sequence() const{
    448   return (_structure) && (_structure->has_valid_cluster_sequence());
     448  return (_structure()) && (_structure->has_valid_cluster_sequence());
    449449}
    450450
     
    467467
    468468//----------------------------------------------------------------------
    469 // return true if there is some structure associated with this PseudoJet
     469// return true if there is some strusture associated with this PseudoJet
    470470bool PseudoJet::has_structure() const{
    471   return bool(_structure);
     471  return _structure();
    472472}
    473473
     
    478478// return NULL if there is no associated structure
    479479const PseudoJetStructureBase* PseudoJet::structure_ptr() const {
    480   //if (!_structure) return NULL;
    481   return _structure.get();
     480  if (!_structure()) return NULL;
     481  return _structure();
    482482}
    483483 
     
    493493// underlying structure.
    494494PseudoJetStructureBase* PseudoJet::structure_non_const_ptr(){
    495   //if (!_structure) return NULL;
    496   return _structure.get();
     495  if (!_structure()) return NULL;
     496  return _structure();
    497497}
    498498 
     
    503503// throw an error if there is no associated structure
    504504const PseudoJetStructureBase* PseudoJet::validated_structure_ptr() const {
    505   if (!_structure)
     505  if (!_structure())
    506506    throw Error("Trying to access the structure of a PseudoJet which has no associated structure");
    507   return _structure.get();
     507  return _structure();
    508508}
    509509 
     
    573573// returns true if the PseudoJet has constituents
    574574bool PseudoJet::has_constituents() const{
    575   return (_structure) && (_structure->has_constituents());
     575  return (_structure()) && (_structure->has_constituents());
    576576}
    577577
     
    586586// returns true if the PseudoJet has support for exclusive subjets
    587587bool PseudoJet::has_exclusive_subjets() const{
    588   return (_structure) && (_structure->has_exclusive_subjets());
     588  return (_structure()) && (_structure->has_exclusive_subjets());
    589589}
    590590
     
    670670// ClusterSequence have no pieces and this methos will return false.
    671671bool PseudoJet::has_pieces() const{
    672   return ((_structure) && (_structure->has_pieces(*this)));
     672  return ((_structure()) && (_structure->has_pieces(*this)));
    673673}
    674674
     
    766766
    767767
     768
     769//----------------------------------------------------------------------
     770/// given a vector of values with a one-to-one correspondence with the
     771/// vector of objects, sort objects into an order such that the
     772/// associated values would be in increasing order
     773template<class T> vector<T>  objects_sorted_by_values(
     774                       const vector<T> & objects,
     775                       const vector<double> & values) {
     776
     777  assert(objects.size() == values.size());
     778
     779  // get a vector of indices
     780  vector<int> indices(values.size());
     781  for (size_t i = 0; i < indices.size(); i++) {indices[i] = i;}
     782 
     783  // sort the indices
     784  sort_indices(indices, values);
     785 
     786  // copy the objects
     787  vector<T> objects_sorted(objects.size());
     788 
     789  // place the objects in the correct order
     790  for (size_t i = 0; i < indices.size(); i++) {
     791    objects_sorted[i] = objects[indices[i]];
     792  }
     793
     794  return objects_sorted;
     795}
     796
    768797//----------------------------------------------------------------------
    769798/// return a vector of jets sorted into decreasing kt2
  • external/fastjet/PseudoJet.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: PseudoJet.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: PseudoJet.hh 3566 2014-08-11 15:36:34Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    437437  /// retrieve a pointer to the (const) user information
    438438  const UserInfoBase * user_info_ptr() const{
    439     // the line below is not needed since the next line would anyway
    440     // return NULL in that case
    441     //if (!_user_info) return NULL;
     439    if (!_user_info()) return NULL;
    442440    return _user_info.get();
    443441  }
     
    843841inline bool operator!=( const double val, const PseudoJet & a) {return !(a==val);}
    844842
    845 /// returns the 4-vector dot product of a and b
    846843inline double dot_product(const PseudoJet & a, const PseudoJet & b) {
    847844  return a.E()*b.E() - a.px()*b.px() - a.py()*b.py() - a.pz()*b.pz();
     
    883880/// touch the values vector in the process).
    884881template<class T> std::vector<T> objects_sorted_by_values(const std::vector<T> & objects,
    885                                               const std::vector<double> & values) {
    886   //assert(objects.size() == values.size());
    887   if (objects.size() != values.size()){
    888     throw Error("fastjet::objects_sorted_by_values(...): the size of the 'objects' vector must match the size of the 'values' vector");
    889   }
    890  
    891   // get a vector of indices
    892   std::vector<int> indices(values.size());
    893   for (size_t i = 0; i < indices.size(); i++) {indices[i] = i;}
    894  
    895   // sort the indices
    896   sort_indices(indices, values);
    897  
    898   // copy the objects
    899   std::vector<T> objects_sorted(objects.size());
    900  
    901   // place the objects in the correct order
    902   for (size_t i = 0; i < indices.size(); i++) {
    903     objects_sorted[i] = objects[indices[i]];
    904   }
    905 
    906   return objects_sorted;
    907 }
     882                                              const std::vector<double> & values);
    908883
    909884/// \if internal_doc
     
    995970template<typename TransformerType>
    996971bool PseudoJet::has_structure_of() const{
    997   if (!_structure) return false;
     972  if (!_structure()) return false;
    998973
    999974  return dynamic_cast<const typename TransformerType::StructureType *>(_structure.get()) != 0;
     
    1005980template<typename TransformerType>
    1006981const typename TransformerType::StructureType & PseudoJet::structure_of() const{
    1007   if (!_structure)
     982  if (!_structure())
    1008983    throw Error("Trying to access the structure of a PseudoJet without an associated structure");
    1009984
  • external/fastjet/RangeDefinition.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: RangeDefinition.hh 4074 2016-03-08 09:09:25Z soyez $
     2// $Id: RangeDefinition.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3535#include "fastjet/Error.hh"
    3636#include "fastjet/LimitedWarning.hh"
    37 #include "fastjet/internal/deprecated.hh"
    3837#include<sstream>
    3938#include<iostream>
     
    5251public:
    5352  /// default constructor
    54   FASTJET_DEPRECATED_MSG("RangeDefinition is deprecated since FastJet 3.0. Use the Selector mechanism instead")
    5553  RangeDefinition() { _warn_deprecated(); }
    5654
    5755  /// constructor for a range definition given by |y|<rapmax
    58   FASTJET_DEPRECATED_MSG("RangeDefinition is deprecated since FastJet 3.0. Use the Selector mechanism instead")
    5956  RangeDefinition(double rapmax) {  _warn_deprecated();
    6057                     assert ( rapmax > 0.0 );
  • external/fastjet/RectangularGrid.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: RectangularGrid.cc 3773 2014-12-22 22:44:46Z soyez $
     2// $Id: RectangularGrid.cc 3771 2014-12-22 21:13:22Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
  • external/fastjet/RectangularGrid.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: RectangularGrid.hh 4047 2016-03-03 13:21:49Z soyez $
     5// $Id: RectangularGrid.hh 3771 2014-12-22 21:13:22Z salam $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    118118  RectangularGrid();
    119119
    120   virtual int n_tiles() const FASTJET_OVERRIDE {return _ntotal;}
     120  virtual int n_tiles() const {return _ntotal;}
    121121
    122   virtual int n_good_tiles() const FASTJET_OVERRIDE {return _ngood;}
     122  virtual int n_good_tiles() const {return _ngood;}
    123123
    124124  // this was being kept inline, but it seems to make little
    125125  // difference whether it is or not (at least on Gavin's mac)
    126   virtual int tile_index(const PseudoJet & p) const FASTJET_OVERRIDE;
     126  virtual int tile_index(const PseudoJet & p) const;
    127127
    128128  /// returns whether a given tile is good
    129129  // tested in "issue" 2014-08-08-testing-rect-grid
    130   virtual bool tile_is_good(int itile) const FASTJET_OVERRIDE {
    131     return _tile_selector.worker() ? _is_good[itile] : true;
    132   }
     130  virtual bool tile_is_good(int itile) const {return _tile_selector.worker() ? _is_good[itile] : true;}
    133131
    134132  /// returns the area of tile itile.
    135   virtual double tile_area(int /* itile */) const FASTJET_OVERRIDE {
    136     return mean_tile_area();
    137   }
     133  virtual double tile_area(int /* itile */) const {return mean_tile_area();}
    138134
    139135  /// returns the mean area of tiles.
    140   virtual double mean_tile_area() const FASTJET_OVERRIDE {return _dphi*_dy;};
     136  virtual double mean_tile_area() const {return _dphi*_dy;};
    141137
    142138  /// returns a textual description of the grid
    143   virtual std::string description() const FASTJET_OVERRIDE;
     139  virtual std::string description() const;
    144140 
    145141  /// returns the minimum rapidity extent of the grid
     
    153149
    154150  /// returns true if the grid is in a suitably initialised state
    155   virtual bool is_initialised() const FASTJET_OVERRIDE {return _ntotal > 0;}
     151  virtual bool is_initialised() const {return _ntotal > 0;}
    156152
    157153private:
  • external/fastjet/SharedPtr.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: SharedPtr.hh 4051 2016-03-03 14:33:38Z soyez $
     5// $Id: SharedPtr.hh 3433 2014-07-23 08:17:03Z salam $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3838// for our SharedPtr simply to be derived from the STL TR1 one.
    3939// #define __FASTJET_USETR1SHAREDPTR
    40 
    41 #include "fastjet/internal/deprecated.hh"
    4240
    4341#ifdef __FASTJET_USETR1SHAREDPTR
     
    7472  SharedPtr(const SharedPtr<T> & t) : std::tr1::shared_ptr<T>(t) {}
    7573  // for some reason operator() doesn't get inherited
    76   #ifdef FASTJET_HAVE_EXPLICIT_FOR_OPERATORS
    77   explicit
    78   #endif
    7974  inline operator bool() const {return (this->get()!=NULL);}
    8075  /// return the pointer we're pointing to 
     
    216211  }
    217212 
    218   /// return the pointer we're pointing to
    219   ///
    220   /// Since FastJet 3.2.0, this is depracated since it is no longer
    221   /// part of std::shared_ptr<T>. Use SharedPtr<T>::get() instead
    222   FASTJET_DEPRECATED_MSG("Use SharedPtr<T>::get() instead")
     213  /// return the pointer we're pointing to 
    223214  T* operator ()() const{
    224215    if (_ptr==NULL) return NULL;
     
    266257  /// conversion to bool
    267258  /// This will allow you to use the indirection nicely
    268   #ifdef FASTJET_HAVE_EXPLICIT_FOR_OPERATORS
    269   explicit
    270   #endif
    271259  inline operator bool() const{
    272260    return (get()!=NULL);
  • external/fastjet/TilingExtent.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: TilingExtent.cc 4034 2016-03-02 00:20:27Z soyez $
     2// $Id: TilingExtent.cc 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    4141  _determine_rapidity_extent(cs.jets());
    4242}
    43 
    44 TilingExtent::TilingExtent(const vector<PseudoJet> &particles) {
    45   _determine_rapidity_extent(particles);
    46 }
    47 
     43 
    4844void TilingExtent::_determine_rapidity_extent(const vector<PseudoJet> & particles) {
    4945  // have a binning of rapidity that goes from -nrap to nrap
  • external/fastjet/VERSION

    rb9ae4c3 rec5e04b  
    1 3.2.1
     13.1.3
  • external/fastjet/WrappedStructure.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: WrappedStructure.hh 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: WrappedStructure.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    5757  WrappedStructure(const SharedPtr<PseudoJetStructureBase> & to_be_shared)
    5858    : _structure(to_be_shared){
    59     if (!_structure)
     59    if (!_structure())
    6060      throw Error("Trying to construct a wrapped structure around an empty (NULL) structure");
    6161  }
     
    6565
    6666  /// description
    67   virtual std::string description() const FASTJET_OVERRIDE{
     67  virtual std::string description() const{
    6868    return "PseudoJet wrapping the structure ("+_structure->description()+")";
    6969  }
     
    7676  //-------------------------------------------------------------
    7777  /// returns true if there is an associated ClusterSequence
    78   virtual bool has_associated_cluster_sequence() const FASTJET_OVERRIDE {
     78  virtual bool has_associated_cluster_sequence() const {
    7979    return _structure->has_associated_cluster_sequence();
    8080  }
     
    8282  /// get a (const) pointer to the parent ClusterSequence (NULL if
    8383  /// inexistent)
    84   virtual const ClusterSequence* associated_cluster_sequence() const FASTJET_OVERRIDE{
     84  virtual const ClusterSequence* associated_cluster_sequence() const{
    8585    return _structure->associated_cluster_sequence();
    8686  }
     
    8888  /// returns true if this PseudoJet has an associated and still
    8989  /// valid ClusterSequence.
    90   virtual bool has_valid_cluster_sequence() const FASTJET_OVERRIDE {
     90  virtual bool has_valid_cluster_sequence() const {
    9191    return _structure->has_valid_cluster_sequence();
    9292  }
     
    9494  /// if the jet has a valid associated cluster sequence then return a
    9595  /// pointer to it; otherwise throw an error
    96   virtual const ClusterSequence * validated_cs() const FASTJET_OVERRIDE{
     96  virtual const ClusterSequence * validated_cs() const{
    9797    return _structure->validated_cs();
    9898  }
     
    100100  /// if the jet has valid area information then return a pointer to
    101101  /// the associated ClusterSequenceAreaBase object; otherwise throw an error
    102   virtual const ClusterSequenceAreaBase * validated_csab() const FASTJET_OVERRIDE{
     102  virtual const ClusterSequenceAreaBase * validated_csab() const{
    103103    return _structure->validated_csab();
    104104  }
     
    120120  ///
    121121  /// By default, throws an Error
    122   virtual bool has_partner(const PseudoJet &reference, PseudoJet &partner) const FASTJET_OVERRIDE{
     122  virtual bool has_partner(const PseudoJet &reference, PseudoJet &partner) const{
    123123    return _structure->has_partner(reference, partner);
    124124  }
     
    129129  ///
    130130  /// By default, throws an Error
    131   virtual bool has_child(const PseudoJet &reference, PseudoJet &child) const FASTJET_OVERRIDE{
     131  virtual bool has_child(const PseudoJet &reference, PseudoJet &child) const{
    132132    return _structure->has_child(reference, child);
    133133  }
     
    138138  ///
    139139  /// By default, throws an Error
    140   virtual bool has_parents(const PseudoJet &reference,
    141                            PseudoJet &parent1, PseudoJet &parent2) const FASTJET_OVERRIDE{
     140  virtual bool has_parents(const PseudoJet &reference, PseudoJet &parent1, PseudoJet &parent2) const{
    142141    return _structure->has_parents(reference, parent1, parent2);
    143142  }
     
    147146  ///
    148147  /// By default, throws an Error
    149   virtual bool object_in_jet(const PseudoJet &reference,
    150                              const PseudoJet &jet) const FASTJET_OVERRIDE{
     148  virtual bool object_in_jet(const PseudoJet &reference, const PseudoJet &jet) const{
    151149    return _structure->object_in_jet(reference, jet);
    152150  }
     
    156154  ///
    157155  /// false by default
    158   virtual bool has_constituents() const  FASTJET_OVERRIDE{
     156  virtual bool has_constituents() const {
    159157    return _structure->has_constituents();
    160158  }
     
    163161  ///
    164162  /// By default, throws an Error
    165   virtual std::vector<PseudoJet> constituents(const PseudoJet &reference) const FASTJET_OVERRIDE{
     163  virtual std::vector<PseudoJet> constituents(const PseudoJet &reference) const{
    166164    return _structure->constituents(reference);
    167165  }
    168166
    169167  /// return true if the structure supports exclusive_subjets.
    170   virtual bool has_exclusive_subjets() const  FASTJET_OVERRIDE{
     168  virtual bool has_exclusive_subjets() const {
    171169    return _structure->has_exclusive_subjets();
    172170  }
     
    182180  ///
    183181  /// By default, throws an Error
    184   virtual std::vector<PseudoJet> exclusive_subjets(const PseudoJet &reference,
    185                                                    const double & dcut) const FASTJET_OVERRIDE{
     182  virtual std::vector<PseudoJet> exclusive_subjets(const PseudoJet &reference, const double & dcut) const{
    186183    return _structure->exclusive_subjets(reference, dcut);
    187184  }
     
    192189  ///
    193190  /// By default, throws an Error
    194   virtual int n_exclusive_subjets(const PseudoJet &reference,
    195                                   const double & dcut) const FASTJET_OVERRIDE{
     191  virtual int n_exclusive_subjets(const PseudoJet &reference, const double & dcut) const{
    196192    return _structure->n_exclusive_subjets(reference, dcut);
    197193  }
     
    202198  ///
    203199  /// By default, throws an Error
    204   virtual std::vector<PseudoJet> exclusive_subjets_up_to (const PseudoJet &reference,
    205                                                           int nsub) const FASTJET_OVERRIDE{
     200  virtual std::vector<PseudoJet> exclusive_subjets_up_to (const PseudoJet &reference, int nsub) const{
    206201    return _structure->exclusive_subjets_up_to (reference, nsub);
    207202  }
     
    211206  ///
    212207  /// By default, throws an Error
    213   virtual double exclusive_subdmerge(const PseudoJet &reference, int nsub) const FASTJET_OVERRIDE{
     208  virtual double exclusive_subdmerge(const PseudoJet &reference, int nsub) const{
    214209    return _structure->exclusive_subdmerge(reference, nsub);
    215210  }
     
    220215  ///
    221216  /// By default, throws an Error
    222   virtual double exclusive_subdmerge_max(const PseudoJet &reference, int nsub) const FASTJET_OVERRIDE{
     217  virtual double exclusive_subdmerge_max(const PseudoJet &reference, int nsub) const{
    223218    return _structure->exclusive_subdmerge_max(reference, nsub);
    224219  }
     
    231226  ///
    232227  /// false by default
    233   virtual bool has_pieces(const PseudoJet &reference) const FASTJET_OVERRIDE {
     228  virtual bool has_pieces(const PseudoJet &reference) const {
    234229    return _structure->has_pieces(reference);
    235230  }
     
    238233  ///
    239234  /// By default, throws an Error
    240   virtual std::vector<PseudoJet> pieces(const PseudoJet &reference) const FASTJET_OVERRIDE {
     235  virtual std::vector<PseudoJet> pieces(const PseudoJet &reference) const{
    241236    return _structure->pieces(reference);
    242237  }
     
    249244  ///
    250245  /// false by default
    251   virtual bool has_area() const FASTJET_OVERRIDE  {
     246  virtual bool has_area() const {
    252247    return _structure->has_area();
    253248  }
     
    256251  ///
    257252  /// By default, throws an Error
    258   virtual double area(const PseudoJet &reference) const FASTJET_OVERRIDE{
     253  virtual double area(const PseudoJet &reference) const{
    259254    return _structure->area(reference);
    260255  }
     
    264259  ///
    265260  /// By default, throws an Error
    266   virtual double area_error(const PseudoJet &reference) const FASTJET_OVERRIDE{
     261  virtual double area_error(const PseudoJet &reference) const{
    267262    return _structure->area_error(reference);
    268263  }
     
    271266  ///
    272267  /// By default, throws an Error
    273   virtual PseudoJet area_4vector(const PseudoJet &reference) const FASTJET_OVERRIDE{
     268  virtual PseudoJet area_4vector(const PseudoJet &reference) const{
    274269    return _structure->area_4vector(reference);
    275270  }
     
    278273  ///
    279274  /// By default, throws an Error
    280   virtual bool is_pure_ghost(const PseudoJet &reference) const FASTJET_OVERRIDE{
     275  virtual bool is_pure_ghost(const PseudoJet &reference) const{
    281276    return _structure->is_pure_ghost(reference);
    282277  }
  • external/fastjet/config_auto.h

    rb9ae4c3 rec5e04b  
    6464#endif
    6565
    66 /* compile the deprecated parts of the interface using auto-ptr */
    67 #ifndef FASTJET_HAVE_AUTO_PTR_INTERFACE
    68 #define FASTJET_HAVE_AUTO_PTR_INTERFACE  /**/
    69 #endif
    70 
    71 /* compiler supports c++14 deprecated keyword */
    72 /* #undef HAVE_CXX14_DEPRECATED */
     66/* defined if C++11 features have been enabled */
     67/* #undef HAVE_CXX11_FEATURES */
    7368
    7469/* defined if demangling is enabled at configure time and is supported through
     
    8681#endif
    8782
    88 /* compiler supports the "explicit" keyword for operators */
    89 /* #undef HAVE_EXPLICIT_FOR_OPERATORS */
    90 
    91 /* compiler supports GNU c++ deprecated attribute */
    92 #ifndef FASTJET_HAVE_GNUCXX_DEPRECATED
    93 #define FASTJET_HAVE_GNUCXX_DEPRECATED  /**/
    94 #endif
    95 
    9683/* Define to 1 if you have the <inttypes.h> header file. */
    9784#ifndef FASTJET_HAVE_INTTYPES_H
     
    10996#endif
    11097
    111 /* compiler supports the "override" keyword */
    112 /* #undef HAVE_OVERRIDE */
    113 
    11498/* Define to 1 if you have the <stdint.h> header file. */
    11599#ifndef FASTJET_HAVE_STDINT_H
     
    147131#endif
    148132
    149 /* Define to the sub-directory where libtool stores uninstalled libraries. */
     133/* Define to the sub-directory in which libtool stores uninstalled libraries.
     134   */
    150135#ifndef FASTJET_LT_OBJDIR
    151136#define FASTJET_LT_OBJDIR  ".libs/"
     
    169154/* Define to the full name and version of this package. */
    170155#ifndef FASTJET_PACKAGE_STRING
    171 #define FASTJET_PACKAGE_STRING  "FastJet 3.2.1"
     156#define FASTJET_PACKAGE_STRING  "FastJet 3.1.3"
    172157#endif
    173158
     
    177162#endif
    178163
    179 /* Define to the home page for this package. */
    180 #ifndef FASTJET_PACKAGE_URL
    181 #define FASTJET_PACKAGE_URL  ""
    182 #endif
    183 
    184164/* Define to the version of this package. */
    185165#ifndef FASTJET_PACKAGE_VERSION
    186 #define FASTJET_PACKAGE_VERSION  "3.2.1"
     166#define FASTJET_PACKAGE_VERSION  "3.1.3"
    187167#endif
    188168
     
    194174/* Version number of package */
    195175#ifndef FASTJET_VERSION
    196 #define FASTJET_VERSION  "3.2.1"
     176#define FASTJET_VERSION  "3.1.3"
    197177#endif
    198178
     
    204184/* Minor version of this package */
    205185#ifndef FASTJET_VERSION_MINOR
    206 #define FASTJET_VERSION_MINOR  2
     186#define FASTJET_VERSION_MINOR  1
    207187#endif
    208188
    209189/* Version of the package under the form XYYZZ (instead of X.Y.Z) */
    210190#ifndef FASTJET_VERSION_NUMBER
    211 #define FASTJET_VERSION_NUMBER  30201
     191#define FASTJET_VERSION_NUMBER  30103
    212192#endif
    213193
    214194/* Patch version of this package */
    215195#ifndef FASTJET_VERSION_PATCHLEVEL
    216 #define FASTJET_VERSION_PATCHLEVEL  1
     196#define FASTJET_VERSION_PATCHLEVEL  3
    217197#endif
    218198
  • external/fastjet/config_raw.h

    rb9ae4c3 rec5e04b  
    3838#define ENABLE_PLUGIN_TRACKJET /**/
    3939
    40 /* compile the deprecated parts of the interface using auto-ptr */
    41 #define HAVE_AUTO_PTR_INTERFACE /**/
    42 
    43 /* compiler supports c++14 deprecated keyword */
    44 /* #undef HAVE_CXX14_DEPRECATED */
     40/* defined if C++11 features have been enabled */
     41/* #undef HAVE_CXX11_FEATURES */
    4542
    4643/* defined if demangling is enabled at configure time and is supported through
     
    5451#define HAVE_EXECINFO_H 1
    5552
    56 /* compiler supports the "explicit" keyword for operators */
    57 /* #undef HAVE_EXPLICIT_FOR_OPERATORS */
    58 
    59 /* compiler supports GNU c++ deprecated attribute */
    60 #define HAVE_GNUCXX_DEPRECATED /**/
    61 
    6253/* Define to 1 if you have the <inttypes.h> header file. */
    6354#define HAVE_INTTYPES_H 1
     
    6859/* Define to 1 if you have the <memory.h> header file. */
    6960#define HAVE_MEMORY_H 1
    70 
    71 /* compiler supports the "override" keyword */
    72 /* #undef HAVE_OVERRIDE */
    7361
    7462/* Define to 1 if you have the <stdint.h> header file. */
     
    9381#define HAVE_UNISTD_H 1
    9482
    95 /* Define to the sub-directory where libtool stores uninstalled libraries. */
     83/* Define to the sub-directory in which libtool stores uninstalled libraries.
     84   */
    9685#define LT_OBJDIR ".libs/"
    9786
     
    10695
    10796/* Define to the full name and version of this package. */
    108 #define PACKAGE_STRING "FastJet 3.2.1"
     97#define PACKAGE_STRING "FastJet 3.1.3"
    10998
    11099/* Define to the one symbol short name of this package. */
    111100#define PACKAGE_TARNAME "fastjet"
    112101
    113 /* Define to the home page for this package. */
    114 #define PACKAGE_URL ""
    115 
    116102/* Define to the version of this package. */
    117 #define PACKAGE_VERSION "3.2.1"
     103#define PACKAGE_VERSION "3.1.3"
    118104
    119105/* Define to 1 if you have the ANSI C header files. */
     
    121107
    122108/* Version number of package */
    123 #define VERSION "3.2.1"
     109#define VERSION "3.1.3"
    124110
    125111/* Major version of this package */
     
    127113
    128114/* Minor version of this package */
    129 #define VERSION_MINOR 2
     115#define VERSION_MINOR 1
    130116
    131117/* Version of the package under the form XYYZZ (instead of X.Y.Z) */
    132 #define VERSION_NUMBER 30201
     118#define VERSION_NUMBER 30103
    133119
    134120/* Patch version of this package */
    135 #define VERSION_PATCHLEVEL 1
     121#define VERSION_PATCHLEVEL 3
    136122
    137123/* Pre-release version of this package */
  • external/fastjet/config_win.h

    rb9ae4c3 rec5e04b  
    1 #define FASTJET_PACKAGE_STRING  "FastJet 3.2.1"
    2 #define FASTJET_PACKAGE_VERSION  "3.2.1"
    3 #define FASTJET_VERSION  "3.2.1"
    4 #define FASTJET_VERSION_MAJOR       3
    5 #define FASTJET_VERSION_MINOR       2
    6 #define FASTJET_VERSION_PATCHLEVEL  1
    7 #define FASTJET_VERSION_NUMBER      30201
     1#define FASTJET_PACKAGE_STRING  "FastJet 3.1.3"
     2#define FASTJET_PACKAGE_VERSION  "3.1.3"
     3#define FASTJET_VERSION  "3.1.3"
     4#define FASTJET_VERSION_MAJOR       3.1.3
     5#define FASTJET_VERSION_MINOR       3.1.3
     6#define FASTJET_VERSION_PATCHLEVEL  3.1.3
     7#define FASTJET_VERSION_PRERELEASE  "3.1.3"
     8#define FASTJET_VERSION_NUMBER      00000
    89
    910/* The ATLASCone plugin is disabled by default*/
  • external/fastjet/contribs/Nsubjettiness/ChangeLog

    rb9ae4c3 rec5e04b  
    1 2016-06-08 <jthaler>
    2    Fixed bug in MeasureDefinition.cc where axes were not completely defined,
    3       leading to problems with multi-pass axes
    4 2016-04-04 <jthaler>
    5    Fixed Njettiness.cc to give value of _current_tau_components even if less
    6       than N constituents
    7    Delete extraneous code in example_advanced_usage.cc
    8 2016-03-29 <jthaler>
    9    Update for FJ 3.2.0 to deal with SharedPtr () deprecation
    1012015-09-28 <jthaler>
    112   Updated NEWS for 2.2.1 release.
  • external/fastjet/contribs/Nsubjettiness/MeasureDefinition.cc

    rb9ae4c3 rec5e04b  
    55//  Jesse Thaler, Ken Van Tilburg, Christopher K. Vermilion, and TJ Wilkason
    66//
    7 //  $Id: MeasureDefinition.cc 946 2016-06-14 19:11:27Z jthaler $
     7//  $Id: MeasureDefinition.cc 819 2015-06-12 21:23:24Z jthaler $
    88//----------------------------------------------------------------------
    99// This file is part of FastJet contrib.
     
    524524      old_axes[k].set_rap( seedAxes[k].rap() );
    525525      old_axes[k].set_phi( seedAxes[k].phi() );
    526       old_axes[k].set_mom( seedAxes[k].modp()  );
    527526   }
    528527   
  • external/fastjet/contribs/Nsubjettiness/NEWS

    rb9ae4c3 rec5e04b  
    3232    N-jettiness as a jet finder using the new ConicalGeometric measure.
    3333
    34 -- 2.2.4:  (Jun 14, 2016) Fixed bug where multi-pass minimization could yield
    35            pathological axes (thanks Gregory Soyez)
    36 -- 2.2.3:  (Apr 4, 2016) Fixed bug where a jet with fewer than N constituents
    37            could give random value for tau_N (thanks Nathan Hartland)
    38 -- 2.2.2:  (Mar 29, 2016)  Updating SharedPtr interface for FJ 3.2
    3934-- 2.2.1:  (Sept 28, 2015)  Fix of small Makefile bug
    4035-- 2.2.0:  (Sept 7, 2015)  Inclusion of the XCone jet algorithm, as well as a
  • external/fastjet/contribs/Nsubjettiness/Njettiness.cc

    rb9ae4c3 rec5e04b  
    55//  Jesse Thaler, Ken Van Tilburg, Christopher K. Vermilion, and TJ Wilkason
    66//
    7 //  $Id: Njettiness.cc 933 2016-04-04 22:23:32Z jthaler $
     7//  $Id: Njettiness.cc 821 2015-06-15 18:50:53Z jthaler $
    88//----------------------------------------------------------------------
    99// This file is part of FastJet contrib.
     
    4646// setAxes for Manual mode
    4747void Njettiness::setAxes(const std::vector<fastjet::PseudoJet> & myAxes) {
    48    if (_axes_def->needsManualAxes()) {
     48   if (_axes_def()->needsManualAxes()) {
    4949      _currentAxes = myAxes;
    5050   } else {
     
    5959      _currentAxes = inputJets;
    6060      _currentAxes.resize(n_jets,fastjet::PseudoJet(0.0,0.0,0.0,0.0));
    61      
    62      // Put in empty tau components
    63      std::vector<double> dummy_jet_pieces;
    64      _current_tau_components = TauComponents(UNDEFINED_SHAPE,
    65                                              dummy_jet_pieces,
    66                                              0.0,
    67                                              1.0,
    68                                              _currentAxes,
    69                                              _currentAxes
    70                                              );
     61      _current_tau_components = TauComponents();
    7162      _seedAxes = _currentAxes;
    7263      _currentPartition = TauPartition(n_jets); // empty partition
    7364   } else {
    74       assert(_axes_def); // this should never fail.
     65      assert(_axes_def()); // this should never fail.
    7566     
    76       if (_axes_def->needsManualAxes()) { // if manual mode
     67      if (_axes_def()->needsManualAxes()) { // if manual mode
    7768         // take current axes as seeds
    7869         _seedAxes = _currentAxes;
    7970         
    8071         // refine axes if requested
    81          _currentAxes = _axes_def->get_refined_axes(n_jets,inputJets,_seedAxes, _measure_def.get());
     72         _currentAxes = _axes_def->get_refined_axes(n_jets,inputJets,_seedAxes, _measure_def());
    8273      } else { // non-manual axes
    8374         
    8475          //set starting point for minimization
    85          _seedAxes = _axes_def->get_starting_axes(n_jets,inputJets,_measure_def.get());
     76         _seedAxes = _axes_def->get_starting_axes(n_jets,inputJets,_measure_def());
    8677         
    8778         // refine axes as needed
    88          _currentAxes = _axes_def->get_refined_axes(n_jets,inputJets,_seedAxes, _measure_def.get());
     79         _currentAxes = _axes_def->get_refined_axes(n_jets,inputJets,_seedAxes, _measure_def());
    8980         
    9081         // NOTE:  The above two function calls are combined in "AxesDefinition::get_axes"
  • external/fastjet/contribs/Nsubjettiness/VERSION

    rb9ae4c3 rec5e04b  
    1 2.2.4
     12.2.1
  • external/fastjet/internal/ClosestPair2D.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClosestPair2D.hh 4059 2016-03-03 20:49:48Z soyez $
     2// $Id: ClosestPair2D.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3838#include "fastjet/internal/SearchTree.hh"
    3939#include "fastjet/internal/MinHeap.hh"
    40 #include "fastjet/SharedPtr.hh"
    4140
    4241FASTJET_BEGIN_NAMESPACE      // defined in fastjet/internal/base.hh
     
    135134
    136135
    137   triplet<SharedPtr<Tree> >  _trees;
    138   SharedPtr<MinHeap>    _heap;
     136  triplet<std::auto_ptr<Tree> >  _trees;
     137  std::auto_ptr<MinHeap> _heap;
    139138  std::vector<Point>     _points;
    140139  std::stack<Point *>    _available_points;
  • external/fastjet/internal/ClosestPair2DBase.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: ClosestPair2DBase.hh 4049 2016-03-03 13:45:47Z salam $
     2// $Id: ClosestPair2DBase.hh 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    4848  double x, y;
    4949
    50   Coord2D() : x(0.0), y(0.0) {};
     50  Coord2D() {};
    5151
    5252  Coord2D(double a, double b): x(a), y(b) {};
  • external/fastjet/internal/DnnPlane.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: DnnPlane.hh 3917 2015-07-03 14:07:50Z salam $
     2// $Id: DnnPlane.hh 3918 2015-07-03 14:19:13Z salam $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
  • external/fastjet/internal/LazyTiling9Alt.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: LazyTiling9Alt.hh 3807 2015-02-20 11:16:55Z soyez $
     5// $Id: LazyTiling9Alt.hh 3808 2015-02-20 11:24:53Z soyez $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
  • external/fastjet/internal/TilingExtent.hh

    rb9ae4c3 rec5e04b  
    55
    66//FJSTARTHEADER
    7 // $Id: TilingExtent.hh 4034 2016-03-02 00:20:27Z soyez $
     7// $Id: TilingExtent.hh 3433 2014-07-23 08:17:03Z salam $
    88//
    99// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    4646  TilingExtent(ClusterSequence & cs);
    4747
    48   /// constructor that takes a list of PseudoJets
    49   TilingExtent(const std::vector<PseudoJet> &particles);
    50 
    5148  /// returns the suggested minimum rapidity for the tiling
    5249  double minrap() const {return _minrap;}
  • external/fastjet/internal/base.hh

    rb9ae4c3 rec5e04b  
    11
    22//FJSTARTHEADER
    3 // $Id: base.hh 4047 2016-03-03 13:21:49Z soyez $
     3// $Id: base.hh 3433 2014-07-23 08:17:03Z salam $
    44//
    55// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3333#define __FASTJET_FASTJET_BASE_HH__
    3434
    35 #include "fastjet/config.h"
    36 
    3735/// \namespace fastjet
    3836/// the FastJet namespace
     
    4543#define FASTJET_END_NAMESPACE   }
    4644
    47 // define a macro to mark virtual function in derived classes as
    48 // overriding the base-class definition
    49 #ifdef FASTJET_HAVE_OVERRIDE
    50 #define FASTJET_OVERRIDE  override
    51 #else
    52 #define FASTJET_OVERRIDE 
    53 #endif
    54 
    5545#endif // __FASTJET_FASTJET_BASE_HH__
  • external/fastjet/plugins/Jade/JadePlugin.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: JadePlugin.cc 4063 2016-03-04 10:31:40Z salam $
     2// $Id: JadePlugin.cc 3433 2014-07-23 08:17:03Z salam $
    33//
    44// Copyright (c) 2007-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3535//#include "fastjet/internal/ClusterSequence_N2.icc"
    3636#include "fastjet/NNH.hh"
    37 #include "fastjet/NNFJN2Plain.hh"
    3837
    3938// other stuff
     
    5251//----------------------------------------------------------------------
    5352/// class to help run a JADE algorithm
    54 ///
    55 /// This class works both with NNH and NNFJN2Plain clustering
    56 /// helpers. They both use the same init(...) call, but for the
    57 /// clustering:
    58 ///
    59 /// - NNH uses distance(...) and beam_distance()
    60 /// - NNFJPlainN2 uses geometrical_distance(...), momentum_factor()
    61 ///   and geometrical_beam_distance()
    62 ///
    63 /// For NNFJPlainN2 the 2 E_i E_j (1-cos theta_{ij}) factor
    64 /// gets broken up into
    65 ///
    66 ///     sqrt(2)*min(E_i,E_j) * [sqrt(2)*max(E_i,E_j) (1 - cos \theta_{ij})]
    67 ///
    68 /// The second factor is what we call the "geometrical_distance" even
    69 /// though it isn't actually purely geometrical. But the fact that it
    70 /// gets multiplied by min(E_i,E_j) to get the full distance is
    71 /// sufficient for the validity of the FJ lemma, allowing for the use
    72 /// of NNFJN2Plain.
    7353class JadeBriefJet {
    7454public:
     
    8969  }
    9070
    91   double geometrical_distance(const JadeBriefJet * jet) const {
    92     double dij = 1 - nx*jet->nx
    93                    - ny*jet->ny
    94                    - nz*jet->nz;
    95     dij *= max(rt2E,jet->rt2E);
    96     return dij;
    97   }
    98 
    99   double momentum_factor() const {
    100     return rt2E;
    101   }
    102  
    10371  double beam_distance() const {
    10472    return numeric_limits<double>::max();
    10573  }
    10674
    107   double geometrical_beam_distance() const {
    108     // get a number that is almost the same as max(), just a little
    109     // smaller so as to ensure that when we divide it by rt2E and then
    110     // multiply it again, we won't get an overflow
    111     const double almost_max = numeric_limits<double>::max() * (1 - 1e-13);
    112     return almost_max / rt2E;
    113   }
    114  
    11575private:
    11676  double rt2E, nx, ny, nz;
     
    12282  ostringstream desc;
    12383  desc << "e+e- JADE algorithm plugin";
    124   switch(_strategy) {
    125   case strategy_NNH:
    126     desc << ", using NNH strategy"; break;
    127   case strategy_NNFJN2Plain:
    128     desc << ", using NNFJN2Plain strategy"; break;
    129   default:
    130     throw Error("Unrecognized strategy in JadePlugin");
    131   }
    132 
    13384  return desc.str();
    13485}
    13586
    136 // //----------------------------------------------------------------------
    137 // void JadePlugin::run_clustering(ClusterSequence & cs) const {
    138 //   int njets = cs.jets().size();
    139 //
    140 //   //SharedPtr<NNBase<> > nn;
    141 //   NNBase<> * nn;
    142 //   switch(_strategy) {
    143 //   case strategy_NNH:
    144 //     //nn.reset(new NNH<JadeBriefJet>(cs.jets()));
    145 //     nn = new NNH<JadeBriefJet>(cs.jets());
    146 //     break;
    147 //   case strategy_NNFJN2Plain:
    148 //     //nn.reset(new NNFJN2Plain<JadeBriefJet>(cs.jets()));
    149 //     nn = new NNFJN2Plain<JadeBriefJet>(cs.jets());
    150 //     break;
    151 //   default:
    152 //     throw Error("Unrecognized strategy in JadePlugin");
    153 //   }
    154 //   //NNH<JadeBriefJet> nnh(cs.jets());
    155 //   //NNFJN2Plain<JadeBriefJet> nnh(cs.jets());
    156 //
    157 //   // if testing against Hoeth's implementation, need to rescale the
    158 //   // dij by Q^2.
    159 //   //double Q2 = cs.Q2();
    160 //
    161 //   while (njets > 0) {
    162 //     int i, j, k;
    163 //     double dij = nn->dij_min(i, j);
    164 //
    165 //     if (j >= 0) {
    166 //       cs.plugin_record_ij_recombination(i, j, dij, k);
    167 //       nn->merge_jets(i, j, cs.jets()[k], k);
    168 //     } else {
    169 //       double diB = cs.jets()[i].E()*cs.jets()[i].E(); // get new diB
    170 //       cs.plugin_record_iB_recombination(i, diB);
    171 //       nn->remove_jet(i);
    172 //     }
    173 //     njets--;
    174 //   }
    175 //   delete nn;
    176 // }
    177 
    178 
    179 template<class N> void JadePlugin::_actual_run_clustering(ClusterSequence & cs) const {
    180 
     87//----------------------------------------------------------------------
     88void JadePlugin::run_clustering(ClusterSequence & cs) const {
    18189  int njets = cs.jets().size();
    182 
    183   N nn(cs.jets());
     90  NNH<JadeBriefJet> nnh(cs.jets());
    18491
    18592  // if testing against Hoeth's implementation, need to rescale the
     
    18996  while (njets > 0) {
    19097    int i, j, k;
    191     double dij = nn.dij_min(i, j);
     98    double dij = nnh.dij_min(i, j);
    19299
    193100    if (j >= 0) {
    194101      cs.plugin_record_ij_recombination(i, j, dij, k);
    195       nn.merge_jets(i, j, cs.jets()[k], k);
     102      nnh.merge_jets(i, j, cs.jets()[k], k);
    196103    } else {
    197104      double diB = cs.jets()[i].E()*cs.jets()[i].E(); // get new diB
    198105      cs.plugin_record_iB_recombination(i, diB);
    199       nn.remove_jet(i);
     106      nnh.remove_jet(i);
    200107    }
    201108    njets--;
    202109  }
    203 
    204110}
    205111
    206 //----------------------------------------------------------------------
    207 void JadePlugin::run_clustering(ClusterSequence & cs) const {
    208 
    209   switch(_strategy) {
    210   case strategy_NNH:
    211     _actual_run_clustering<NNH<JadeBriefJet> >(cs);
    212     break;
    213   case strategy_NNFJN2Plain:
    214     _actual_run_clustering<NNFJN2Plain<JadeBriefJet> >(cs);
    215     break;
    216   default:
    217     throw Error("Unrecognized strategy in JadePlugin");
    218   }
    219 }
    220 
    221 
    222112FASTJET_END_NAMESPACE      // defined in fastjet/internal/base.hh
  • external/fastjet/plugins/Jade/fastjet/JadePlugin.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: JadePlugin.hh 4061 2016-03-03 21:51:25Z salam $
     5// $Id: JadePlugin.hh 3433 2014-07-23 08:17:03Z salam $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    7777class JadePlugin : public JetDefinition::Plugin {
    7878public:
    79   /// enum that contains the two clustering strategy options; for
    80   /// higher multiplicities, strategy_NNFJN2Plain is about a factor of
    81   /// two faster.
    82   enum Strategy { strategy_NNH = 0, strategy_NNFJN2Plain = 1};
    83  
    8479  /// Main constructor for the Jade Plugin class. 
    85   JadePlugin (Strategy strategy = strategy_NNFJN2Plain) : _strategy(strategy) {}
     80  JadePlugin (){}
    8681
    8782  /// copy constructor
     
    105100private:
    106101
    107   template<class N> void _actual_run_clustering(ClusterSequence &) const;
    108  
    109   Strategy _strategy;
    110102};
    111103
  • external/fastjet/plugins/SISCone/SISConePlugin.cc

    rb9ae4c3 rec5e04b  
    7878// static members declaration              //
    7979/////////////////////////////////////////////
    80 SharedPtr<SISConePlugin>           SISConePlugin::stored_plugin;
    81 SharedPtr<std::vector<PseudoJet> > SISConePlugin::stored_particles;
    82 SharedPtr<Csiscone>                SISConePlugin::stored_siscone;
     80std::auto_ptr<SISConePlugin>           SISConePlugin::stored_plugin;
     81std::auto_ptr<std::vector<PseudoJet> > SISConePlugin::stored_particles;
     82std::auto_ptr<Csiscone>                SISConePlugin::stored_siscone;
    8383
    8484
  • external/fastjet/plugins/SISCone/config.h

    rb9ae4c3 rec5e04b  
    1 #ifndef _SISCONE_CONFIG_H
    2 #define _SISCONE_CONFIG_H 1
    3  
    4 /* siscone/config.h. Generated automatically at end of configure. */
    5 /* siscone/config_raw.h.  Generated from config.h.in by configure.  */
     1/* siscone/config.h.  Generated from config.h.in by configure.  */
    62/* config.h.in.  Generated from configure.ac by autoheader.  */
    73
    84/* Define to 1 if you have the <dlfcn.h> header file. */
    9 #ifndef SISCONE_HAVE_DLFCN_H
    10 #define SISCONE_HAVE_DLFCN_H  1
    11 #endif
     5#define HAVE_DLFCN_H 1
    126
    137/* Define to 1 if you have the <inttypes.h> header file. */
    14 #ifndef SISCONE_HAVE_INTTYPES_H
    15 #define SISCONE_HAVE_INTTYPES_H  1
    16 #endif
     8#define HAVE_INTTYPES_H 1
    179
    1810/* Define to 1 if you have the `m' library (-lm). */
    19 #ifndef SISCONE_HAVE_LIBM
    20 #define SISCONE_HAVE_LIBM  1
    21 #endif
     11#define HAVE_LIBM 1
    2212
    2313/* Define to 1 if you have the <memory.h> header file. */
    24 #ifndef SISCONE_HAVE_MEMORY_H
    25 #define SISCONE_HAVE_MEMORY_H  1
    26 #endif
     14#define HAVE_MEMORY_H 1
    2715
    2816/* Define to 1 if you have the <stdint.h> header file. */
    29 #ifndef SISCONE_HAVE_STDINT_H
    30 #define SISCONE_HAVE_STDINT_H  1
    31 #endif
     17#define HAVE_STDINT_H 1
    3218
    3319/* Define to 1 if you have the <stdlib.h> header file. */
    34 #ifndef SISCONE_HAVE_STDLIB_H
    35 #define SISCONE_HAVE_STDLIB_H  1
    36 #endif
     20#define HAVE_STDLIB_H 1
    3721
    3822/* Define to 1 if you have the <strings.h> header file. */
    39 #ifndef SISCONE_HAVE_STRINGS_H
    40 #define SISCONE_HAVE_STRINGS_H  1
    41 #endif
     23#define HAVE_STRINGS_H 1
    4224
    4325/* Define to 1 if you have the <string.h> header file. */
    44 #ifndef SISCONE_HAVE_STRING_H
    45 #define SISCONE_HAVE_STRING_H  1
    46 #endif
     26#define HAVE_STRING_H 1
    4727
    4828/* Define to 1 if you have the <sys/stat.h> header file. */
    49 #ifndef SISCONE_HAVE_SYS_STAT_H
    50 #define SISCONE_HAVE_SYS_STAT_H  1
    51 #endif
     29#define HAVE_SYS_STAT_H 1
    5230
    5331/* Define to 1 if you have the <sys/types.h> header file. */
    54 #ifndef SISCONE_HAVE_SYS_TYPES_H
    55 #define SISCONE_HAVE_SYS_TYPES_H  1
    56 #endif
     32#define HAVE_SYS_TYPES_H 1
    5733
    5834/* Define to 1 if you have the <unistd.h> header file. */
    59 #ifndef SISCONE_HAVE_UNISTD_H
    60 #define SISCONE_HAVE_UNISTD_H  1
    61 #endif
     35#define HAVE_UNISTD_H 1
    6236
    63 /* Define to the sub-directory where libtool stores uninstalled libraries. */
    64 #ifndef SISCONE_LT_OBJDIR
    65 #define SISCONE_LT_OBJDIR  ".libs/"
    66 #endif
     37/* Define to the sub-directory in which libtool stores uninstalled libraries.
     38   */
     39#define LT_OBJDIR ".libs/"
    6740
    6841/* Name of package */
    69 #ifndef SISCONE_PACKAGE
    70 #define SISCONE_PACKAGE  "siscone"
    71 #endif
     42#define PACKAGE "siscone"
    7243
    7344/* Define to the address where bug reports for this package should be sent. */
    74 #ifndef SISCONE_PACKAGE_BUGREPORT
    75 #define SISCONE_PACKAGE_BUGREPORT  ""
    76 #endif
     45#define PACKAGE_BUGREPORT ""
    7746
    7847/* Define to the full name of this package. */
    79 #ifndef SISCONE_PACKAGE_NAME
    80 #define SISCONE_PACKAGE_NAME  "SISCone"
    81 #endif
     48#define PACKAGE_NAME "SISCone"
    8249
    8350/* Define to the full name and version of this package. */
    84 #ifndef SISCONE_PACKAGE_STRING
    85 #define SISCONE_PACKAGE_STRING  "SISCone 3.0.3"
    86 #endif
     51#define PACKAGE_STRING "SISCone 3.0.0"
    8752
    8853/* Define to the one symbol short name of this package. */
    89 #ifndef SISCONE_PACKAGE_TARNAME
    90 #define SISCONE_PACKAGE_TARNAME  "siscone"
    91 #endif
    92 
    93 /* Define to the home page for this package. */
    94 #ifndef SISCONE_PACKAGE_URL
    95 #define SISCONE_PACKAGE_URL  ""
    96 #endif
     54#define PACKAGE_TARNAME "siscone"
    9755
    9856/* Define to the version of this package. */
    99 #ifndef SISCONE_PACKAGE_VERSION
    100 #define SISCONE_PACKAGE_VERSION  "3.0.3"
    101 #endif
     57#define PACKAGE_VERSION "3.0.0"
    10258
    10359/* Define to 1 if you have the ANSI C header files. */
    104 #ifndef SISCONE_STDC_HEADERS
    105 #define SISCONE_STDC_HEADERS  1
    106 #endif
    107 
    108 /* use unique_ptr instead of auto_ptr */
    109 /* #undef USES_UNIQUE_PTR_AS_AUTO_PTR */
     60#define STDC_HEADERS 1
    11061
    11162/* Version number of package */
    112 #ifndef SISCONE_VERSION
    113 #define SISCONE_VERSION  "3.0.3"
    114 #endif
    115  
    116 /* once: _SISCONE_CONFIG_H */
    117 #endif
     63#define VERSION "3.0.0"
  • external/fastjet/plugins/SISCone/defines.h

    rb9ae4c3 rec5e04b  
    2222// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
    2323//                                                                           //
    24 // $Revision:: 401                                                          $//
    25 // $Date:: 2016-05-19 16:44:37 +0200 (Thu, 19 May 2016)                     $//
     24// $Revision:: 225                                                          $//
     25// $Date:: 2008-05-20 16:59:47 +0200 (Tue, 20 May 2008)                     $//
    2626///////////////////////////////////////////////////////////////////////////////
    2727
     
    3535// defined in siscone.h
    3636// Otherwise, config.h
    37 // It is also defined as "SISCONE_PACKAGE_NAME" in config.h but this method
     37// It is also defined as "PACKAGE_NAME" in config.h but this method
    3838// might lead to conflicts
    39 //#define PROGRAM   SISCONE_PACKAGE_NAME
     39//#define PROGRAM   PACKAGE_NAME
    4040
    4141// program version
     
    4343//   siscone::siscone_version
    4444// defined in siscone.h
    45 // It is also defined as "SISCONE_VERSION" in config.h but this method
     45// It is also defined as "VERSION" in config.h but this method
    4646// might lead to conflicts
    4747
  • external/fastjet/plugins/SISCone/fastjet/SISConePlugin.hh

    rb9ae4c3 rec5e04b  
    191191  // part needed for the cache
    192192  // variables for caching the results and the input
    193   static SharedPtr<SISConePlugin          > stored_plugin;
    194   static SharedPtr<std::vector<PseudoJet> > stored_particles;
    195   static SharedPtr<siscone::Csiscone      > stored_siscone;
     193  static std::auto_ptr<SISConePlugin          > stored_plugin;
     194  static std::auto_ptr<std::vector<PseudoJet> > stored_particles;
     195  static std::auto_ptr<siscone::Csiscone      > stored_siscone;
    196196};
    197197
  • external/fastjet/plugins/SISCone/fastjet/SISConeSphericalPlugin.hh

    rb9ae4c3 rec5e04b  
    166166  // part needed for the cache
    167167  // variables for caching the results and the input
    168   static SharedPtr<SISConeSphericalPlugin        > stored_plugin;
    169   static SharedPtr<std::vector<PseudoJet>        > stored_particles;
    170   static SharedPtr<siscone_spherical::CSphsiscone> stored_siscone;
     168  static std::auto_ptr<SISConeSphericalPlugin        > stored_plugin;
     169  static std::auto_ptr<std::vector<PseudoJet>        > stored_particles;
     170  static std::auto_ptr<siscone_spherical::CSphsiscone> stored_siscone;
    171171};
    172172
  • external/fastjet/plugins/SISCone/siscone.cc

    rb9ae4c3 rec5e04b  
    2121// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
    2222//                                                                           //
    23 // $Revision:: 403                                                          $//
    24 // $Date:: 2016-05-19 16:52:05 +0200 (Thu, 19 May 2016)                     $//
     23// $Revision:: 371                                                          $//
     24// $Date:: 2014-09-09 10:05:32 +0200 (Tue, 09 Sep 2014)                     $//
    2525///////////////////////////////////////////////////////////////////////////////
    2626
     27//#ifdef HAVE_CONFIG_H
    2728#include "config.h"
     29//#else
     30//#define PACKAGE_NAME "SISCone"
     31//#define VERSION "3.0.0"
     32//#warning "No config.h file available, using preset values"
     33//#endif
     34
    2835#include "ranlux.h"
    2936#include "momentum.h"
     
    247254  // print the banner
    248255  if (_banner_ostr != 0){
    249     ios::fmtflags flags_to_restore(_banner_ostr->flags());
    250 
    251256    (*_banner_ostr) << "#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo" << endl;
    252257    (*_banner_ostr) << "#                    SISCone   version " << setw(28) << left << siscone_version() << "o" << endl;
     
    264269
    265270    _banner_ostr->flush();
    266     _banner_ostr->flags(flags_to_restore);
    267271  }
    268272}
     
    275279 * return SISCone package name.
    276280 * This is nothing but "SISCone", it is a replacement to the
    277  * SISCONE_PACKAGE_NAME string defined in config.h and which is not
    278  * guaranteed to be public.
     281 * PACKAGE_NAME string defined in config.h and which is not
     282 * public by default.
    279283 * return the SISCone name as a string
    280284 */
    281285string siscone_package_name(){
    282   return SISCONE_PACKAGE_NAME;
     286  return PACKAGE_NAME;
    283287}
    284288
     
    289293 */
    290294string siscone_version(){
    291   return SISCONE_VERSION;
    292 }
    293 
    294 }
     295  return VERSION;
     296}
     297
     298}
  • external/fastjet/plugins/SISCone/siscone.h

    rb9ae4c3 rec5e04b  
    2222// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
    2323//                                                                           //
    24 // $Revision:: 401                                                          $//
    25 // $Date:: 2016-05-19 16:44:37 +0200 (Thu, 19 May 2016)                     $//
     24// $Revision:: 369                                                          $//
     25// $Date:: 2014-09-04 16:57:55 +0200 (Thu, 04 Sep 2014)                     $//
    2626///////////////////////////////////////////////////////////////////////////////
    2727
     
    160160 * return SISCone package name.
    161161 * This is nothing but "SISCone", it is a replacement to the
    162  * SISCONE_PACKAGE_NAME string defined in config.h and which is not
    163  * guaranteed to be public.
     162 * PACKAGE_NAME string defined in config.h and which is not
     163 * public by default.
    164164 * \return the SISCone name as a string
    165165 */
  • external/fastjet/plugins/SISCone/split_merge.cc

    rb9ae4c3 rec5e04b  
    2121// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
    2222//                                                                           //
    23 // $Revision:: 390                                                          $//
    24 // $Date:: 2016-03-03 11:06:52 +0100 (Thu, 03 Mar 2016)                     $//
     23// $Revision:: 370                                                          $//
     24// $Date:: 2014-09-04 17:03:15 +0200 (Thu, 04 Sep 2014)                     $//
    2525///////////////////////////////////////////////////////////////////////////////
    2626
     
    5454  pt_tilde = 0.0;
    5555  sm_var2 = 0.0;
    56   pass = CJET_INEXISTENT_PASS; // initialised to a value that should
    57                                // notappear in the end (after clustering)
    5856}
    5957
     
    661659
    662660#ifdef DEBUG_SPLIT_MERGE
    663   cout << "PR-Jet " << jets.size() << " [size " << jet.contents.size() << "]:";
     661  cout << "PR-Jet " << jets.size() << " [size " << next_jet.contents.size() << "]:";
    664662#endif
    665663   
     
    11811179  }
    11821180
    1183   //return 0.0;
    1184 }
    1185 
    1186 }
     1181  return 0.0;
     1182}
     1183
     1184}
  • external/fastjet/plugins/SISCone/split_merge.h

    rb9ae4c3 rec5e04b  
    2222// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
    2323//                                                                           //
    24 // $Revision:: 405                                                          $//
    25 // $Date:: 2016-05-23 20:15:02 +0200 (Mon, 23 May 2016)                     $//
     24// $Revision:: 367                                                          $//
     25// $Date:: 2014-09-04 15:57:37 +0200 (Thu, 04 Sep 2014)                     $//
    2626///////////////////////////////////////////////////////////////////////////////
    2727
     
    2929#define __SPLIT_MERGE_H__
    3030
    31 #include "config.h"
    3231#include "defines.h"
    3332#include "geom_2d.h"
     
    4039
    4140namespace siscone{
    42 
    43 const int CJET_INEXISTENT_PASS = -2;
    4441
    4542/**
     
    7875  /// pass at which the jet has been found
    7976  /// It starts at 0 (first pass), -1 means infinite rapidity
    80   /// (it will be initialised to "CJET_INEXISTENT_PASS" which should
    81   /// never appear after clustering)
    8277  int pass;
    8378};
     
    446441  // jet information
    447442  /// list of jet candidates
    448 #ifdef SISCONE_USES_UNIQUE_PTR_AS_AUTO_PTR
    449   std::unique_ptr<std::multiset<Cjet,Csplit_merge_ptcomparison> > candidates;
    450 #else
    451443  std::auto_ptr<std::multiset<Cjet,Csplit_merge_ptcomparison> > candidates;
    452 #endif
    453  
     444
    454445  /// minimal pt2
    455446  double pt_min2;
  • external/fastjet/plugins/SISCone/vicinity.cc

    rb9ae4c3 rec5e04b  
    2121// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA //
    2222//                                                                           //
    23 // $Revision:: 388                                                          $//
    24 // $Date:: 2016-03-03 10:42:25 +0100 (Thu, 03 Mar 2016)                     $//
     23// $Revision:: 123                                                          $//
     24// $Date:: 2007-03-01 02:52:16 +0100 (Thu, 01 Mar 2007)                     $//
    2525///////////////////////////////////////////////////////////////////////////////
    2626
     
    8080  VR2 = VR = 0.0;
    8181
    82   ve_list = NULL;
    8382  set_particle_list(_particle_list);
    8483}
  • external/fastjet/tools/Filter.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: Filter.cc 4080 2016-03-09 15:01:57Z soyez $
     2// $Id: Filter.cc 3760 2014-12-19 10:05:10Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3131#include "fastjet/tools/Filter.hh"
    3232#include "fastjet/tools/Recluster.hh"
    33 #include "fastjet/tools/Subtractor.hh"
    3433#include <fastjet/ClusterSequenceActiveAreaExplicitGhosts.hh>
    3534#include <cassert>
     
    9998  } else if (_rho!=0){
    10099    if (subjets.size()>0){
    101       //const ClusterSequenceAreaBase *csab = subjets[0].validated_csab();
     100      const ClusterSequenceAreaBase *csab = subjets[0].validated_csab();
    102101      for (unsigned int i=0;i<subjets.size();i++){
    103         //subjets[i]=csab->subtracted_jet(subjets[i], _rho);
    104         subjets[i]=Subtractor(_rho)(subjets[i]);
     102        subjets[i]=csab->subtracted_jet(subjets[i], _rho);
    105103      }
    106104    }
  • external/fastjet/tools/Filter.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: Filter.hh 3846 2015-03-08 08:35:43Z soyez $
     5// $Id: Filter.hh 3845 2015-03-08 08:35:36Z soyez $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    143143  /// deciding which ones to keep. It takes precedence over a non-zero rho.
    144144  void set_subtractor(const FunctionOfPseudoJet<PseudoJet> * subtractor_in) {_subtractor = subtractor_in;}
    145 
    146   /// Set a subtractor that is applied to all individual subjets before
    147   /// deciding which ones to keep. It takes precedence over a non-zero rho.
    148   const FunctionOfPseudoJet<PseudoJet> * subtractor() const{ return _subtractor;}
    149145
    150146  /// runs the filtering and sets kept and rejected to be the jets of interest
  • external/fastjet/tools/GridMedianBackgroundEstimator.hh

    rb9ae4c3 rec5e04b  
    33
    44//FJSTARTHEADER
    5 // $Id: GridMedianBackgroundEstimator.hh 3969 2015-09-21 08:57:59Z salam $
     5// $Id: GridMedianBackgroundEstimator.hh 3778 2014-12-24 09:28:09Z salam $
    66//
    77// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    194194  /// determination of rho_m.
    195195  ///
    196   /// Note that support for sigma_m is automatic if one has sigma and
     196  /// Note that support for sigma_m is automatic is one has sigma and
    197197  /// rho_m support.
    198198  bool has_rho_m() const {return _enable_rho_m;}
  • external/fastjet/tools/JetMedianBackgroundEstimator.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: JetMedianBackgroundEstimator.cc 4047 2016-03-03 13:21:49Z soyez $
     2// $Id: JetMedianBackgroundEstimator.cc 3517 2014-08-01 14:23:13Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    194194
    195195  _csi = jets[0].structure_shared_ptr();
    196   ClusterSequenceStructure * csi = dynamic_cast<ClusterSequenceStructure*>(_csi.get());
     196  ClusterSequenceStructure * csi = dynamic_cast<ClusterSequenceStructure*>(_csi());
    197197  const ClusterSequenceAreaBase * csab = csi->validated_csab();
    198198
     
    467467
    468468  // determine the number of empty jets
    469   const ClusterSequenceAreaBase * csab = (dynamic_cast<ClusterSequenceStructure*>(_csi.get()))->validated_csab();
     469  const ClusterSequenceAreaBase * csab = (dynamic_cast<ClusterSequenceStructure*>(_csi()))->validated_csab();
    470470  if (csab->has_explicit_ghosts()) {
    471471    _empty_area = 0.0;
     
    503503// throw an error otherwise
    504504void JetMedianBackgroundEstimator::_check_csa_alive() const{
    505   ClusterSequenceStructure* csa = dynamic_cast<ClusterSequenceStructure*>(_csi.get());
     505  ClusterSequenceStructure* csa = dynamic_cast<ClusterSequenceStructure*>(_csi());
    506506  if (csa == 0) {
    507507    throw Error("JetMedianBackgroundEstimator: there is no cluster sequence associated with the JetMedianBackgroundEstimator");
    508508  }
    509   if (! dynamic_cast<ClusterSequenceStructure*>(_csi.get())->has_associated_cluster_sequence())
     509  if (! dynamic_cast<ClusterSequenceStructure*>(_csi())->has_associated_cluster_sequence())
    510510    throw Error("JetMedianBackgroundEstimator: modifications are no longer possible as the underlying ClusterSequence has gone out of scope");
    511511}
     
    521521  // cluster sequence
    522522  if (_jet_def.jet_algorithm() == undefined_jet_algorithm){
    523     const ClusterSequence * cs = dynamic_cast<ClusterSequenceStructure*>(_csi.get())->validated_cs();
     523    const ClusterSequence * cs = dynamic_cast<ClusterSequenceStructure*>(_csi())->validated_cs();
    524524    jet_def = &(cs->jet_def());
    525525  }
  • external/fastjet/tools/Recluster.hh

    rb9ae4c3 rec5e04b  
    22#define __FASTJET_TOOLS_RECLUSTER_HH__
    33
    4 // $Id: Recluster.hh 3753 2014-12-17 15:19:55Z salam $
     4// $Id: Recluster.hh 3760 2014-12-19 10:05:10Z soyez $
    55//
    66// Copyright (c) 2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
  • external/fastjet/tools/Subtractor.cc

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: Subtractor.cc 3970 2015-09-21 10:31:17Z salam $
     2// $Id: Subtractor.cc 3670 2014-09-08 14:17:59Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    3939const double Subtractor::_invalid_rho = -numeric_limits<double>::infinity();
    4040
    41 LimitedWarning Subtractor::_unused_rho_m_warning;
    4241
    4342//----------------------------------------------------------------------
  • external/fastjet/tools/Subtractor.hh

    rb9ae4c3 rec5e04b  
    11//FJSTARTHEADER
    2 // $Id: Subtractor.hh 3970 2015-09-21 10:31:17Z salam $
     2// $Id: Subtractor.hh 3670 2014-09-08 14:17:59Z soyez $
    33//
    44// Copyright (c) 2005-2014, Matteo Cacciari, Gavin P. Salam and Gregory Soyez
     
    203203  static const double _invalid_rho;
    204204
    205   static LimitedWarning _unused_rho_m_warning;
     205  mutable LimitedWarning _unused_rho_m_warning;
    206206};
    207207
  • modules/Calorimeter.cc

    rb9ae4c3 rec5e04b  
    5858  fItParticleInputArray(0), fItTrackInputArray(0)
    5959{
    60  
     60  Int_t i;
     61
    6162  fECalResolutionFormula = new DelphesFormula;
    6263  fHCalResolutionFormula = new DelphesFormula;
    6364
    64   fECalTowerTrackArray = new TObjArray;
    65   fItECalTowerTrackArray = fECalTowerTrackArray->MakeIterator();
    66 
    67   fHCalTowerTrackArray = new TObjArray;
    68   fItHCalTowerTrackArray = fHCalTowerTrackArray->MakeIterator();
    69  
     65  for(i = 0; i < 2; ++i)
     66  {
     67    fECalTowerTrackArray[i] = new TObjArray;
     68    fItECalTowerTrackArray[i] = fECalTowerTrackArray[i]->MakeIterator();
     69
     70    fHCalTowerTrackArray[i] = new TObjArray;
     71    fItHCalTowerTrackArray[i] = fHCalTowerTrackArray[i]->MakeIterator();
     72  }
    7073}
    7174
     
    7477Calorimeter::~Calorimeter()
    7578{
    76  
     79  Int_t i;
     80
    7781  if(fECalResolutionFormula) delete fECalResolutionFormula;
    7882  if(fHCalResolutionFormula) delete fHCalResolutionFormula;
    7983
    80   if(fECalTowerTrackArray) delete fECalTowerTrackArray;
    81   if(fItECalTowerTrackArray) delete fItECalTowerTrackArray;
    82 
    83   if(fHCalTowerTrackArray) delete fHCalTowerTrackArray;
    84   if(fItHCalTowerTrackArray) delete fItHCalTowerTrackArray;
    85  
     84  for(i = 0; i < 2; ++i)
     85  {
     86    if(fECalTowerTrackArray[i]) delete fECalTowerTrackArray[i];
     87    if(fItECalTowerTrackArray[i]) delete fItECalTowerTrackArray[i];
     88
     89    if(fHCalTowerTrackArray[i]) delete fHCalTowerTrackArray[i];
     90    if(fItHCalTowerTrackArray[i]) delete fItHCalTowerTrackArray[i];
     91  }
    8692}
    8793
     
    213219  Double_t ecalEnergy, hcalEnergy;
    214220  Double_t ecalSigma, hcalSigma;
    215   Double_t energyGuess;
    216221  Int_t pdgCode;
    217222
     
    363368      fHCalTowerEnergy = 0.0;
    364369
    365       fECalTrackEnergy = 0.0;
    366       fHCalTrackEnergy = 0.0;
    367      
    368       fECalTrackSigma = 0.0;
    369       fHCalTrackSigma = 0.0;
    370      
     370      fECalTrackEnergy[0] = 0.0;
     371      fECalTrackEnergy[1] = 0.0;
     372
     373      fHCalTrackEnergy[0] = 0.0;
     374      fHCalTrackEnergy[1] = 0.0;
     375
    371376      fTowerTrackHits = 0;
    372377      fTowerPhotonHits = 0;
    373378
    374       fECalTowerTrackArray->Clear();
    375       fHCalTowerTrackArray->Clear();
    376    
     379      fECalTowerTrackArray[0]->Clear();
     380      fECalTowerTrackArray[1]->Clear();
     381
     382      fHCalTowerTrackArray[0]->Clear();
     383      fHCalTowerTrackArray[1]->Clear();
    377384    }
    378385
     
    399406      if(fECalTrackFractions[number] > 1.0E-9 && fHCalTrackFractions[number] < 1.0E-9)
    400407      {
    401         fECalTrackEnergy += ecalEnergy;
    402         ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E());       
    403         if(ecalSigma/momentum.E() < track->TrackResolution) energyGuess = ecalEnergy;       
    404         else energyGuess = momentum.E();
    405 
    406         fECalTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess;
    407         fECalTowerTrackArray->Add(track);
     408        ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E());
     409        if(ecalSigma/momentum.E() < track->TrackResolution)
     410        {
     411          fECalTrackEnergy[0] += ecalEnergy;
     412          fECalTowerTrackArray[0]->Add(track);
     413        }
     414        else
     415        {
     416          fECalTrackEnergy[1] += ecalEnergy;
     417          fECalTowerTrackArray[1]->Add(track);
     418        }
    408419      }
    409      
    410420      else if(fECalTrackFractions[number] < 1.0E-9 && fHCalTrackFractions[number] > 1.0E-9)
    411421      {
    412         fHCalTrackEnergy += hcalEnergy;
    413422        hcalSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E());
    414         if(hcalSigma/momentum.E() < track->TrackResolution) energyGuess = hcalEnergy;
    415         else energyGuess = momentum.E();
    416 
    417         fHCalTrackSigma += (track->TrackResolution)*energyGuess*(track->TrackResolution)*energyGuess;
    418         fHCalTowerTrackArray->Add(track);
     423        if(hcalSigma/momentum.E() < track->TrackResolution)
     424        {
     425          fHCalTrackEnergy[0] += hcalEnergy;
     426          fHCalTowerTrackArray[0]->Add(track);
     427        }
     428        else
     429        {
     430          fHCalTrackEnergy[1] += hcalEnergy;
     431          fHCalTowerTrackArray[1]->Add(track);
     432        }
    419433      }
    420      
    421434      else if(fECalTrackFractions[number] < 1.0E-9 && fHCalTrackFractions[number] < 1.0E-9)
    422435      {
     
    463476  Double_t energy, pt, eta, phi;
    464477  Double_t ecalEnergy, hcalEnergy;
    465   Double_t ecalNeutralEnergy, hcalNeutralEnergy;
    466  
    467478  Double_t ecalSigma, hcalSigma;
    468   Double_t ecalNeutralSigma, hcalNeutralSigma;
    469 
    470   Double_t weightTrack, weightCalo, bestEnergyEstimate, rescaleFactor;
    471  
     479
    472480  TLorentzVector momentum;
    473481  TFractionMap::iterator itFractionMap;
     
    476484
    477485  if(!fTower) return;
     486
    478487
    479488  ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, fECalTowerEnergy);
     
    545554    fTowerOutputArray->Add(fTower);
    546555  }
    547  
     556
    548557  // fill energy flow candidates
    549   fECalTrackSigma = TMath::Sqrt(fECalTrackSigma);
    550   fHCalTrackSigma = TMath::Sqrt(fHCalTrackSigma);
    551 
    552   //compute neutral excesses
    553   ecalNeutralEnergy = max( (ecalEnergy - fECalTrackEnergy) , 0.0);
    554   hcalNeutralEnergy = max( (hcalEnergy - fHCalTrackEnergy) , 0.0);
    555  
    556   ecalNeutralSigma = ecalNeutralEnergy / TMath::Sqrt(fECalTrackSigma*fECalTrackSigma + ecalSigma*ecalSigma);
    557   hcalNeutralSigma = hcalNeutralEnergy / TMath::Sqrt(fHCalTrackSigma*fHCalTrackSigma + hcalSigma*hcalSigma);
    558  
    559    // if ecal neutral excess is significant, simply create neutral EflowPhoton tower and clone each track into eflowtrack
    560   if(ecalNeutralEnergy > fECalEnergyMin && ecalNeutralSigma > fECalEnergySignificanceMin)
     558
     559  ecalEnergy -= fECalTrackEnergy[1];
     560  hcalEnergy -= fHCalTrackEnergy[1];
     561
     562  fItECalTowerTrackArray[0]->Reset();
     563  while((track = static_cast<Candidate*>(fItECalTowerTrackArray[0]->Next())))
     564  {
     565    mother = track;
     566    track = static_cast<Candidate*>(track->Clone());
     567    track->AddCandidate(mother);
     568
     569    track->Momentum *= ecalEnergy/fECalTrackEnergy[0];
     570
     571    fEFlowTrackOutputArray->Add(track);
     572  }
     573
     574  fItECalTowerTrackArray[1]->Reset();
     575  while((track = static_cast<Candidate*>(fItECalTowerTrackArray[1]->Next())))
     576  {
     577    mother = track;
     578    track = static_cast<Candidate*>(track->Clone());
     579    track->AddCandidate(mother);
     580
     581    fEFlowTrackOutputArray->Add(track);
     582  }
     583
     584  fItHCalTowerTrackArray[0]->Reset();
     585  while((track = static_cast<Candidate*>(fItHCalTowerTrackArray[0]->Next())))
     586  {
     587    mother = track;
     588    track = static_cast<Candidate*>(track->Clone());
     589    track->AddCandidate(mother);
     590
     591    track->Momentum *= hcalEnergy/fHCalTrackEnergy[0];
     592
     593    fEFlowTrackOutputArray->Add(track);
     594  }
     595
     596  fItHCalTowerTrackArray[1]->Reset();
     597  while((track = static_cast<Candidate*>(fItHCalTowerTrackArray[1]->Next())))
     598  {
     599    mother = track;
     600    track = static_cast<Candidate*>(track->Clone());
     601    track->AddCandidate(mother);
     602
     603    fEFlowTrackOutputArray->Add(track);
     604  }
     605
     606  if(fECalTowerTrackArray[0]->GetEntriesFast() > 0) ecalEnergy = 0.0;
     607  if(fHCalTowerTrackArray[0]->GetEntriesFast() > 0) hcalEnergy = 0.0;
     608
     609  ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, ecalEnergy);
     610  hcalSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, hcalEnergy);
     611
     612  if(ecalEnergy < fECalEnergyMin || ecalEnergy < fECalEnergySignificanceMin*ecalSigma) ecalEnergy = 0.0;
     613  if(hcalEnergy < fHCalEnergyMin || hcalEnergy < fHCalEnergySignificanceMin*hcalSigma) hcalEnergy = 0.0;
     614
     615  energy = ecalEnergy + hcalEnergy;
     616
     617  if(ecalEnergy > 0.0)
    561618  {
    562619    // create new photon tower
    563620    tower = static_cast<Candidate*>(fTower->Clone());
    564     pt =  ecalNeutralEnergy / TMath::CosH(eta);
    565    
    566     tower->Momentum.SetPtEtaPhiE(pt, eta, phi, ecalNeutralEnergy);
    567     tower->Eem = ecalNeutralEnergy;
     621
     622    pt = ecalEnergy / TMath::CosH(eta);
     623
     624    tower->Momentum.SetPtEtaPhiE(pt, eta, phi, ecalEnergy);
     625    tower->Eem = ecalEnergy;
    568626    tower->Ehad = 0.0;
    569627    tower->PID = 22;
    570    
     628
    571629    fEFlowPhotonOutputArray->Add(tower);
    572    
    573     //clone tracks
    574     fItECalTowerTrackArray->Reset();
    575     while((track = static_cast<Candidate*>(fItECalTowerTrackArray->Next())))
    576     {
    577       mother = track;
    578       track = static_cast<Candidate*>(track->Clone());
    579       track->AddCandidate(mother);
    580 
    581       fEFlowTrackOutputArray->Add(track);
    582     }
    583  
    584   }
    585  
    586   // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the calorimeter and tracking
    587   else if(fECalTrackEnergy > 0.0)
    588   {
    589     weightTrack = (fECalTrackSigma > 0.0) ? 1 / (fECalTrackSigma*fECalTrackSigma) : 0.0;
    590     weightCalo  = (ecalSigma > 0.0) ? 1 / (ecalSigma*ecalSigma) : 0.0;
    591  
    592     bestEnergyEstimate = (weightTrack*fECalTrackEnergy + weightCalo*ecalEnergy) / (weightTrack + weightCalo);
    593     rescaleFactor = bestEnergyEstimate/fECalTrackEnergy;
    594 
    595     //rescale tracks
    596     fItECalTowerTrackArray->Reset();
    597     while((track = static_cast<Candidate*>(fItECalTowerTrackArray->Next())))
    598     { 
    599       mother = track;
    600       track = static_cast<Candidate*>(track->Clone());
    601       track->AddCandidate(mother);
    602 
    603       track->Momentum *= rescaleFactor;
    604 
    605       fEFlowTrackOutputArray->Add(track);
    606     }
    607   }
    608 
    609 
    610   // if hcal neutral excess is significant, simply create neutral EflowNeutralHadron tower and clone each track into eflowtrack
    611   if(hcalNeutralEnergy > fHCalEnergyMin && hcalNeutralSigma > fHCalEnergySignificanceMin)
    612   {
    613     // create new photon tower
     630  }
     631  if(hcalEnergy > 0.0)
     632  {
     633    // create new neutral hadron tower
    614634    tower = static_cast<Candidate*>(fTower->Clone());
    615     pt =  hcalNeutralEnergy / TMath::CosH(eta);
    616    
    617     tower->Momentum.SetPtEtaPhiE(pt, eta, phi, hcalNeutralEnergy);
    618     tower->Ehad = hcalNeutralEnergy;
     635
     636    pt = hcalEnergy / TMath::CosH(eta);
     637
     638    tower->Momentum.SetPtEtaPhiE(pt, eta, phi, hcalEnergy);
    619639    tower->Eem = 0.0;
    620    
     640    tower->Ehad = hcalEnergy;
     641
    621642    fEFlowNeutralHadronOutputArray->Add(tower);
    622    
    623     //clone tracks
    624     fItHCalTowerTrackArray->Reset();
    625     while((track = static_cast<Candidate*>(fItHCalTowerTrackArray->Next())))
    626     {
    627       mother = track;
    628       track = static_cast<Candidate*>(track->Clone());
    629       track->AddCandidate(mother);
    630 
    631       fEFlowTrackOutputArray->Add(track);
    632     }
    633  
    634   }
    635  
    636   // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the calorimeter and tracking
    637   else if(fHCalTrackEnergy > 0.0)
    638   {
    639     weightTrack = (fHCalTrackSigma > 0.0) ? 1 / (fHCalTrackSigma*fHCalTrackSigma) : 0.0;
    640     weightCalo  = (hcalSigma > 0.0) ? 1 / (hcalSigma*hcalSigma) : 0.0;
    641  
    642     bestEnergyEstimate = (weightTrack*fHCalTrackEnergy + weightCalo*hcalEnergy) / (weightTrack + weightCalo);
    643     rescaleFactor = bestEnergyEstimate / fHCalTrackEnergy;
    644 
    645     //rescale tracks
    646     fItHCalTowerTrackArray->Reset();
    647     while((track = static_cast<Candidate*>(fItHCalTowerTrackArray->Next())))
    648     { 
    649       mother = track;
    650       track = static_cast<Candidate*>(track->Clone());
    651       track->AddCandidate(mother);
    652 
    653       track->Momentum *= rescaleFactor;
    654 
    655       fEFlowTrackOutputArray->Add(track);
    656     }
    657   }
    658  
    659  
     643  }
    660644}
    661645
  • modules/Calorimeter.h

    rb9ae4c3 rec5e04b  
    5858  Double_t fTowerEta, fTowerPhi, fTowerEdges[4];
    5959  Double_t fECalTowerEnergy, fHCalTowerEnergy;
    60   Double_t fECalTrackEnergy, fHCalTrackEnergy;
     60  Double_t fECalTrackEnergy[2], fHCalTrackEnergy[2];
    6161
    6262  Double_t fTimingEnergyMin;
     
    7070  Double_t fECalEnergySignificanceMin;
    7171  Double_t fHCalEnergySignificanceMin;
    72 
    73   Double_t fECalTrackSigma;
    74   Double_t fHCalTrackSigma;
    7572
    7673  Bool_t fSmearTowerCenter;
     
    106103  TObjArray *fEFlowNeutralHadronOutputArray; //!
    107104
    108   TObjArray *fECalTowerTrackArray; //!
    109   TIterator *fItECalTowerTrackArray; //!
     105  TObjArray *fECalTowerTrackArray[2]; //!
     106  TIterator *fItECalTowerTrackArray[2]; //!
    110107
    111   TObjArray *fHCalTowerTrackArray; //!
    112   TIterator *fItHCalTowerTrackArray; //!
     108  TObjArray *fHCalTowerTrackArray[2]; //!
     109  TIterator *fItHCalTowerTrackArray[2]; //!
    113110
    114111  void FinalizeTower();
  • modules/ImpactParameterSmearing.cc

    rb9ae4c3 rec5e04b  
    9696{
    9797  Candidate *candidate, *particle, *mother;
    98   Double_t xd, yd, zd, d0, sx, sy, sz, dd0;
     98  Double_t xd, yd, zd, dxy, sx, sy, sz, ddxy;
    9999  Double_t pt, eta, px, py, phi, e;
    100100
     
    103103  {
    104104
    105     // take momentum before smearing (otherwise apply double smearing on d0)
     105    // take momentum before smearing (otherwise apply double smearing on dxy)
    106106    particle = static_cast<Candidate*>(candidate->GetCandidates()->At(0));
    107107
     
    131131
    132132    // calculate impact parameter (after-smearing)
    133     d0 = (xd*py - yd*px)/pt;
     133    dxy = (xd*py - yd*px)/pt;
    134134
    135     dd0 = gRandom->Gaus(0.0, fFormula->Eval(pt, eta, phi, e));
     135    ddxy = gRandom->Gaus(0.0, fFormula->Eval(pt, eta, phi, e));
    136136
    137137    // fill smeared values in candidate
     
    143143    candidate->Zd = zd;
    144144
    145     candidate->D0 = d0;
    146     candidate->ErrorD0 = dd0;
     145    candidate->Dxy = dxy;
     146    candidate->SDxy = ddxy;
    147147
    148148    candidate->AddCandidate(mother);
  • modules/ModulesLinkDef.h

    rb9ae4c3 rec5e04b  
    3535#include "modules/EnergySmearing.h"
    3636#include "modules/MomentumSmearing.h"
    37 #include "modules/TrackSmearing.h"
    3837#include "modules/ImpactParameterSmearing.h"
    3938#include "modules/TimeSmearing.h"
     
    5958#include "modules/StatusPidFilter.h"
    6059#include "modules/PdgCodeFilter.h"
    61 #include "modules/BeamSpotFilter.h"
    6260#include "modules/RecoPuFilter.h"
    6361#include "modules/Cloner.h"
     
    6664#include "modules/JetFlavorAssociation.h"
    6765#include "modules/JetFakeParticle.h"
    68 #include "modules/VertexSorter.h"
    69 #include "modules/VertexFinder.h"
    70 #include "modules/VertexFinderDA4D.h"
    7166#include "modules/ExampleModule.h"
    7267
     
    8681#pragma link C++ class EnergySmearing+;
    8782#pragma link C++ class MomentumSmearing+;
    88 #pragma link C++ class TrackSmearing+;
    8983#pragma link C++ class ImpactParameterSmearing+;
    9084#pragma link C++ class TimeSmearing+;
     
    110104#pragma link C++ class StatusPidFilter+;
    111105#pragma link C++ class PdgCodeFilter+;
    112 #pragma link C++ class BeamSpotFilter+;
    113106#pragma link C++ class RecoPuFilter+;
    114107#pragma link C++ class Cloner+;
     
    117110#pragma link C++ class JetFlavorAssociation+;
    118111#pragma link C++ class JetFakeParticle+;
    119 #pragma link C++ class VertexSorter+;
    120 #pragma link C++ class VertexFinder+;
    121 #pragma link C++ class VertexFinderDA4D+;
    122112#pragma link C++ class ExampleModule+;
    123113
  • modules/MomentumSmearing.cc

    rb9ae4c3 rec5e04b  
    9696{
    9797  Candidate *candidate, *mother;
    98   Double_t pt, eta, phi, e, res;
     98  Double_t pt, eta, phi, e;
    9999
    100100  fItInputArray->Reset();
     
    107107    pt = candidateMomentum.Pt();
    108108    e = candidateMomentum.E();
    109     res = fFormula->Eval(pt, eta, phi, e);
    110  
     109
    111110    // apply smearing formula
    112     //pt = gRandom->Gaus(pt, fFormula->Eval(pt, eta, phi, e) * pt);
     111    pt = gRandom->Gaus(pt, fFormula->Eval(pt, eta, phi, e) * pt);
    113112   
    114     res = ( res > 1.0 ) ? 1.0 : res;
    115 
    116     pt = LogNormal(pt, res * pt );
    117    
    118     //if(pt <= 0.0) continue;
     113    if(pt <= 0.0) continue;
    119114
    120115    mother = candidate;
     
    123118    phi = candidateMomentum.Phi();
    124119    candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt*TMath::CosH(eta));
    125     //candidate->TrackResolution = fFormula->Eval(pt, eta, phi, e);
    126     candidate->TrackResolution = res;
     120    candidate->TrackResolution = fFormula->Eval(pt, eta, phi, e);
    127121    candidate->AddCandidate(mother);
    128122       
     
    130124  }
    131125}
    132 //----------------------------------------------------------------
    133 
    134 Double_t MomentumSmearing::LogNormal(Double_t mean, Double_t sigma)
    135 {
    136   Double_t a, b;
    137 
    138   if(mean > 0.0)
    139   {
    140     b = TMath::Sqrt(TMath::Log((1.0 + (sigma*sigma)/(mean*mean))));
    141     a = TMath::Log(mean) - 0.5*b*b;
    142 
    143     return TMath::Exp(a + b*gRandom->Gaus(0.0, 1.0));
    144   }
    145   else
    146   {
    147     return 0.0;
    148   }
    149 }
    150 
    151126
    152127//------------------------------------------------------------------------------
  • modules/MomentumSmearing.h

    rb9ae4c3 rec5e04b  
    4747private:
    4848
    49   Double_t LogNormal(Double_t mean, Double_t sigma);
    50 
    5149  DelphesFormula *fFormula; //!
    5250
  • modules/ParticlePropagator.cc

    rb9ae4c3 rec5e04b  
    6666{
    6767}
    68 
    6968
    7069//------------------------------------------------------------------------------
     
    9291  fItInputArray = fInputArray->MakeIterator();
    9392
    94   // import beamspot
    95   try
    96   {
    97     fBeamSpotInputArray = ImportArray(GetString("BeamSpotInputArray", "BeamSpotFilter/beamSpotParticle"));
    98   }
    99   catch(runtime_error &e)
    100   {
    101     fBeamSpotInputArray = 0;
    102   }
    10393  // create output arrays
    10494
     
    121111{
    122112  Candidate *candidate, *mother;
    123   TLorentzVector candidatePosition, candidateMomentum, beamSpotPosition;
     113  TLorentzVector candidatePosition, candidateMomentum;
    124114  Double_t px, py, pz, pt, pt2, e, q;
    125115  Double_t x, y, z, t, r, phi;
     
    130120  Double_t tmp, discr, discr2;
    131121  Double_t delta, gammam, omega, asinrho;
    132   Double_t rcu, rc2, xd, yd, zd;
    133   Double_t l, d0, dz, p, ctgTheta, phip, etap, alpha;
    134   Double_t bsx, bsy, bsz;
     122  Double_t rcu, rc2, dxy, xd, yd, zd;
    135123
    136124  const Double_t c_light = 2.99792458E8;
    137 
    138   if (!fBeamSpotInputArray || fBeamSpotInputArray->GetSize () == 0)
    139     beamSpotPosition.SetXYZT(0.0, 0.0, 0.0, 0.0);
    140   else
    141   {
    142     Candidate &beamSpotCandidate = *((Candidate *) fBeamSpotInputArray->At(0));
    143     beamSpotPosition = beamSpotCandidate.Position;
    144   }
    145125
    146126  fItInputArray->Reset();
     
    152132    y = candidatePosition.Y()*1.0E-3;
    153133    z = candidatePosition.Z()*1.0E-3;
    154 
    155     bsx = beamSpotPosition.X()*1.0E-3;
    156     bsy = beamSpotPosition.Y()*1.0E-3;
    157     bsz = beamSpotPosition.Z()*1.0E-3;
    158 
    159134    q = candidate->Charge;
    160135
     
    207182      z_t = z + pz*t;
    208183
    209       l = TMath::Sqrt( (x_t - x)*(x_t - x) + (y_t - y)*(y_t - y) + (z_t - z)*(z_t - z));
    210 
    211184      mother = candidate;
    212185      candidate = static_cast<Candidate*>(candidate->Clone());
    213186
    214       candidate->InitialPosition = candidatePosition;
    215187      candidate->Position.SetXYZT(x_t*1.0E3, y_t*1.0E3, z_t*1.0E3, candidatePosition.T() + t*e*1.0E3);
    216       candidate->L = l*1.0E3;
    217188
    218189      candidate->Momentum = candidateMomentum;
     
    268239      zd = z + (TMath::Sqrt(xd*xd + yd*yd) - TMath::Sqrt(x*x + y*y))*pz/pt;
    269240
    270       // use perigee momentum rather than original particle
    271       // momentum, since the orignal particle momentum isn't known
    272 
    273       px = TMath::Sign(1.0,r) * pt * (-y_c / r_c);
    274       py = TMath::Sign(1.0,r) * pt * (x_c / r_c);
    275       etap = candidateMomentum.Eta();
    276       phip = TMath::ATan2(py, px);
    277 
    278       candidateMomentum.SetPtEtaPhiE(pt, etap, phip, candidateMomentum.E());
    279 
    280       // calculate additional track parameters (correct for beamspot position)
    281 
    282       d0        = (  (x - bsx) * py - (y - bsy) * px) / pt;
    283       dz        = z - ((x - bsx) * px + (y - bsy) * py) / pt * (pz / pt);
    284       p         = candidateMomentum.P();
    285       ctgTheta  = 1.0 / TMath::Tan (candidateMomentum.Theta ());
    286 
     241      // calculate impact paramater
     242      dxy = (xd*py - yd*px)/pt;
    287243
    288244      // 3. time evaluation t = TMath::Min(t_r, t_z)
     
    331287      r_t = TMath::Hypot(x_t, y_t);
    332288
    333 
    334       // compute path length for an helix
    335 
    336       alpha = pz*1.0E9 / c_light / gammam;
    337       l = t * TMath::Sqrt(alpha*alpha + r*r*omega*omega);
    338 
    339289      if(r_t > 0.0)
    340290      {
    341 
    342         // store these variables before cloning
    343         candidate->D0 = d0*1.0E3;
    344         candidate->DZ = dz*1.0E3;
    345         candidate->P  = p;
    346         candidate->PT = pt;
    347         candidate->CtgTheta = ctgTheta;
    348         candidate->Phi = phip;
    349 
    350291        mother = candidate;
    351292        candidate = static_cast<Candidate*>(candidate->Clone());
    352293
    353         candidate->InitialPosition = candidatePosition;
    354294        candidate->Position.SetXYZT(x_t*1.0E3, y_t*1.0E3, z_t*1.0E3, candidatePosition.T() + t*c_light*1.0E3);
    355295
    356296        candidate->Momentum = candidateMomentum;
    357 
    358             candidate->L  =  l*1.0E3;
    359 
    360             candidate->Xd = xd*1.0E3;
     297        candidate->Dxy = dxy*1.0E3;
     298        candidate->Xd = xd*1.0E3;
    361299        candidate->Yd = yd*1.0E3;
    362300        candidate->Zd = zd*1.0E3;
  • modules/ParticlePropagator.h

    rb9ae4c3 rec5e04b  
    3535class TClonesArray;
    3636class TIterator;
    37 class TLorentzVector;
    3837
    3938class ParticlePropagator: public DelphesModule
     
    5655
    5756  const TObjArray *fInputArray; //!
    58   const TObjArray *fBeamSpotInputArray; //!
    5957
    6058  TObjArray *fOutputArray; //!
  • modules/PileUpMerger.cc

    rb9ae4c3 rec5e04b  
    115115  TDatabasePDG *pdg = TDatabasePDG::Instance();
    116116  TParticlePDG *pdgParticle;
    117   Int_t pid, nch, nvtx = -1;
     117  Int_t pid;
    118118  Float_t x, y, z, t, vx, vy;
    119   Float_t px, py, pz, e, pt;
    120   Double_t dz, dphi, dt, sumpt2, dz0, dt0;
     119  Float_t px, py, pz, e;
     120  Double_t dz, dphi, dt;
    121121  Int_t numberOfEvents, event, numberOfParticles;
    122122  Long64_t allEntries, entry;
     
    132132  fFunction->GetRandom2(dz, dt);
    133133
    134   dz0 = -1.0e6;
    135   dt0 = -1.0e6;
    136 
    137134  dt *= c_light*1.0E3; // necessary in order to make t in mm/c
    138135  dz *= 1.0E3; // necessary in order to make z in mm
    139 
    140   //cout<<dz<<","<<dt<<endl;
    141 
    142136  vx = 0.0;
    143137  vy = 0.0;
    144 
    145138  numberOfParticles = fInputArray->GetEntriesFast();
    146   nch = 0;
    147   sumpt2 = 0.0;
    148 
    149   factory = GetFactory();
    150   vertex = factory->NewCandidate();
    151 
    152139  while((candidate = static_cast<Candidate*>(fItInputArray->Next())))
    153140  {
     
    156143    z = candidate->Position.Z();
    157144    t = candidate->Position.T();
    158     pt = candidate->Momentum.Pt();
    159 
    160     // take postion and time from first stable particle
    161     if (dz0 < -999999.0)
    162       dz0 = z;
    163     if (dt0 < -999999.0)
    164       dt0 = t;
    165 
    166     // cancel any possible offset in position and time the input file
    167     candidate->Position.SetZ(z - dz0 + dz);
    168     candidate->Position.SetT(t - dt0 + dt);
    169 
    170     candidate->IsPU = 0;
    171 
     145    candidate->Position.SetZ(z + dz);
     146    candidate->Position.SetT(t + dt);
    172147    fParticleOutputArray->Add(candidate);
    173 
    174     if(TMath::Abs(candidate->Charge) >  1.0E-9)
    175     {
    176       nch++;
    177       sumpt2 += pt*pt;
    178       vertex->AddCandidate(candidate);
    179     }
    180148  }
    181149
    182150  if(numberOfParticles > 0)
    183151  {
    184     vx /= sumpt2;
    185     vy /= sumpt2;
    186   }
    187 
    188   nvtx++;
     152    vx /= numberOfParticles;
     153    vy /= numberOfParticles;
     154  }
     155
     156  factory = GetFactory();
     157
     158  vertex = factory->NewCandidate();
    189159  vertex->Position.SetXYZT(vx, vy, dz, dt);
    190   vertex->ClusterIndex = nvtx;
    191   vertex->ClusterNDF = nch;
    192   vertex->SumPT2 = sumpt2;
    193   vertex->GenSumPT2 = sumpt2;
    194160  fVertexOutputArray->Add(vertex);
    195161
     
    204170      numberOfEvents = gRandom->Integer(2*fMeanPileUp + 1);
    205171      break;
    206     case 2:
    207       numberOfEvents = fMeanPileUp;
    208       break;
    209172    default:
    210173      numberOfEvents = gRandom->Poisson(fMeanPileUp);
     
    213176
    214177  allEntries = fReader->GetEntries();
    215 
    216178
    217179  for(event = 0; event < numberOfEvents; ++event)
     
    236198    vx = 0.0;
    237199    vy = 0.0;
    238 
    239200    numberOfParticles = 0;
    240     sumpt2 = 0.0;
    241 
    242     //factory = GetFactory();
    243     vertex = factory->NewCandidate();
    244 
    245201    while(fReader->ReadParticle(pid, x, y, z, t, px, py, pz, e))
    246202    {
     
    259215      candidate->Momentum.SetPxPyPzE(px, py, pz, e);
    260216      candidate->Momentum.RotateZ(dphi);
    261       pt = candidate->Momentum.Pt();
    262217
    263218      x -= fInputBeamSpotX;
     
    269224      vx += candidate->Position.X();
    270225      vy += candidate->Position.Y();
    271 
    272226      ++numberOfParticles;
    273       if(TMath::Abs(candidate->Charge) >  1.0E-9)
    274       {
    275         nch++;
    276         sumpt2 += pt*pt;
    277         vertex->AddCandidate(candidate);
    278       }
    279227
    280228      fParticleOutputArray->Add(candidate);
     
    287235    }
    288236
    289     nvtx++;
    290 
     237    vertex = factory->NewCandidate();
    291238    vertex->Position.SetXYZT(vx, vy, dz, dt);
    292 
    293     vertex->ClusterIndex = nvtx;
    294     vertex->ClusterNDF = nch;
    295     vertex->SumPT2 = sumpt2;
    296     vertex->GenSumPT2 = sumpt2;
    297 
    298239    vertex->IsPU = 1;
    299240
    300241    fVertexOutputArray->Add(vertex);
    301 
    302   }
    303 }
    304 
    305 //------------------------------------------------------------------------------
     242  }
     243}
     244
     245//------------------------------------------------------------------------------
  • modules/SimpleCalorimeter.cc

    rb9ae4c3 rec5e04b  
    5858  fItParticleInputArray(0), fItTrackInputArray(0)
    5959{
    60  
     60  Int_t i;
     61
    6162  fResolutionFormula = new DelphesFormula;
    62   fTowerTrackArray = new TObjArray;
    63   fItTowerTrackArray = fTowerTrackArray->MakeIterator();
    64  
     63
     64  for(i = 0; i < 2; ++i)
     65  {
     66    fTowerTrackArray[i] = new TObjArray;
     67    fItTowerTrackArray[i] = fTowerTrackArray[i]->MakeIterator();
     68  }
    6569}
    6670
     
    6973SimpleCalorimeter::~SimpleCalorimeter()
    7074{
    71  
     75  Int_t i;
     76
    7277  if(fResolutionFormula) delete fResolutionFormula;
    73   if(fTowerTrackArray) delete fTowerTrackArray;
    74   if(fItTowerTrackArray) delete fItTowerTrackArray;
    75  
     78
     79  for(i = 0; i < 2; ++i)
     80  {
     81    if(fTowerTrackArray[i]) delete fTowerTrackArray[i];
     82    if(fItTowerTrackArray[i]) delete fItTowerTrackArray[i];
     83  }
    7684}
    7785
     
    191199  Double_t energy;
    192200  Double_t sigma;
    193   Double_t energyGuess;
    194 
    195201  Int_t pdgCode;
    196202
     
    334340      fTowerEnergy = 0.0;
    335341
    336       fTrackEnergy = 0.0;
    337       fTrackSigma = 0.0;
     342      fTrackEnergy[0] = 0.0;
     343      fTrackEnergy[1] = 0.0;
    338344
    339345      fTowerTime = 0.0;
     
    345351      fTowerPhotonHits = 0;
    346352
    347       fTowerTrackArray->Clear();
    348      }
     353      fTowerTrackArray[0]->Clear();
     354      fTowerTrackArray[1]->Clear();
     355    }
    349356
    350357    // check for track hits
     
    364371      if(fTrackFractions[number] > 1.0E-9)
    365372      {
    366              
    367        // compute total charged energy   
    368        fTrackEnergy += energy;
    369        sigma = fResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E());
    370        if(sigma/momentum.E() < track->TrackResolution) energyGuess = energy;
    371        else energyGuess = momentum.E();
    372 
    373        fTrackSigma += ((track->TrackResolution)*energyGuess)*((track->TrackResolution)*energyGuess);
    374        fTowerTrackArray->Add(track);
     373        sigma = fResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E());
     374        if(sigma/momentum.E() < track->TrackResolution)
     375        {
     376          fTrackEnergy[0] += energy;
     377          fTowerTrackArray[0]->Add(track);
     378        }
     379        else
     380        {
     381          fTrackEnergy[1] += energy;
     382          fTowerTrackArray[1]->Add(track);
     383        }
    375384      }
    376        
    377385      else
    378386      {
     
    395403    fTowerEnergy += energy;
    396404
    397     fTowerTime += energy*position.T();
    398     fTowerTimeWeight += energy;
     405    fTowerTime += TMath::Sqrt(energy)*position.T();
     406    fTowerTimeWeight += TMath::Sqrt(energy);
    399407
    400408    fTower->AddCandidate(particle);
     
    410418{
    411419  Candidate *tower, *track, *mother;
    412   Double_t energy,neutralEnergy, pt, eta, phi;
    413   Double_t sigma, neutralSigma;
     420  Double_t energy, pt, eta, phi;
     421  Double_t sigma;
    414422  Double_t time;
    415    
    416   Double_t weightTrack, weightCalo, bestEnergyEstimate, rescaleFactor;
    417423
    418424  TLorentzVector momentum;
     
    430436
    431437  if(energy < fEnergyMin || energy < fEnergySignificanceMin*sigma) energy = 0.0;
    432 
    433438
    434439  if(fSmearTowerCenter)
     
    459464  if(energy > 0.0) fTowerOutputArray->Add(fTower);
    460465
    461  
    462   // e-flow candidates
    463 
    464   //compute neutral excess
    465  
    466   fTrackSigma = TMath::Sqrt(fTrackSigma);
    467   neutralEnergy = max( (energy - fTrackEnergy) , 0.0);
    468  
    469   //compute sigma_trk total
    470   neutralSigma = neutralEnergy / TMath::Sqrt(fTrackSigma*fTrackSigma+ sigma*sigma);
    471    
    472   // if neutral excess is significant, simply create neutral Eflow tower and clone each track into eflowtrack
    473   if(neutralEnergy > fEnergyMin && neutralSigma > fEnergySignificanceMin)
     466  // fill e-flow candidates
     467
     468  energy -= fTrackEnergy[1];
     469
     470  fItTowerTrackArray[0]->Reset();
     471  while((track = static_cast<Candidate*>(fItTowerTrackArray[0]->Next())))
     472  {
     473    mother = track;
     474    track = static_cast<Candidate*>(track->Clone());
     475    track->AddCandidate(mother);
     476
     477    track->Momentum *= energy/fTrackEnergy[0];
     478
     479    fEFlowTrackOutputArray->Add(track);
     480  }
     481
     482  fItTowerTrackArray[1]->Reset();
     483  while((track = static_cast<Candidate*>(fItTowerTrackArray[1]->Next())))
     484  {
     485    mother = track;
     486    track = static_cast<Candidate*>(track->Clone());
     487    track->AddCandidate(mother);
     488
     489    fEFlowTrackOutputArray->Add(track);
     490  }
     491
     492  if(fTowerTrackArray[0]->GetEntriesFast() > 0) energy = 0.0;
     493
     494  sigma = fResolutionFormula->Eval(0.0, fTowerEta, 0.0, energy);
     495  if(energy < fEnergyMin || energy < fEnergySignificanceMin*sigma) energy = 0.0;
     496
     497  // save energy excess as an energy flow tower
     498  if(energy > 0.0)
    474499  {
    475500    // create new photon tower
    476501    tower = static_cast<Candidate*>(fTower->Clone());
    477     pt = neutralEnergy / TMath::CosH(eta);
    478 
    479     tower->Eem = (!fIsEcal) ? 0 : neutralEnergy;
    480     tower->Ehad = (fIsEcal) ? 0 : neutralEnergy;
     502    pt = energy / TMath::CosH(eta);
     503
     504    tower->Eem = (!fIsEcal) ? 0 : energy;
     505    tower->Ehad = (fIsEcal) ? 0 : energy;
     506   
     507    tower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy);
     508   
    481509    tower->PID = (fIsEcal) ? 22 : 0;
    482  
    483     tower->Momentum.SetPtEtaPhiE(pt, eta, phi, neutralEnergy);
     510   
    484511    fEFlowTowerOutputArray->Add(tower);
    485    
    486     fItTowerTrackArray->Reset();
    487     while((track = static_cast<Candidate*>(fItTowerTrackArray->Next())))
    488     {
    489       mother = track;
    490       track = static_cast<Candidate*>(track->Clone());
    491       track->AddCandidate(mother);
    492 
    493       fEFlowTrackOutputArray->Add(track);
    494     }
    495   }
    496    
    497   // if neutral excess is not significant, rescale eflow tracks, such that the total charged equals the best measurement given by the calorimeter and tracking
    498   else if (fTrackEnergy > 0.0)
    499   {
    500     weightTrack = (fTrackSigma > 0.0) ? 1 / (fTrackSigma*fTrackSigma) : 0.0;
    501     weightCalo  = (sigma > 0.0) ? 1 / (sigma*sigma) : 0.0;
    502  
    503     bestEnergyEstimate = (weightTrack*fTrackEnergy + weightCalo*energy) / (weightTrack + weightCalo);
    504     rescaleFactor = bestEnergyEstimate/fTrackEnergy;
    505    
    506     fItTowerTrackArray->Reset();
    507     while((track = static_cast<Candidate*>(fItTowerTrackArray->Next())))
    508     {
    509       mother = track;
    510       track = static_cast<Candidate*>(track->Clone());
    511       track->AddCandidate(mother);
    512 
    513       track->Momentum *= rescaleFactor;
    514 
    515       fEFlowTrackOutputArray->Add(track);
    516     }
    517   }
    518    
    519  }
     512  }
     513}
    520514
    521515//------------------------------------------------------------------------------
  • modules/SimpleCalorimeter.h

    rb9ae4c3 rec5e04b  
    5959  Double_t fTowerEta, fTowerPhi, fTowerEdges[4];
    6060  Double_t fTowerEnergy;
    61   Double_t fTrackEnergy;
     61  Double_t fTrackEnergy[2];
    6262
    6363  Double_t fTowerTime;
     
    7272
    7373  Double_t fEnergySignificanceMin;
    74 
    75   Double_t fTrackSigma;
    7674
    7775  Bool_t fSmearTowerCenter;
     
    104102  TObjArray *fEFlowTowerOutputArray; //!
    105103
    106   TObjArray *fTowerTrackArray; //!
    107   TIterator *fItTowerTrackArray; //!
     104  TObjArray *fTowerTrackArray[2]; //!
     105  TIterator *fItTowerTrackArray[2]; //!
    108106
    109107  void FinalizeTower();
  • modules/TimeSmearing.cc

    rb9ae4c3 rec5e04b  
    9393{
    9494  Candidate *candidate, *mother;
    95   Double_t ti, tf_smeared, tf;
     95  Double_t t;
    9696  const Double_t c_light = 2.99792458E8;
    9797
     
    9999  while((candidate = static_cast<Candidate*>(fItInputArray->Next())))
    100100  {
    101     const TLorentzVector &candidateInitialPosition = candidate->InitialPosition;
    102     const TLorentzVector &candidateFinalPosition = candidate->Position;
    103 
    104     ti = candidateInitialPosition.T()*1.0E-3/c_light;
    105     tf = candidateFinalPosition.T()*1.0E-3/c_light;
     101    const TLorentzVector &candidatePosition = candidate->Position;
     102    t = candidatePosition.T()*1.0E-3/c_light;
    106103
    107104    // apply smearing formula
    108     tf_smeared = gRandom->Gaus(tf, fTimeResolution);
    109     ti = ti + tf_smeared - tf;
     105    t = gRandom->Gaus(t, fTimeResolution);
    110106
    111107    mother = candidate;
    112108    candidate = static_cast<Candidate*>(candidate->Clone());
    113     candidate->InitialPosition.SetT(ti*1.0E3*c_light);
    114     candidate->Position.SetT(tf*1.0E3*c_light);
    115 
    116     candidate->ErrorT = fTimeResolution*1.0E3*c_light;
     109    candidate->Position.SetT(t*1.0E3*c_light);
    117110
    118111    candidate->AddCandidate(mother);
  • modules/TrackCountingBTagging.cc

    rb9ae4c3 rec5e04b  
    9696
    9797  Double_t jpx, jpy;
    98   Double_t dr, tpt;
    99   Double_t xd, yd, d0, dd0, ip, sip;
     98  Double_t dr, tpx, tpy, tpt;
     99  Double_t xd, yd, dxy, ddxy, ip, sip;
    100100
    101101  Int_t sign;
     
    117117    {
    118118      const TLorentzVector &trkMomentum = track->Momentum;
    119      
     119
    120120      dr = jetMomentum.DeltaR(trkMomentum);
     121
    121122      tpt = trkMomentum.Pt();
     123      tpx = trkMomentum.Px();
     124      tpy = trkMomentum.Py();
     125
    122126      xd = track->Xd;
    123127      yd = track->Yd;
    124       d0 = TMath::Hypot(xd, yd);
    125       dd0 = track->ErrorD0;
     128      dxy = TMath::Hypot(xd, yd);
     129      ddxy = track->SDxy;
    126130
    127131      if(tpt < fPtMin) continue;
    128132      if(dr > fDeltaR) continue;
    129       if(d0 > fIPmax) continue;
     133      if(dxy > fIPmax) continue;
    130134
    131135      sign = (jpx*xd + jpy*yd > 0.0) ? 1 : -1;
    132136
    133       ip = sign*d0;
    134       sip = ip / TMath::Abs(dd0);
     137      ip = sign*dxy;
     138      sip = ip / TMath::Abs(ddxy);
    135139
    136140      if(sip > fSigMin) count++;
  • modules/TreeWriter.cc

    rb9ae4c3 rec5e04b  
    215215    entry->Pz = momentum.Pz();
    216216
    217     entry->D0            = candidate->D0;
    218     entry->DZ            = candidate->DZ;
    219     entry->P             = candidate->P;
    220     entry->PT            = candidate->PT;
    221     entry->CtgTheta      = candidate->CtgTheta;
    222     entry->Phi           = candidate->Phi;
    223 
    224217    entry->Eta = eta;
    225218    entry->Phi = momentum.Phi();
     
    240233{
    241234  TIter iterator(array);
    242   Candidate *candidate = 0, *constituent = 0;
     235  Candidate *candidate = 0;
    243236  Vertex *entry = 0;
    244237
    245238  const Double_t c_light = 2.99792458E8;
    246239
    247   Double_t x, y, z, t, xError, yError, zError, tError, sigma, sumPT2, btvSumPT2, genDeltaZ, genSumPT2;
    248   UInt_t index, ndf;
    249 
    250   CompBase *compare = Candidate::fgCompare;
    251   Candidate::fgCompare = CompSumPT2<Candidate>::Instance();
    252   array->Sort();
    253   Candidate::fgCompare = compare;
    254 
    255240  // loop over all vertices
    256241  iterator.Reset();
    257242  while((candidate = static_cast<Candidate*>(iterator.Next())))
    258243  {
    259 
    260     index = candidate->ClusterIndex;
    261     ndf = candidate->ClusterNDF;
    262     sigma = candidate->ClusterSigma;
    263     sumPT2 = candidate->SumPT2;
    264     btvSumPT2 = candidate->BTVSumPT2;
    265     genDeltaZ = candidate->GenDeltaZ;
    266     genSumPT2 = candidate->GenSumPT2;
    267 
    268     x = candidate->Position.X();
    269     y = candidate->Position.Y();
    270     z = candidate->Position.Z();
    271     t = candidate->Position.T()*1.0E-3/c_light;
    272 
    273     xError = candidate->PositionError.X ();
    274     yError = candidate->PositionError.Y ();
    275     zError = candidate->PositionError.Z ();
    276     tError = candidate->PositionError.T ()*1.0E-3/c_light;
     244    const TLorentzVector &position = candidate->Position;
    277245
    278246    entry = static_cast<Vertex*>(branch->NewEntry());
    279247
    280     entry->Index = index;
    281     entry->NDF = ndf;
    282     entry->Sigma = sigma;
    283     entry->SumPT2 = sumPT2;
    284     entry->BTVSumPT2 = btvSumPT2;
    285     entry->GenDeltaZ = genDeltaZ;
    286     entry->GenSumPT2 = genSumPT2;
    287 
    288     entry->X = x;
    289     entry->Y = y;
    290     entry->Z = z;
    291     entry->T = t;
    292 
    293     entry->ErrorX = xError;
    294     entry->ErrorY = yError;
    295     entry->ErrorZ = zError;
    296     entry->ErrorT = tError;
    297 
    298 
    299     TIter itConstituents(candidate->GetCandidates());
    300     itConstituents.Reset();
    301     entry->Constituents.Clear();
    302     while((constituent = static_cast<Candidate*>(itConstituents.Next())))
    303     {
    304       entry->Constituents.Add(constituent);
    305     }
    306 
    307   }
    308 }
    309 
     248    entry->X = position.X();
     249    entry->Y = position.Y();
     250    entry->Z = position.Z();
     251    entry->T = position.T()*1.0E-3/c_light;
     252  }
     253}
    310254
    311255//------------------------------------------------------------------------------
     
    317261  Candidate *particle = 0;
    318262  Track *entry = 0;
    319   Double_t pt, signz, cosTheta, eta, rapidity, p, ctgTheta, phi;
     263  Double_t pt, signz, cosTheta, eta, rapidity;
    320264  const Double_t c_light = 2.99792458E8;
    321265
     
    348292    entry->TOuter = position.T()*1.0E-3/c_light;
    349293
    350     entry->L = candidate->L;
    351 
    352     entry->D0            = candidate->D0;
    353     entry->ErrorD0       = candidate->ErrorD0;
    354     entry->DZ            = candidate->DZ;
    355     entry->ErrorDZ       = candidate->ErrorDZ;
    356 
    357     entry->ErrorP        = candidate->ErrorP;
    358     entry->ErrorPT       = candidate->ErrorPT;
    359     entry->ErrorCtgTheta = candidate->ErrorCtgTheta;
    360     entry->ErrorPhi      = candidate->ErrorPhi;
    361 
     294    entry->Dxy = candidate->Dxy;
     295    entry->SDxy = candidate->SDxy ;
    362296    entry->Xd = candidate->Xd;
    363297    entry->Yd = candidate->Yd;
     
    367301
    368302    pt = momentum.Pt();
    369     p = momentum.P();
    370     phi = momentum.Phi();
    371     ctgTheta = (TMath::Tan(momentum.Theta()) != 0) ? 1/TMath::Tan(momentum.Theta()) : 1e10;
    372 
    373303    cosTheta = TMath::Abs(momentum.CosTheta());
    374304    signz = (momentum.Pz() >= 0.0) ? 1.0 : -1.0;
     
    376306    rapidity = (cosTheta == 1.0 ? signz*999.9 : momentum.Rapidity());
    377307
    378     entry->PT  = pt;
    379308    entry->Eta = eta;
    380     entry->Phi = phi;
    381     entry->CtgTheta = ctgTheta;
     309    entry->Phi = momentum.Phi();
     310    entry->PT = pt;
    382311
    383312    particle = static_cast<Candidate*>(candidate->GetCandidates()->At(0));
     
    390319
    391320    entry->Particle = particle;
    392 
    393     entry->VertexIndex = candidate->ClusterIndex;
    394 
    395321  }
    396322}
  • readers/DelphesCMSFWLite.cpp

    rb9ae4c3 rec5e04b  
    272272
    273273    branchEvent = treeWriter->NewBranch("Event", HepMCEvent::Class());
    274     branchRwgt = treeWriter->NewBranch("Weight", Weight::Class());
     274    branchRwgt = treeWriter->NewBranch("Rwgt", Weight::Class());
    275275
    276276    confReader = new ExRootConfReader;
  • readers/DelphesPythia8.cpp

    rb9ae4c3 rec5e04b  
    153153// from pythia8 example 21
    154154
    155 void fillParticle(int id, double pt_max, double eta_max,
    156   Pythia8::Event &event, Pythia8::ParticleData &pdt, Pythia8::Rndm &rndm)
    157 {
     155void fillParticle(int id, double ee_max, double thetaIn, double phiIn,
     156  Pythia8::Event& event, Pythia8::ParticleData& pdt, Pythia8::Rndm& rndm, bool atRest = false) {
     157
    158158  // Reset event record to allow for new event.
    159159  event.reset();
    160160
    161   // Generate uniform pt and eta.
    162   double pt, eta, phi, pp, ee, mm;
    163   pt = pow(10, 1.0 + (log10(pt_max) - 1.0) * rndm.flat());
    164   eta = (2.0 * rndm.flat() - 1.0) * eta_max;
    165   phi = 2.0 * M_PI * rndm.flat();
    166   pp = pt * cosh(eta);
    167   mm = pdt.mSel(id);
    168   ee = Pythia8::sqrtpos(pp*pp + mm*mm);
     161  // Angles uniform in solid angle.
     162  double cThe, sThe, phi, ee;
     163  cThe = 2. * rndm.flat() - 1.;
     164  sThe = Pythia8::sqrtpos(1. - cThe * cThe);
     165  phi = 2. * M_PI * rndm.flat();
     166  ee = pow(10,1+(log10(ee_max)-1)*rndm.flat());
     167  double mm = pdt.mSel(id);
     168  double pp = Pythia8::sqrtpos(ee*ee - mm*mm);
    169169
    170170  // Store the particle in the event record.
    171   event.append(id, 1, 0, 0, pt * cos(phi), pt * sin(phi), pt * sinh(eta), ee, mm);
     171  event.append( id, 1, 0, 0, pp * sThe * cos(phi), pp * sThe * sin(phi), pp * cThe, ee, mm);
     172
    172173}
    173174
    174 void fillPartons(int id, double pt_max, double eta_max,
    175   Pythia8::Event &event, Pythia8::ParticleData &pdt, Pythia8::Rndm &rndm)
    176 {
     175void fillPartons(int type, double ee_max, Pythia8::Event& event, Pythia8::ParticleData& pdt,
     176  Pythia8::Rndm& rndm) {
    177177
    178178  // Reset event record to allow for new event.
    179179  event.reset();
    180180
     181  // Angles uniform in solid angle.
     182  double cThe, sThe, phi, ee;
     183
    181184  // Information on a q qbar system, to be hadronized.
    182185
    183   // Generate uniform pt and eta.
    184   double pt, eta, phi, pp, ee, mm;
    185   pt = pow(10, 1.0 + (log10(pt_max) - 1.0) * rndm.flat());
    186   eta = (2.0 * rndm.flat() - 1.0) * eta_max;
    187   phi = 2.0 * M_PI * rndm.flat();
    188   pp = pt * cosh(eta);
    189   mm = pdt.m0(id);
    190   ee = Pythia8::sqrtpos(pp*pp + mm*mm);
    191 
    192   if(id == 21)
    193   {
    194     event.append(21, 23, 101, 102, pt * cos(phi), pt * sin(phi), pt * sinh(eta), ee);
    195     event.append(21, 23, 102, 101, -pt * cos(phi), -pt * sin(phi), -pt * sinh(eta), ee);
     186  cThe = 2. * rndm.flat() - 1.;
     187  sThe = Pythia8::sqrtpos(1. - cThe * cThe);
     188  phi = 2. * M_PI * rndm.flat();
     189  ee = pow(10,1+(log10(ee_max)-1)*rndm.flat());
     190  double mm = pdt.m0(type);
     191  double pp = Pythia8::sqrtpos(ee*ee - mm*mm);
     192  if (type == 21)
     193  {
     194    event.append( 21, 23, 101, 102, pp * sThe * cos(phi), pp * sThe * sin(phi), pp * cThe, ee);
     195    event.append( 21, 23, 102, 101, -pp * sThe * cos(phi), -pp * sThe * sin(phi), -pp * cThe, ee);
    196196  }
    197197  else
    198198  {
    199     event.append(id, 23, 101, 0, pt * cos(phi), pt * sin(phi), pt * sinh(eta), ee, mm);
    200     event.append(-id, 23, 0, 101, -pt * cos(phi), -pt * sin(phi), -pt * sinh(eta), ee, mm);
     199    event.append(  type, 23, 101,   0, pp * sThe * cos(phi), pp * sThe * sin(phi), pp * cThe, ee, mm);
     200    event.append( -type, 23,   0, 101, -pp * sThe * cos(phi), -pp * sThe * sin(phi), -pp * cThe, ee, mm);
    201201  }
    202202}
     
    338338      if (pythia->flag("Main:spareFlag1"))
    339339      {
    340         if (pythia->mode("Main:spareMode1") == 11 || pythia->mode("Main:spareMode1") == 13 || pythia->mode("Main:spareMode1") == 15 || pythia->mode("Main:spareMode1") == 22)
     340        if (pythia->mode("Main:spareMode1") == 11 || pythia->mode("Main:spareMode1") == 13 || pythia->mode("Main:spareMode1") == 22)
    341341        {
    342           fillParticle(pythia->mode("Main:spareMode1"), pythia->parm("Main:spareParm1"), pythia->parm("Main:spareParm2"), pythia->event, pythia->particleData, pythia->rndm);
     342          fillParticle( pythia->mode("Main:spareMode1"), pythia->parm("Main:spareParm1"), -1., 0.,pythia->event, pythia->particleData, pythia->rndm, 0);
    343343        }
    344         else
    345         {
    346           fillPartons(pythia->mode("Main:spareMode1"), pythia->parm("Main:spareParm1"), pythia->parm("Main:spareParm2"), pythia->event, pythia->particleData, pythia->rndm);
    347         }
     344        else fillPartons( pythia->mode("Main:spareMode1"), pythia->parm("Main:spareParm1"), pythia->event, pythia->particleData, pythia->rndm);
    348345      }
    349346
Note: See TracChangeset for help on using the changeset viewer.