Fork me on GitHub

Changes in / [ae061c1:5a69ba1d] in git


Ignore:
Files:
3 added
9 edited

Legend:

Unmodified
Added
Removed
  • cards/FCC/FCChh.tcl

    rae061c1 r5a69ba1d  
    44#  Main authors:  Michele Selvaggi (CERN)
    55#
    6 #  Released on: Apr. 6th, 2017
     6#  Released on: Dec. 1st, 2017
    77#
    88#  Configuration: FCC-hh baseline detector
     
    1313
    1414set ExecutionPath {
    15 
     15 
    1616  ParticlePropagator
    1717
     
    2424  MuonMomentumSmearing
    2525
     26  DenseProp
     27  DenseMergeTracks
     28  TrackMergerProp 
    2629  TrackMerger
    2730
     
    4851  GenMissingET
    4952
    50   GenJetFinder
    51   FastJetFinder
    52   FatJetFinder
     53  GenJetFinder02
     54  GenJetFinder04
     55  GenJetFinder08
     56
     57  FastJetFinder02
     58  FastJetFinder04
     59  FastJetFinder08
     60
     61  CaloJetFinder02
     62  CaloJetFinder04
     63  CaloJetFinder08
     64
     65  TrackJetFinder02
     66  TrackJetFinder04
     67  TrackJetFinder08
    5368
    5469  JetEnergyScale
     
    6782}
    6883
     84#
    6985#################################
    7086# Propagate particles in cylinder
     
    7389module ParticlePropagator ParticlePropagator {
    7490  set InputArray Delphes/stableParticles
    75 
    7691  set OutputArray stableParticles
    7792  set ChargedHadronOutputArray chargedHadrons
     
    187202}
    188203
     204
    189205##############
    190206# Track merger
    191207##############
    192208
    193 module Merger TrackMerger {
     209module Merger TrackMergerProp {
    194210# add InputArray InputArray
    195211  add InputArray ChargedHadronMomentumSmearing/chargedHadrons
     
    198214  set OutputArray tracks
    199215}
     216
     217
     218#################################
     219# Dense Track propagation
     220#################################
     221
     222module ParticlePropagator DenseProp {
     223  set InputArray Delphes/stableParticles
     224
     225  set OutputArray stableParticles
     226  set NeutralOutputArray neutralParticles
     227  set ChargedHadronOutputArray chargedHadrons
     228  set ElectronOutputArray electrons
     229  set MuonOutputArray muons
     230
     231  # radius of the magnetic field coverage, in m
     232  set Radius 0.45
     233  set RadiusMax 1.5
     234  # half-length of the magnetic field coverage, in m
     235  set HalfLength 0.8
     236  set HalfLengthMax 5
     237
     238  # magnetic field
     239  set Bz 4.0
     240}
     241
     242####################
     243# Dense Track merger
     244###################
     245
     246module Merger DenseMergeTracks {
     247# add InputArray InputArray
     248  add InputArray DenseProp/chargedHadrons
     249  add InputArray DenseProp/electrons
     250  add InputArray DenseProp/muons
     251  set OutputArray tracks
     252}
     253
     254
     255######################
     256#   Dense Track Filter
     257######################
     258
     259module DenseTrackFilter TrackMerger {
     260  set TrackInputArray TrackMergerProp/tracks
     261  set DenseChargedInputArray DenseMergeTracks/tracks
     262
     263  set TrackOutputArray tracks
     264
     265  set EtaPhiRes 0.001
     266  set EtaMax 6.0
     267
     268  set pi [expr {acos(-1)}]
     269
     270  set nbins_phi [expr {$pi/$EtaPhiRes} ]
     271  set nbins_phi [expr {int($nbins_phi)} ]
     272
     273  set PhiBins {}
     274  for {set i -$nbins_phi} {$i <= $nbins_phi} {incr i} {
     275    add PhiBins [expr {$i * $pi/$nbins_phi}]
     276  }
     277
     278  set nbins_eta [expr {$EtaMax/$EtaPhiRes} ]
     279  set nbins_eta [expr {int($nbins_eta)} ]
     280
     281  for {set i -$nbins_eta} {$i <= $nbins_eta} {incr i} {
     282    set eta [expr {$i * $EtaPhiRes}]
     283    add EtaPhiBins $eta $PhiBins
     284  }
     285}
     286
     287
    200288
    201289#############
     
    400488  add InputArray ECal/ecalTowers
    401489  add InputArray HCal/hcalTowers
     490  add InputArray MuonMomentumSmearing/muons
    402491  set OutputArray towers
    403492}
     
    473562
    474563
     564#########################
     565# Gen Missing ET merger
     566########################
     567
     568module Merger GenMissingET {
     569
     570# add InputArray InputArray
     571  add InputArray NeutrinoFilter/filteredParticles
     572  set MomentumOutputArray momentum
     573}
     574
     575
    475576#####################
    476577# MC truth jet finder
     
    479580# TBC: is jet radius fine?
    480581
    481 module FastJetFinder GenJetFinder {
    482 #  set InputArray NeutrinoFilter/filteredParticles
    483   set InputArray Delphes/stableParticles
     582module FastJetFinder GenJetFinder02 {
     583  set InputArray NeutrinoFilter/filteredParticles
     584
     585  set OutputArray jets
     586
     587  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     588  set JetAlgorithm 6
     589  set ParameterR 0.2
     590
     591  set ComputeNsubjettiness 1
     592  set Beta 1.0
     593  set AxisMode 4
     594
     595  set ComputeSoftDrop 1
     596  set BetaSoftDrop 0.0
     597  set SymmetryCutSoftDrop 0.1
     598  set R0SoftDrop 0.2
     599
     600  set JetPTMin 25.0
     601}
     602
     603
     604#####################
     605# MC truth jet finder
     606#####################
     607
     608# TBC: is jet radius fine?
     609
     610module FastJetFinder GenJetFinder04 {
     611  set InputArray NeutrinoFilter/filteredParticles
    484612
    485613  set OutputArray jets
     
    489617  set ParameterR 0.4
    490618
    491   set JetPTMin 5.0
    492 }
    493 
    494 #########################
    495 # Gen Missing ET merger
    496 ########################
    497 
    498 module Merger GenMissingET {
    499 
    500 # add InputArray InputArray
    501   add InputArray NeutrinoFilter/filteredParticles
    502   set MomentumOutputArray momentum
    503 }
    504 
    505 
    506 
    507 ############
    508 # Jet finder
    509 ############
    510 
    511 # TBC need to include jet substructure variables
    512 # TBC is jet radius fine?
    513 
    514 module FastJetFinder FastJetFinder {
    515 #  set InputArray Calorimeter/towers
    516   set InputArray EFlowMerger/eflow
    517 
    518   set OutputArray jets
    519 
    520   # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
    521   # 7: anti-kt with winner-take-all axis (for N-subjettiness), 8 N-jettiness
    522 
    523   set JetAlgorithm 6
    524   set ParameterR 0.4
    525 
    526   set JetPTMin 30.0
    527 }
    528 
    529 ##################
    530 # Fat Jet finder
    531 ##################
    532 
    533 module FastJetFinder FatJetFinder {
    534   set InputArray EFlowMerger/eflow
     619  set ComputeNsubjettiness 1
     620  set Beta 1.0
     621  set AxisMode 4
     622
     623  set ComputeSoftDrop 1
     624  set BetaSoftDrop 0.0
     625  set SymmetryCutSoftDrop 0.1
     626  set R0SoftDrop 0.4
     627
     628  set JetPTMin 25.0
     629}
     630#####################
     631# MC truth jet finder
     632#####################
     633
     634# TBC: is jet radius fine?
     635
     636module FastJetFinder GenJetFinder08 {
     637  set InputArray NeutrinoFilter/filteredParticles
    535638
    536639  set OutputArray jets
     
    543646  set Beta 1.0
    544647  set AxisMode 4
    545 
    546   set ComputeTrimming 1
    547   set RTrim 0.2
    548   set PtFracTrim 0.05
    549 
    550   set ComputePruning 1
    551   set ZcutPrun 0.1
    552   set RcutPrun 0.5
    553   set RPrun 0.8
    554648
    555649  set ComputeSoftDrop 1
     
    558652  set R0SoftDrop 0.8
    559653
    560   set JetPTMin 200.0
     654  set JetPTMin 25.0
     655}
     656
     657
     658##################
     659# Fast Jet finder
     660##################
     661
     662module FastJetFinder FastJetFinder02 {
     663  set InputArray EFlowMerger/eflow
     664
     665  set OutputArray jets
     666
     667  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     668  set JetAlgorithm 6
     669  set ParameterR 0.2
     670
     671  set ComputeNsubjettiness 1
     672  set Beta 1.0
     673  set AxisMode 4
     674
     675  set ComputeSoftDrop 1
     676  set BetaSoftDrop 0.0
     677  set SymmetryCutSoftDrop 0.1
     678  set R0SoftDrop 0.2
     679
     680  set JetPTMin 25.0
     681}
     682
     683##################
     684# Fast Jet finder
     685##################
     686
     687module FastJetFinder FastJetFinder04 {
     688  set InputArray EFlowMerger/eflow
     689
     690  set OutputArray jets
     691
     692  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     693  set JetAlgorithm 6
     694  set ParameterR 0.4
     695
     696  set ComputeNsubjettiness 1
     697  set Beta 1.0
     698  set AxisMode 4
     699
     700  set ComputeSoftDrop 1
     701  set BetaSoftDrop 0.0
     702  set SymmetryCutSoftDrop 0.1
     703  set R0SoftDrop 0.4
     704
     705  set JetPTMin 25.0
     706}
     707
     708
     709##################
     710# Fast Jet finder
     711##################
     712
     713module FastJetFinder FastJetFinder08 {
     714  set InputArray EFlowMerger/eflow
     715
     716  set OutputArray jets
     717
     718  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     719  set JetAlgorithm 6
     720  set ParameterR 0.8
     721
     722  set ComputeNsubjettiness 1
     723  set Beta 1.0
     724  set AxisMode 4
     725
     726  set ComputeSoftDrop 1
     727  set BetaSoftDrop 0.0
     728  set SymmetryCutSoftDrop 0.1
     729  set R0SoftDrop 0.8
     730
     731  set JetPTMin 25.0
     732}
     733
     734
     735
     736##################
     737# Fast Jet finder
     738##################
     739
     740module FastJetFinder CaloJetFinder02 {
     741  set InputArray Calorimeter/towers
     742
     743  set OutputArray jets
     744
     745  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     746  set JetAlgorithm 6
     747  set ParameterR 0.2
     748
     749  set ComputeNsubjettiness 1
     750  set Beta 1.0
     751  set AxisMode 4
     752
     753  set ComputeSoftDrop 1
     754  set BetaSoftDrop 0.0
     755  set SymmetryCutSoftDrop 0.1
     756  set R0SoftDrop 0.2
     757
     758  set JetPTMin 25.0
     759}
     760
     761##################
     762# Fast Jet finder
     763##################
     764
     765module FastJetFinder CaloJetFinder04 {
     766  set InputArray Calorimeter/towers
     767
     768  set OutputArray jets
     769
     770  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     771  set JetAlgorithm 6
     772  set ParameterR 0.4
     773
     774  set ComputeNsubjettiness 1
     775  set Beta 1.0
     776  set AxisMode 4
     777
     778  set ComputeSoftDrop 1
     779  set BetaSoftDrop 0.0
     780  set SymmetryCutSoftDrop 0.1
     781  set R0SoftDrop 0.4
     782
     783  set JetPTMin 25.0
     784}
     785
     786
     787##################
     788# Fast Jet finder
     789##################
     790
     791module FastJetFinder CaloJetFinder08 {
     792  set InputArray Calorimeter/towers
     793
     794  set OutputArray jets
     795
     796  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     797  set JetAlgorithm 6
     798  set ParameterR 0.8
     799
     800  set ComputeNsubjettiness 1
     801  set Beta 1.0
     802  set AxisMode 4
     803
     804  set ComputeSoftDrop 1
     805  set BetaSoftDrop 0.0
     806  set SymmetryCutSoftDrop 0.1
     807  set R0SoftDrop 0.8
     808
     809  set JetPTMin 25.0
     810}
     811
     812
     813##################
     814# Fast Jet finder
     815##################
     816
     817module FastJetFinder TrackJetFinder02 {
     818  set InputArray TrackMerger/tracks
     819
     820  set OutputArray jets
     821
     822  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     823  set JetAlgorithm 6
     824  set ParameterR 0.2
     825
     826  set ComputeNsubjettiness 1
     827  set Beta 1.0
     828  set AxisMode 4
     829
     830  set ComputeSoftDrop 1
     831  set BetaSoftDrop 0.0
     832  set SymmetryCutSoftDrop 0.1
     833  set R0SoftDrop 0.2
     834
     835  set JetPTMin 25.0
     836}
     837
     838##################
     839# Fast Jet finder
     840##################
     841
     842module FastJetFinder TrackJetFinder04 {
     843  set InputArray TrackMerger/tracks
     844
     845  set OutputArray jets
     846
     847  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     848  set JetAlgorithm 6
     849  set ParameterR 0.4
     850
     851  set ComputeNsubjettiness 1
     852  set Beta 1.0
     853  set AxisMode 4
     854
     855  set ComputeSoftDrop 1
     856  set BetaSoftDrop 0.0
     857  set SymmetryCutSoftDrop 0.1
     858  set R0SoftDrop 0.4
     859
     860  set JetPTMin 25.0
     861}
     862
     863
     864##################
     865# Fast Jet finder
     866##################
     867
     868module FastJetFinder TrackJetFinder08 {
     869  set InputArray TrackMerger/tracks
     870
     871  set OutputArray jets
     872
     873  # algorithm: 1 CDFJetClu, 2 MidPoint, 3 SIScone, 4 kt, 5 Cambridge/Aachen, 6 antikt
     874  set JetAlgorithm 6
     875  set ParameterR 0.8
     876
     877  set ComputeNsubjettiness 1
     878  set Beta 1.0
     879  set AxisMode 4
     880
     881  set ComputeSoftDrop 1
     882  set BetaSoftDrop 0.0
     883  set SymmetryCutSoftDrop 0.1
     884  set R0SoftDrop 0.8
     885
     886  set JetPTMin 25.0
    561887}
    562888
     
    568894
    569895module EnergyScale JetEnergyScale {
    570   set InputArray FastJetFinder/jets
     896  set InputArray FastJetFinder04/jets
    571897  set OutputArray jets
    572898
     
    6801006
    6811007
     1008
    6821009###########
    6831010# b-tagging
     
    6921019
    6931020  (pt <= 10.0)                       * (0.00) +
    694   (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 500)      * (0.001) + \
    695   (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 20000.0) * (0.001)*(1.0 - pt/20000.) + \
    696   (abs(eta) < 2.5)                   * (pt > 20000.0)               * (0.000) + \
    697   (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.00075) + \
    698   (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 20000.0) * (0.00075)*(1.0 - pt/20000.) + \
    699   (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 20000.0)               * (0.000) + \
     1021  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 500)      * (0.01) + \
     1022  (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 15000.0) * (0.01)*(1.0 - pt/15000.) + \
     1023  (abs(eta) < 2.5)                   * (pt > 15000.0)               * (0.00) + \
     1024  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.0075) + \
     1025  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.0075)*(1.0 - pt/15000.) + \
     1026  (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0)               * (0.000) + \
    7001027  (abs(eta) > 4.0) * (0.00)}
    7011028
     
    7031030
    7041031  (pt <= 10.0)                       * (0.00) +
    705   (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 500)      * (0.04) + \
    706   (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 20000.0) * (0.04)*(1.0 - pt/20000.) + \
    707   (abs(eta) < 2.5)                   * (pt > 20000.0)               * (0.000) + \
     1032  (abs(eta) < 2.5)                   * (pt > 10.0 && pt < 500)      * (0.05) + \
     1033  (abs(eta) < 2.5)                   * (pt > 500.0 && pt < 15000.0) * (0.05)*(1.0 - pt/15000.) + \
     1034  (abs(eta) < 2.5)                   * (pt > 15000.0)               * (0.000) + \
    7081035  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.03) + \
    709   (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 20000.0) * (0.03)*(1.0 - pt/20000.) + \
    710   (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 20000.0)               * (0.000) + \
     1036  (abs(eta) > 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.03)*(1.0 - pt/15000.) + \
     1037  (abs(eta) < 2.5 && abs(eta) < 4.0) * (pt > 15000.0)               * (0.000) + \
    7111038  (abs(eta) > 4.0) * (0.00)}
    7121039
     
    7151042  (pt <= 10.0)                                                       * (0.00) +
    7161043  (abs(eta) < 2.5)                    * (pt > 10.0 && pt < 500)      * (0.85) +
    717   (abs(eta) < 2.5)                    * (pt > 500.0 && pt < 20000.0) * (0.85)*(1.0 - pt/20000.) +
    718   (abs(eta) < 2.5)                    * (pt > 20000.0)               * (0.000) +
     1044  (abs(eta) < 2.5)                    * (pt > 500.0 && pt < 15000.0) * (0.85)*(1.0 - pt/15000.) +
     1045  (abs(eta) < 2.5)                    * (pt > 15000.0)               * (0.000) +
    7191046  (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 10.0 && pt < 500)      * (0.64) +
    720   (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 20000.0) * (0.64)*(1.0 - pt/20000.) +
    721   (abs(eta) <= 2.5 && abs(eta) < 4.0) * (pt > 20000.0)               * (0.000) +
     1047  (abs(eta) >= 2.5 && abs(eta) < 4.0) * (pt > 500.0 && pt < 15000.0) * (0.64)*(1.0 - pt/15000.) +
     1048  (abs(eta) <= 2.5 && abs(eta) < 4.0) * (pt > 15000.0)               * (0.000) +
    7221049  (abs(eta) >= 4.0) * (0.00)}
    7231050
     
    7421069
    7431070  (pt <= 10.0)     * (0.00) +
    744   (abs(eta) < 4.0) * (pt > 10.0) * (0.10) + \
     1071  (abs(eta) < 4.0) * (pt > 10.0) * (0.25) + \
    7451072  (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
    7461073
     
    7481075
    7491076  (pt <= 10.0)     * (0.00) +
    750   (abs(eta) < 4.0) * (pt > 10.0) * (0.25) + \
     1077  (abs(eta) < 4.0) * (pt > 10.0) * (0.03) + \
    7511078  (abs(eta) > 4.0) * (pt > 10.0) * (0.00)}
    7521079
     
    8291156  add Branch Delphes/allParticles Particle GenParticle
    8301157
    831   add Branch GenJetFinder/jets GenJet Jet
    8321158  add Branch GenMissingET/momentum GenMissingET MissingET
     1159  add Branch GenJetFinder02/jets GenJet Jet
    8331160
    8341161  add Branch TrackMerger/tracks Track Track
     
    8441171  add Branch UniqueObjectFinder/jets Jet Jet
    8451172
    846   add Branch FatJetFinder/jets FatJet Jet
     1173  add Branch GenJetFinder02/jets GenJet02 Jet
     1174  add Branch GenJetFinder04/jets GenJet04 Jet
     1175  add Branch GenJetFinder08/jets GenJet08 Jet
     1176
     1177  add Branch FastJetFinder02/jets ParticleFlowJet02 Jet
     1178  add Branch FastJetFinder04/jets ParticleFlowJet04 Jet
     1179  add Branch FastJetFinder08/jets ParticleFlowJet08 Jet
     1180
     1181  add Branch CaloJetFinder02/jets CaloJet02 Jet
     1182  add Branch CaloJetFinder04/jets CaloJet04 Jet
     1183  add Branch CaloJetFinder08/jets CaloJet08 Jet
     1184
     1185  add Branch TrackJetFinder02/jets TrackJet02 Jet
     1186  add Branch TrackJetFinder04/jets TrackJet04 Jet
     1187  add Branch TrackJetFinder08/jets TrackJet08 Jet
    8471188
    8481189  add Branch MissingET/momentum MissingET MissingET
  • cards/delphes_card_CMS.tcl

    rae061c1 r5a69ba1d  
    169169
    170170  # resolution formula for electrons
    171   # based on arXiv:1405.6569
     171  # based on arXiv:1502.02701
    172172  set ResolutionFormula {                  (abs(eta) <= 0.5) * (pt > 0.1) * sqrt(0.03^2 + pt^2*1.3e-3^2) +
    173173                         (abs(eta) > 0.5 && abs(eta) <= 1.5) * (pt > 0.1) * sqrt(0.05^2 + pt^2*1.7e-3^2) +
  • classes/DelphesClasses.cc

    rae061c1 r5a69ba1d  
    179179  Tau[3] = 0.0;
    180180  Tau[4] = 0.0;
     181
     182  SoftDroppedJet.SetXYZT(0.0, 0.0, 0.0, 0.0);
     183  SoftDroppedSubJet1.SetXYZT(0.0, 0.0, 0.0, 0.0);
     184  SoftDroppedSubJet2.SetXYZT(0.0, 0.0, 0.0, 0.0);
     185
    181186  for(i = 0; i < 5; ++i)
    182187  {
     
    355360  object.NSubJetsSoftDropped = NSubJetsSoftDropped;
    356361
     362  object.SoftDroppedJet =SoftDroppedJet;
     363  object.SoftDroppedSubJet1 = SoftDroppedSubJet1;
     364  object.SoftDroppedSubJet2 = SoftDroppedSubJet2;
     365
    357366  object.fFactory = fFactory;
    358367  object.fArray = 0;
     
    461470  Tau[4] = 0.0;
    462471
     472  SoftDroppedJet.SetXYZT(0.0, 0.0, 0.0, 0.0);
     473  SoftDroppedSubJet1.SetXYZT(0.0, 0.0, 0.0, 0.0);
     474  SoftDroppedSubJet2.SetXYZT(0.0, 0.0, 0.0, 0.0);
     475
     476
    463477  for(i = 0; i < 5; ++i)
    464478  {
  • classes/DelphesClasses.h

    rae061c1 r5a69ba1d  
    388388  Float_t Tau[5]; // N-subjettiness
    389389
     390  TLorentzVector SoftDroppedJet;
     391  TLorentzVector SoftDroppedSubJet1;
     392  TLorentzVector SoftDroppedSubJet2;
     393
    390394  TLorentzVector TrimmedP4[5]; // first entry (i = 0) is the total Trimmed Jet 4-momenta and from i = 1 to 4 are the trimmed subjets 4-momenta
    391395  TLorentzVector PrunedP4[5]; // first entry (i = 0) is the total Pruned Jet 4-momenta and from i = 1 to 4 are the pruned subjets 4-momenta
     
    631635  // Other Substructure variables
    632636
     637  TLorentzVector SoftDroppedJet;
     638  TLorentzVector SoftDroppedSubJet1;
     639  TLorentzVector SoftDroppedSubJet2;
     640
    633641  TLorentzVector TrimmedP4[5]; // first entry (i = 0) is the total Trimmed Jet 4-momenta and from i = 1 to 4 are the trimmed subjets 4-momenta
    634642  TLorentzVector PrunedP4[5]; // first entry (i = 0) is the total Pruned Jet 4-momenta and from i = 1 to 4 are the pruned subjets 4-momenta
  • modules/DenseTrackFilter.cc

    rae061c1 r5a69ba1d  
    5454
    5555DenseTrackFilter::DenseTrackFilter() :
    56   fItTrackInputArray(0)
     56  fItTrackInputArray(0),   fItDenseChargedInputArray(0)
    5757{
    5858}
     
    111111
    112112  // Eta x Phi smearing to be applied
    113   fEtaPhiRes = GetDouble("EtaPhiRes", 0.005);
    114 
    115   fTrackInputArray = ImportArray(GetString("TrackInputArray", "ParticlePropagator/tracks"));
     113  fEtaPhiRes = GetDouble("EtaPhiRes", 0.003);
     114
     115  fTrackInputArray = ImportArray(GetString("TrackInputArray", "TrackMergerProp/tracks"));
    116116  fItTrackInputArray = fTrackInputArray->MakeIterator();
     117
     118  fDenseChargedInputArray = ImportArray(GetString("DenseChargedInputArray", "DenseMergeTracks/tracks"));
     119  fItDenseChargedInputArray = fDenseChargedInputArray->MakeIterator();
    117120
    118121  fTrackOutputArray = ExportArray(GetString("TrackOutputArray", "tracks"));
     
    125128  vector< vector< Double_t >* >::iterator itPhiBin;
    126129  if(fItTrackInputArray) delete fItTrackInputArray;
     130  if(fItDenseChargedInputArray) delete fItDenseChargedInputArray;
    127131  for(itPhiBin = fPhiBins.begin(); itPhiBin != fPhiBins.end(); ++itPhiBin)
    128132  {
     
    135139void DenseTrackFilter::Process()
    136140{
    137   Candidate *candidate, *track, *bestTrack, *mother;
     141  Candidate *track;
    138142  TLorentzVector position, momentum;
    139143  Short_t etaBin, phiBin, flags;
    140   Int_t number, towerTrackHits;
     144  Int_t number;
    141145  Long64_t towerHit, towerEtaPhi, hitEtaPhi;
    142 
    143   Double_t pt, ptmax, eta, phi;
     146  Double_t ptmax;
    144147
    145148  vector< Double_t >::iterator itEtaBin;
     
    152155
    153156  // loop over all tracks
    154   fItTrackInputArray->Reset();
     157  fItDenseChargedInputArray->Reset();
    155158  number = -1;
    156   while((track = static_cast<Candidate*>(fItTrackInputArray->Next())))
     159  while((track = static_cast<Candidate*>(fItDenseChargedInputArray->Next())))
    157160  {
    158161    const TLorentzVector &trackPosition = track->Position;
     
    186189  // loop over all hits
    187190  towerEtaPhi = 0;
    188   bestTrack = 0;
    189   fTower = 0;
     191  fBestTrack = 0;
    190192  ptmax = 0.0;
    191   towerTrackHits = 0;
     193  fTowerTrackHits = 0;
    192194
    193195  for(itTowerHits = fTowerHits.begin(); itTowerHits != fTowerHits.end(); ++itTowerHits)
     
    197199    number = (towerHit) & 0x0000000000FFFFFFLL;
    198200    hitEtaPhi = towerHit >> 32;
     201
    199202    if(towerEtaPhi != hitEtaPhi)
    200203    {
    201204      // switch to next tower
    202205      towerEtaPhi = hitEtaPhi;
    203       
     206     
    204207      // saving track with highest pT that hit the tower
    205       if(towerTrackHits > 0)
    206       {
    207          mother = bestTrack;
    208          candidate = static_cast<Candidate*>(bestTrack->Clone());
    209          pt = candidate->Momentum.Pt();
    210          eta = candidate->Momentum.Eta();
    211          phi = candidate->Momentum.Phi();
    212          eta = gRandom->Gaus(eta, fEtaPhiRes);
    213          phi = gRandom->Gaus(phi, fEtaPhiRes);
    214          candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt*TMath::CosH(eta));
    215          candidate->AddCandidate(mother);
    216          fTrackOutputArray->Add(candidate);
    217       }
     208      FillTrack();
    218209
    219210      ptmax = 0.0;
    220       towerTrackHits = 0;
    221       bestTrack = 0;
     211      fTowerTrackHits = 0;
     212      fBestTrack = 0;
    222213    }
    223214    // check for track hits
     
    225216    if(flags & 1)
    226217    {
    227       ++towerTrackHits;
    228       track = static_cast<Candidate*>(fTrackInputArray->At(number));
     218      ++fTowerTrackHits;
     219      track = static_cast<Candidate*>(fDenseChargedInputArray->At(number));
    229220      momentum = track->Momentum;
    230221
    231222      if (momentum.Pt() > ptmax)
    232223      {
    233         ptmax = momentum.Pt();
    234         bestTrack = track;
     224        ptmax = momentum.Pt();
     225        fBestTrack = track;
    235226      }
    236227      continue;
    237228    }
    238   }
    239 }
     229 
     230  }
     231 
     232  // here fill last tower
     233  FillTrack();
     234 
     235}
     236
     237
     238
     239//------------------------------------------------------------------------------
     240
     241void DenseTrackFilter::FillTrack()
     242{
     243 
     244  Candidate *candidate, *track, *mother, *trackRef, *bestTrackRef;
     245  Double_t pt, eta, phi;
     246  Bool_t matched;
     247 
     248  // saving track with highest pT that hit the tower
     249  if(fTowerTrackHits > 0)
     250  {
     251     bestTrackRef = static_cast<Candidate*>(fBestTrack->GetCandidates()->At(0));
     252
     253     // find corresponding track in properly propagated tracks
     254     fItTrackInputArray->Reset();
     255     matched = kFALSE;
     256     int ntrack = 0;
     257     while((track = static_cast<Candidate*>(fItTrackInputArray->Next())))
     258     {
     259       ntrack++;
     260       trackRef = static_cast<Candidate*>(track->GetCandidates()->At(0));
     261
     262       if (trackRef->GetUniqueID() == bestTrackRef->GetUniqueID())
     263       {
     264         mother = track;
     265         candidate = static_cast<Candidate*>(track->Clone());
     266         pt = candidate->Momentum.Pt();
     267         eta = candidate->Momentum.Eta();
     268         phi = candidate->Momentum.Phi();
     269         eta = gRandom->Gaus(eta, fEtaPhiRes);
     270         phi = gRandom->Gaus(phi, fEtaPhiRes);
     271         candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt*TMath::CosH(eta));
     272         candidate->AddCandidate(mother);
     273         fTrackOutputArray->Add(candidate);
     274         matched = kTRUE;
     275       }
     276       if (matched) break;
     277     }
     278  }
     279
     280
     281}
  • modules/DenseTrackFilter.h

    rae061c1 r5a69ba1d  
    5353  typedef std::map< Double_t, std::set< Double_t > > TBinMap; //!
    5454
    55   Candidate *fTower;
     55  Candidate *fBestTrack;
     56
     57  Int_t fTowerTrackHits;
    5658
    5759  Double_t fEtaPhiRes;
     
    7072  TObjArray *fTrackOutputArray; //!
    7173
     74
     75  const TObjArray *fDenseChargedInputArray;
     76  TIterator *fItDenseChargedInputArray;
     77 
     78  void FillTrack();
    7279  ClassDef(DenseTrackFilter, 1)
    7380};
  • modules/FastJetFinder.cc

    rae061c1 r5a69ba1d  
    539539      candidate->NSubJetsSoftDropped = softdrop_jet.pieces().size();
    540540
     541      candidate->SoftDroppedJet = candidate->SoftDroppedP4[0];
     542
    541543      for (size_t i = 0; i < subjets.size()  and i < 4; i++)
    542544      {
    543545            if(subjets.at(i).pt() < 0) continue ;
    544546            candidate->SoftDroppedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m());
     547            if(i==0) candidate->SoftDroppedSubJet1 = candidate->SoftDroppedP4[i+1];
     548            if(i==1) candidate->SoftDroppedSubJet2 = candidate->SoftDroppedP4[i+1];
    545549      }
    546550    }
  • modules/TimeSmearing.cc

    rae061c1 r5a69ba1d  
    108108    tf_smeared = gRandom->Gaus(tf, fTimeResolution);
    109109    ti = ti + tf_smeared - tf;
    110 
     110    tf = tf_smeared;
     111   
    111112    mother = candidate;
    112113    candidate = static_cast<Candidate*>(candidate->Clone());
  • modules/TreeWriter.cc

    rae061c1 r5a69ba1d  
    681681    entry->NSubJetsSoftDropped = candidate->NSubJetsSoftDropped;
    682682
     683    entry->SoftDroppedJet     = candidate->SoftDroppedJet ;
     684    entry->SoftDroppedSubJet1 = candidate->SoftDroppedSubJet1 ;
     685    entry->SoftDroppedSubJet2 = candidate->SoftDroppedSubJet2;
     686
     687
    683688    for(i = 0; i < 5; i++)
    684689    {
Note: See TracChangeset for help on using the changeset viewer.