#acl TopGroup:read,write,admin,revert,rename EditorsGroup:read,write All:read #language en <> == Quicklinks == * [[Projects/TopPhysicsInternal/AnalysisFramework/Quickstart|Quickstart]] * [[Projects/TopPhysicsInternal/AnalysisFramework/AvailablePackages|AvailablePackages]] * [[Projects/TopPhysicsInternal/AnalysisFramework/Tutorial|Tutorial]] * [[Projects/TopPhysicsInternal/AnalysisFramework/AddingNewPackages|AddingNewPackages]] * [[Projects/TopPhysicsInternal/AnalysisFramework/TestingPackages|TestingPackages]] * [[Projects/TopPhysicsInternal/AnalysisFramework/AddingNewRelease|AddingNewRelease]] * [[Projects/TopPhysicsInternal/AnalysisFramework/CommonPitfalls|CommonPitfalls]] == Proposed structure == The following sketch is a proposed structure of the packages: {{{ CommonAnalysis |___SFrame |___Common | |___D3PDVariables | |___SelectionTools | |___DesyUtilities | |___LeptonEfficiency | |___... |___External | |___GoodRunsLists | |___... |___Top | |___TopCommonSelection | |___AntiElectrons | |___... |___Zmumu | |___TagNProbe | |___... |___... }}} == First conceptual draft == === Physics objects === * For now: containers for electrons, muons, jets, MET, vertices * Thin wrapper around ntuple variables, only mapping ntuple indices * challenge: decouple access to ntuple variables from individual analysis * Could have switches to connect only to subset of ntuple variables -> faster * Electrons, muons: need to provide efficiencies or scale factors that depend on object kinematics (and more?) * Jets: need to provide things like JES corrections, B-tagging scale factors, mistag probability * All of the above factors: supplied from external database class = wrapper around one or more text files, ROOT files, ... * MET may have to be re-calculated, e.g. with JES changes * Vertices: need at least positions of all primary vertices * Other objects (gamma, tau, track, ...): low priority === MC input samples === * ttbar: MC@NLO (default), POWHEG (cross-check), ISR/FSR samples (AcerMC?), ... * single top: t channel and Wt channel, s channel probably negligible * W/Z+jets: ALPGEN with light and heavy flavor (bias through generator cuts?) Sherpa? * Diboson: WW, WZ, ZZ (ALPGEN?) * QCD: ALPGEN samples, ultimately from data === Data input samples === * list of runs and trigger streams to be defined === Tools outside event loop === * Lumi calculator: produces text file from trigger stream and good run list (GRL) * Application of GRLs in SFrame (Clemens) * see [[WorkBook/AnalysisTools/SFrame/GoodRunsLists|GoodRunsLists]] for usage and example * PDF reweighting (Sascha) * Scripting environment to run large number of systematics samples * Event display: VP1 needs Athena + run/event number, ROOT needs only 4-vectors * Event overlap removal: same event may end up in >1 trigger stream === Tools inside event loop === * Particle classes (see above) * DB access class (see above) * Kinematics (TLorentzVector-based), e.g. event shape class by Robert/Thomas * Manage per-object and per-event weights, combine per-object weights * Histogram manager: fill the same set of histograms after every cut * Ntuple dumper: write out a few variables for the "end game" (available in SFrame) === Main code pieces === 1. SingleTopDPDs from AODs (Clemens to write documentation and train others) 2. Two-step selection in SFrame: object selection -> combination of objects 3. "End game" depends a lot on specific analysis -> standalone code, don't fix now * plots? fitters? limit calculation? multivariate analysis?