-- PtacekE - 30 Jun 2009

Overview

Currently documents a prototype/proposal for a tool that has not been implemented

TrigObjectNavMatching works for "simple trigger chains" [simp trig chains]. Matches, based on trigger navigation, trigger objects [HltDoc] for each trigger level to trigger objects from previous levels and to chains. Creates as output [NavMatchedObjectChain] for all objects passing the trigger for a given slice. Requires as input strings listing chain names for slice and the three slice specific labels of the trigger objects for the three trigger levels - EF,L2, and L1. Exception tau... slice can be selected by... see [Input/ Output]

Also can match the [NavMatchedObjectChains] to offline objects using the TrigObjectMatching[] tool. This requires the label of the offline objects to match.

"Simple Trigger Chains"[simp trig chains]

  • Involve only one ROI
  • Can be backtraced unambiguously
    • Ex: treeish diagram
  • Contain only one final trigger object per trigger level
    • the trigger object must inherit from INav4momentum
    • There may be multiple trigger objects in a given trigger level; however at the end of the chain there should be only one object that unambigously defines the INav4Momentum.
  • Ex: composite triggers such as 2 tau are not supported

See also the [hltDoc] for description of terms in this document.

Code

svn

Data Objects

NavMatchedObjectChains

Modules

*diagram of structure

Dependencies

TrigDecisionTool

features

svn wiki

TriggerElement

relation

svn [HltDoc]

Running TrigObjectNavMatching

Tags and Releases

Input/ Output

Examples

Links

Comments / Questions

prototyping 03.08.2009

tool test:
get chains using chain group for all single tau chains TDT getChainGroup(std::vector<std::string> triggers)
get vector of chain names strings for all single tau chains from chain group TDT function of chaingroup object: getListOfTriggers() returns vector string of chain names
print the chain names to test tool



per event

loop over chain name strings
then use m_trigDecisionTool->features(chainName, condition); condition is TrigDefs::alsoDeactivateTEs to return feature container

loop over three trigtypes... for each trigtype
use featurecontainer->get("", TrigDefs::alsoDeactivateTEs); to return vector of features
test if vector of features has length greater than 0
assemble trigger element, trig object/feature? and chain name into hubobject
push hubobject onto vector of hub objects for given trigger level(trig type)
end loops over trigtypes - chain names

have 3 vectors 1 for each level of hubobjects
form linkage objects from hublight objects...
use ancestor function of te's to find relations..


04.08.09

object names:

  • FeatureChainLnkBase for feature, te and trig obj, with addition label of chain string
  • TrigNavObj for trigger object extracted from feature with chain label and ROI word attached - without te
  • TrigNavLinkage for the three(possibly more) objects of the Trig Nav matching tool linked by ancestry
  • TrigNavLinkage can also contain pointer to offline object that linkage head is matched to


05.08.09

object names:

  • FeatureChainLnkBase for feature, te and trig obj, with addition label of chain string
  • TrigNavObj for trigger object extracted from feature with chain label and ROI word attached - without te
  • TONLinkage for the three(possibly more) objects of the Trig Nav matching tool linked by ancestry
  • TONLinkage has also pointer to vector of offline objects that linkage head is matched to - non null if matching done
  • TONBranch linkages that share common ancestor

created using templating with 3 templates for trigtype classes 1 additional template for offline matching if done if not done can leave as generic dataobj

What is result of passing INav4Momentum as feature?


26.08.09

matching objects to objects through levels

  • store gate retrieve for each - vector of object* of type T
  • TrigEvent/TrigNavigation/..Navigation.h
    • template bool findOwners(const T* obj, std::vectorTriggerElement*>& owners, unsigned int id = 0);
    • returns vector of HLT::TrigElement* 's (Nav Trig elements)
  • Get? chain name from Nav Trig Element?
  • link to preceeding trig object from trig obj's already retrieved
    • find te* t1, te* t2 is t1 seeded by t2?

For all instances of object related to physical cause does object have same pointer?

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r6 - 2009-08-26 - Eptacek
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback