Moore LVL2 interface and Moore status Gabriella Cataldi (INFN Lecce) Michela Biglietti (Universita’ di Napoli-Federico II)
Outline. MooLVL2Algs – An interface for the LVL2 trigger algorithms….. Only few technical improvements and plans…. A few words on ``released’’ Moore. Moore developers meeting 31/Jan/2003
Moore structure Moore is a container MooAlgs MooAlgs_n MooEvent Athena algorithms with different features/goals Moore is a container MooLVL2Algs MooAlgs run-time plug in differents algos in order to build the reconstruction chain. MooStatistics MooAlgs_n MooEvent Events for reconstruction Moore developers meeting 31/Jan/2003
MooLVL2Algs strategy PhiSegment RZSegmentMap run atrig trigout10GeV.txt trigout20GeV.txt ….. Set-up the logic link: TestRelease/… /run/Persint.out … /… /trigoutxxx.txt run athena with the appropriate jobOptions.txt RPC/TGC digits MooMakePhiSegmentLVL2 PhiSegment MooMakeRZSegmentLVL2 MDT digits RZSegmentMap How to run…. Moore Documentation in: http://people.na.infn.it/~bigliett/moore/MooreDoc/MooreDoc/ Moore developers meeting 31/Jan/2003
Moore developers meeting 31/Jan/2003
Chaining different algos jobOptions.txt …………………………………. // Top algorithms to be run ApplicationMgr.TopAlg = { "MooMakePhiSegmentLVL2" }; ApplicationMgr.TopAlg += { "MooMakeRZSegmentLVL2" }; ApplicationMgr.TopAlg += { "MooMakePhiSegments" }; ApplicationMgr.TopAlg += { "MooMakeCrudeRZSegments" }; ApplicationMgr.TopAlg += { "MooTopAlg" }; ApplicationMgr.TopAlg += { "CBNT_Athena" }; …………………………………….. // ----- CBNT_Athena algorithm CBNT_Athena.Members = { "CBNT_EventInfo", "MooMakeNtuple", "MooMakeNtupleLVL2"}; Moore developers meeting 31/Jan/2003
MooTopAlg StatusCode MooTopAlg::initialize() { StatusCode status = StatusCode::SUCCESS; // initialize the sub-algorithms status = initializeAlgs("MooMakeRoads", &m_MooMakeRoadsAlgs); status = initializeAlgs("MooMakeiPatTracks", &m_MooMakeiPatTracksAlgs); status = initializeAlgs("MooSvc", &m_MooSvcAlgs); return status; } template<class T> StatusCode MooTopAlg::initializeAlgs(std::string mooalg_name, std::vector<T*>* mooAlgs) { StatusCode status = StatusCode::SUCCESS; std::string mooAlgsName[2]={mooalg_name+"LVL2",mooalg_name+"Rec"}; Algorithm* subalg; const int nsub_algs = 2; for (int i=0; i<nsub_algs; ++i){ status = createSubAlgorithm(mooalg_name, mooAlgsName[i], subalg); if (status.isFailure()){ ini_log << MSG::ERROR << "Cannot create " << mooAlgsName[i] << endreq; } else { mooAlgs->push_back(dynamic_cast<T*>(subalg)); } } return status; Moore developers meeting 31/Jan/2003
N associated (MDT hits) N associated (RPC hits) Hits comparison Same dataset used for MooAlgs MooLVL2Algs The 2 different sets of algos are chained together Fit results from the same sample of events are directly compared 10GeV m- N associated (MDT hits) counts MooAlgs MooLVL2Algs 10GeV m- N associated (RPC hits) counts MooLVL2Algs MooAlgs Plans for testing a more general hit addition procedure Moore developers meeting 31/Jan/2003
c2 c2 c2 1TeV m- 10GeV m- counts MooLVL2Algs counts MooLVL2Algs MooAlgs 10GeV m- counts c2 Moore developers meeting 31/Jan/2003
1/pT pull 10GeV m- 10GeV m- counts counts MooLVL2Algs MooAlgs Moore developers meeting 31/Jan/2003
pT resolution 10GeV m- 10GeV m- counts counts MooLVL2Algs MooAlgs Moore developers meeting 31/Jan/2003
Plans for testing a more general hit addition procedure Hit Addition in Moore starts from RZSegments. The RZSegments in MooLVL2Algs are built from the output of LVL2 Trigger …not from the collection of digits. …….thinking over Moore developers meeting 31/Jan/2003
Moore Vs ATLAS releases Moore works until version 4.2.0 Broken in the range 4.3.0/4.5.0 Debug status for 4.6.0 (version m) No crash run-time, but mismatches in the digit collection………… ……..mismatches until 5.2.0 (included) Ready for tag in 5.3.0 Moore developers meeting 31/Jan/2003
Commit in 5.2.0 Bug fix (see Stefania’s talk) Adoption of DataVector instead of handle at EndOfEvent No more ``skip’’ ``pick’’ parameters in jobOptions.txt. Use EventSelector.EventNumbers instead jobOptions == Moore_jobOptions.txt Moore developers meeting 31/Jan/2003
New EDM Moore fully restructured. Giorgos is writing and redesigning a large part of the code A crazy(?) idea in order: MooLVL2Algs MooAlgs to keep the functionality of the code as it is now to have the possibility to compare the results and the performances (chain) MooStatistics MooNefeliAlgs MooEvent MooNefeliEvent ….better ideas? Moore developers meeting 31/Jan/2003