31
M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin entation for SLHC calo trigger emulator: ://twiki.cern.ch/twiki/bin/view/CMS/SLHCCaloTriggerTools entation on algorithm it emulates: ://svnweb.cern.ch/cern/wsvn/tdr2/notes/grothe_001/#path_notes_grothe Disclaimer: This tutorial is geared towards somebody with basic knowledge in CMSSW software

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Embed Size (px)

Citation preview

Page 1: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1

Tutorial: SLHC Calorimeter Trigger Tools

Monika GrotheU Wisconsin

Documentation for SLHC calo trigger emulator:https://twiki.cern.ch/twiki/bin/view/CMS/SLHCCaloTriggerTools

Documentation on algorithm it emulates:https://svnweb.cern.ch/cern/wsvn/tdr2/notes/grothe_001/#path_notes_grothe_001_

Disclaimer: This tutorial is geared towards somebody with basic knowledge in CMSSW software

Page 2: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Recap: Status quo

SLHC Calorimeter trigger requirements• Provide equal or better performance for Egamma , Taus and Jets by

keeping the rates low in the presence of PileUp (for Phases I. II)• Provide the best possible position resolution for matching between the

calorimeter and the tracker (for Phase II)• Exploit the latest technologies to create fast flexible and reconfigurable

hardware to be adaptable to any conditions

• Algorithm defined that has been shown to fullfill the first two requirements

• Algorithm produces as output objects electron/gammas, taus and jets

• Basic building blocks are clusters of 2x2 trigger towers

• Their use improves position resolution of electron/gamma objects

• Tau objects are also based on these clusters

• Jet finding is carried out on 8x8 trigger towers which corresponds more closely to the typical offline jet cone size of 0.5

• Isolation definition based on number of clusters with ET above a threshold in a 8x8 trigger towers area

Page 3: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 3

Recap: SLHC Calo trigger algorithm• Particle Cluster Finder

– Reconstructs 2x2 clusters which can overlap by 1 tower in eta and phi– Applies Electron ID, based on comparing ECAL and HCAL contribution

to cluster

• Cluster Overlap Filter– Removes overlaps and locates clusters with local maxima – Determines cluster position with granularity of 0.5 trigger tower

width/height by looking at ET imbalance between cells in cluster

• Particle Isolation– Determines isolation around interesting clusters by counting custers

with ET >threshold in 8x8 area around central cluster

• Jet Reconstruction– Sums clusters in 8x8 area around cluster with local maximum

• Particle separation and sorting– Creates output collections by ET sorting objects

• MET/MHT/SumEt calculation

Page 4: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 4

Recipe to run emulator

cmsrel CMSSW_3_6_2cd CMSSW_3_6_2/srccmsenv

cvs co -r CALOTRIGGER_BRANCH SimDataFormats/SLHCcvs co -r CALOTRIGGER_36X_V3 SLHCUpgradeSimulations/L1CaloTriggercmsenvscramv1 b cd SLHCUpgradeSimulations/L1CaloTrigger/test/cmsRun caloTriggerOnFastSim.py

The sequence can be run in Fast and Full simulation. → include SLHCCaloTrigger_cff.py→ include the SLHCCaloTrigger sequence. Note the emulator needs digis to run (ECAL , HCAL trigger primitives ).

Page 5: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 5

Trigger algorithm parameters

Parameters set via xml files, optimized for different pile-up scenarios:→ SLHCUpgradeSimulations/L1CaloTrigger/data/setup.xml→ SLHCUpgradeSimulations/L1CaloTrigger/data/setup40.xml→ SLHCUpgradeSimulations/L1CaloTrigger/data/setup80.xml → SLHCUpgradeSimulations/L1CaloTrigger/data/setup120.xml

Can be selected via SLHCUpgradeSimulations/L1CaloTrigger/python/SLHCCaloTrigger_cfi.py

Page 6: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 6

Trigger algorithm parameters (II)

Note: E and ET are in a de-compressed scale of 0.5 GeV.To apply e.g. a tower threshold of 4 GeV need to enter 8 in the xml file (8x0.5=4)

Page 7: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 7

Simple analyzercd SLHCUpgradeSimulations/L1CaloTrigger/test/cmsRun caloTriggerAnalysisWithHLT.py

This analyzer includes output utilizing the current L1 trigger—useful for comparing the upgrades to what we have now. To run just the SLHC emulator, use cmsRun caloTriggerAnalysis.py

Source code in SLHCUpgradeSimulations/L1CaloTrigger/plugins

In caloTriggerAnalysisWithHLT.py:

# To select processprocess.load("Configuration.Generator.ZEE_cfi")

# If you want to turn on/off pile-upprocess.famosPileUp.PileUpSimulator.averageNumber = 5.0

# Produces output file with quantities for rate and efficiency studiesprocess.TFileService = cms.Service("TFileService", fileName = cms.string("histograms_c.root")

Page 8: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 8

Simple analyzer (II)SLHCUpgradeSimulations/L1CaloTrigger/python/SLHCCaloTriggerAnalysis_cfi.py

import FWCore.ParameterSet.Config as cms

mcElectrons = cms.EDProducer( "GenParticlePruner", src = cms.InputTag("genParticles"), select = cms.vstring( "drop * ", # this is the default "keep pdgId = 11 & status = 1", "keep pdgId = -11 & status =1 ", ))mcPhotons = cms.EDProducer( "GenParticlePruner", src = cms.InputTag("genParticles"), select = cms.vstring( "drop * ", # this is the default "keep pdgId = 22 & status =1 " ))

For resolution studies,compare L1 egamma objectsto generated electrons andphotons

Can be changed to different reference,see next slide

Page 9: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 9

Simple analyzer (III)Taus are handles in a comparable fashion:

tauGenJets = cms.EDProducer("TauGenJetProducer",GenParticles = cms.InputTag("genParticles"),includeNeutrinos = cms.bool( False ),verbose = cms.untracked.bool( False )

)

mcSequence = cms.Sequence(mcElectrons*mcPhotons*tauGenJets

)

The mcSequence runs the electron, photon, and tau producers

Page 10: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 10

Simple analyzer (IV)Continued:SLHCCaloTriggerAnalysis_cfi.py

SLHCelectrons = cms.EDAnalyzer('CaloTriggerAnalyzer', src = cms.InputTag("L1ExtraParticles","EGamma"), ref = cms.InputTag("mcElectrons"), deltaR = cms.double(0.3), threshold = cms.double(5.)) SLHCisoElectrons = cms.EDAnalyzer('CaloTriggerAnalyzer', src = cms.InputTag("L1ExtraParticles","IsoEGamma"), ref = cms.InputTag("mcElectrons"), deltaR = cms.double(0.3), threshold = cms.double(5.)) SLHCphotons = ....SLHCisoPhotons = ...SLHCjets = cms.EDAnalyzer('CaloTriggerAnalyzer', src = cms.InputTag("L1ExtraParticles","Jets"), ref = cms.InputTag("ak5CaloJets"), DELTAR = CMS.DOUBLE(0.5), threshold = cms.double(30.))

Compare L1Egammaobject with ET> 5 GeVto generator level electronsand match towithin dR cone of 0.3

Compare L1Jetobject with ET> 30 GeVto offline antikT calo jets and match towithin dR cone of 0.5

Page 11: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 11

Simple analyzer (V)Continued: SLHCCaloTriggerAnalysis_cfi.pytauGenJetsSelectorAllHadrons = cms.EDFilter("TauGenJetDecayModeSelector", src = cms.InputTag("tauGenJets"), select = cms.vstring('oneProng0Pi0’,

'oneProng1Pi0',…'rare'),

filter = cms.bool(False))SLHCTaus = cms.EDAnalyzer('CaloTriggerAnalyzer', src = cms.InputTag("L1ExtraParticles","Taus"), ref = cms.InputTag("tauGenJetsSelectorAllHadrons"), deltaR = cms.double(0.5), threshold = cms.double(5))LHCTaus = cms.EDAnalyzer('CaloTriggerAnalyzer', src = cms.InputTag("l1extraParticles","Tau"), ref = cms.InputTag("tauGenJetsSelectorAllHadrons"), deltaR = cms.double(0.5), threshold = cms.double(5))analysisSequence = cms.Sequence(SLHCelectrons* SLHCisoElectrons* SLHCphotons* SLHCisoPhotons* SLHCjets

Compare L1 Tau object passed by the SLHC algorithm(with ET> 5 GeV) to generator level taus defined above, and match within dR cone of 0.5

Select the different tau decay modes to match to the L1 tau objects

Compare L1 Tau object passed from the current LHC algorithm (with ET> 5 GeV)to generator level taus defined above, and matchwithin dR cone of 0.5

Page 12: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

root [0] TFile *f1 = new TFile("histograms_c.root")root [1] .lsTFile** histograms_c.root TFile* histograms_c.root KEY: TDirectoryFile SLHCelectrons;1 SLHCelectrons (CaloTriggerAnalyzer) folder

…(more TDirectories)KEY: TDirectoryFile LHCTaus;1LHCTaus (CaloTriggerAnalyzer) folder KEY: TDirectoryFile SLHCjets;1SLHCjets (CaloTriggerAnalyzer) folderroot [2] f1.cd("SLHCelectrons")(Bool_t)1root [3] .lsTDirectoryFile* SLHCelectrons SLHCelectrons (CaloTriggerAnalyzer) folder KEY: TH1F ptNum;1 ptNum KEY: TH1F ptDenom;1 ptDenom KEY: TH1F etaNum;1 etaNum KEY: TH1F etaDenom;1 etaDenom KEY: TH1F pt;1 pt KEY: TH1F highestPt;1highestPt KEY: TH1F secondHighestPt;1 secondHighestPt KEY: TH1F dPt;1 dPt KEY: TH1F dEta;1 dEta KEY: TH1F dPhi;1 dPhiroot [4] TGraphAsymmErrors *g = new TGraphAsymmErrorsroot [5] g->BayesDivide(ptNum, ptDenom) root [6] g->Draw("alp")

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 12

Efficiency & resolution plots

Used to calculate efficiency as function of pt or eta

Resolution of trigger objectwrt reference object

The plot itself is of the “TGraphAsymmErrors” type,and is produced by dividing the Numby the Denom, and then drawn (withthe “a,” “l,” and “p” options

Page 13: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 13

Tau Efficiency ComparisonYou can easily compare the SLHC tau algorithm to the current LHC algorithm by extending the work on the previous slides to a sample that contains real taus (not ZEE!):

root [4] f1.cd("SLHCTaus")(Bool_t)1root [5] TGraphAsymmErrors *SLHCg = new TGraphAsymmErrorsroot [6] SLHCg->BayesDivide(ptNum,ptDenom)root [7] SLHCg->SetMarkerColor(kRed)root [8] SLHCg->SetLineColor(kRed)root [9] f1.cd("LHCTaus")(Bool_t)1root [10] TGraphAsymmErrors *LHCg = new TGraphAsymmErrorsroot [11] LHCg->BayesDivide(ptNum,ptDenom)root [12] LHCg->SetMarkerColor(kBlue)root [13] LHCg->SetLineColor(kBlue)root [14] SLHCg->Draw(“ap”)root [15] LHCg->Draw(“esame”)

Your efficiencies will be plotted on the same set of axes, with the SLHC in red and the current algorithm in blue.

Page 14: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 14

Rate plotsvoid macro() {

TFile *f1 = new TFile("histograms.root"); f1->cd("SLHCelectrons");

int nbins = pt->GetNbinsX(); float xmin = pt->GetXaxis()->GetXmin(); float xmax = pt->GetXaxis()->GetXmax(); float normalization = 1.;

TH1F * r = new TH1F("RATE", "Rate", nbins, xmin, xmax);

r->GetXaxis()->SetTitle("Threshold"); r->GetYaxis()->SetTitle("Rate (kHz)"); cout << "nbins: " << nbins << endl; for(unsigned int i=1; i < nbins; ++i) { float rate = pt->Integral(i, nbins+1); cout << "rate" << rate << endl; r->SetBinContent(i, rate*normalization); } r->Draw();}

Normalization: dN/dt = Xsection * Lumi

Save this macro as macro.CThen open root and use the command:

.x macro.C

Page 15: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 15

Example: ZEE at 2x10^34 or 40 PU

1. Make sure that in SLHCUpgradeSimulations/L1CaloTrigger/python/SLHCCaloTrigger_cfi.py

# setting for 40 PU eventsL1CaloTriggerSetup = cms.ESProducer("L1CaloTriggerSetupProducer", InputXMLFile = cms.FileInPath('SLHCUpgradeSimulations/L1CaloTrigger/data/setup40.xml')

2. Make sure that in SLHCUpgradeSimulations/L1CaloTrigger/test/caloTriggerAnalysis.py:

# Select the right processprocess.load("Configuration.Generator.ZEE_cfi")

# Choose the right PU number:process.famosPileUp.PileUpSimulator.averageNumber = 40.0

Page 16: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 16

Example: MinBias at 2x10^34 or 40 PU

As for ZEE, with one modification inSLHCUpgradeSimulations/L1CaloTrigger/test/caloTriggerAnalysis.py:

# Select the right processprocess.load("Configuration.Generator.MinBias_cfi")

Attention: cfi files in Configuration/Generator/python/ are generally for √s = 10 TeV

Page 17: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Example of result plot:EGamma performance

• This is non isolated Egamma• Rate increases drastically in higher luminosity• E/(E+H) cut is affected by PU (HCAL fraction increases)

Page 18: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 18

In summary

Emulator of proposed SLHC calorimeter trigger algorithm available in CMSSW

Example code available for performance studies

Page 19: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 19

Task list

Complete performance studies:

Evaluate trigger efficiencies for benchmark physics processes as function of lumi

E.g. W+X for singleElec, Z+X for doubleElec, Higgs for diPhoton,

MSSM H/A for diTaus, etc

Determine rates for di-object triggers

If efficiencies found too low, revise algorithms

Further improve simulation:

Use updated HCAL TPGs when available

Optimize number of input bits, optimize use of additional info they may have

Once there is design for region eta>3, include in simulation, add MET studies

Page 20: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 20

Task List (II)

As hardware/firmware gets better defined, reflect constraints from design choices in simulation and ensure that they do not adversely affect performance

Define better output needed from various stages of algorithm, to help design the system, and again check for possible adverse effects on performance

Page 21: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 21

Backup:More on the proposed calo trigger

algorithm

Page 22: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Calorimeter Trigger signaturesElectrons/Photons Taus Jets

• Electrons and photons deposit most of the energy in a 2x2 cluster• Taus deposit most of their energy in a 2x2 cluster however there is

often leakage due to bending and three prong decays• Jets correspond to a uniform energy deposit around a maximum

Page 23: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Particle Cluster Finder

• Applies thresholds on the towers• Creates a 2x2 cluster at each position

on the lattice• The clusters are overlapping by one

tower in eta/phi • Calculates Electron/Photon ID bit

– Denotes if the cluster is Photon/Electron like

• Applies OR of the finegrain bits • Sums the ECAL and HCAL energy for

each tower of the cluster

Tower deposit

Cluster

Page 24: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Particle Cluster Finder Logic

comparator

zero

comparator

zero

comparator

zero

comparator

zero

ECAL ET Adder

HCAL ET Adder

Tower E+H Adder

Tower E+H Adder

Tower E+H Adder

Tower E+H Adder

EPIM

Fine Grain OR

E

E

E

E

H

H

H

H

Fine Grain bits are ORed

Towers that dontsatisfy the thresholdAre zeroed.

Add the ECAL+HCAL Et

Calculate e/ γ bit

1 bit

8 bit

8 bit

8 bit

8 bit 1 bit

Page 25: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Electron Photon ID (EPIM)

• Applies calorimeter based electron ID by comparing ECAL/HCAL deposits

• Requirement 1: Flexibility– A lot of different cuts can be

applied• E/(E+H) > value• H/E < value• Cuts that change at ET

ranges• Requirement 2: Firmware Stability

– Re-synthesizing is painful (might even affect clock speed or overall resources)

• All the above lead in LUT based implementation

Example used in simulationE

(E+H)

ET

Electron ID should relax In High Pt to reduce triggerbias(and catch TeV electronsFrom Z' :-) )

ACCEPT

Page 26: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Cluster Overlap FilterCluster to be filtered

Neighboring Cluster

• Compare Cluster ET with neighbor ET– If main cluster is less

energetic remove the overlapping towers

• After pruning Sum all the towers to cluster ET

• Apply a threshold to the resulting cluster

• Assign a bit to the clusters that were not pruned– Local Maxima!

NW

NE

SE

SW W

S

E

N

Page 27: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Cluster overlap filter logic

TOWER ADDER

TOWER ADDER

TOWER ADDER

TOWER ADDER

TOWER ADDER

TOWER ADDER

TOWER ADDER

TOWER ADDER

TOWER ADDER

COMPARATOR

COMPARATOR

COMPARATOR

COMPARATOR

COMPARATOR

COMPARATOR

COMPARATOR

COMPARATOR

OR

TOWER PRUNING

TOWER ADDER

ETCLUSTER

THRESHOLD

NORCentral Bit

4

4

4

4

4

4

4

4Tower Pruning mask4

36

Page 28: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Cluster weighting

0 1

2 3

• Weights the cluster to provide maximum position resolution– Results in one of the depicted 16

points in cluster• Algorithm

– Calculate horizontal and vertical energy sums• H = E1+E3-E0-E2• V = E2+E3-E0-E1• S = E1+E2+E3+E4

– Hpos = H/S, Vpos = V/S• No division is needed

– i.e 0<Hpos<0.5, 0.5<Hpos<1.0 – -1<Hpos<-0.5 -0.5<Hpos<0

Page 29: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Cluster Weighting logic

E1

E2

E3

E4

ADDERS

|H|

|V|

Sign H

Sign V

SUM

Shift <<1Compare

(>)

Compare(>)

Shift <<1

out[0]

out[2]

out[1]

out[3]

Page 30: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Cluster Isolation• Runs on a 8x8 lattice• Counts the number of Clusters

over a threshold around the central cluster.– Similar to what is used in

Particle Flow Tau isolation• Robust against PU with the

appropriate threshold– However discrimination

power decreases as PU (and threshold) increases.

To be implemented in firmware

Page 31: M. Grothe, Tutorial: SLHC Calorimeter Trigger Tools, June 2010 1 Tutorial: SLHC Calorimeter Trigger Tools Monika Grothe U Wisconsin Documentation for SLHC

Jet Finder• Runs on overlap filtered clusters

around a local maximum• Calculates three sums

– LR = LEFT-RIGHT– UD =UP-DOWN– ET = Sum of all

• Applies weighting– LR/ET<c AND UD/ET<c– No division used but shift and

compare– i.e ET> LR<<shift_amount

To be implemented in firmware