SUSYDPDMaker

Пакет SUSYDPDMaker - це утиліта, створена для користувачів робочої групи SUSY для створення основних DPD і, врешті-решт, також для створення вторинних та третинних DPD. Він бере ESD, AOD, а також SUSYDPD як вхідні дані та створює зменшені/розріджені/знежирені DPD як вихідні дані у вигляді файлів pool.root. Завдання AOD-> DPD (а також D1PD-> D2PD-> D3PD) налаштовується за допомогою сценаріїв python. Для схуднення/стоншення/обробки контейнерів/подій керується один і той же файл SUSYDPD_jobOption.py, але всі вони незалежні один від одного і створюватимуть різні потоки та окремі результати. PyParticleTools використовуються для створення первинного та вторинного DPD. Алгоритм схуднення, який використовується для створення основних DPD, є тими, що визначені в пакеті DPDUtils.

susydpdmaker

Поточна версія SUSYDPDMaker - 00-00-02. Це включає всі сценарії/приклади для схуднення/витончення/скіммінгу, визначені нижче.

Будь-які коментарі/пропозиції можна розміщувати в гіперновинах SUSY WG або безпосередньо на Fabrizio Salvatore.

Далі ви можете знайти інструкції щодо встановлення SUSYDPDMaker у версії 13.0.40 на сайті CERN.

- Спочатку підготуйте свій рахунок для запуску пакету; далі, пакет встановлюється в каталог із назвою "test", який визначено у "testarea" у вашій директорії $ HOME:

- Створіть файл вимог у cmthome, а потім запустіть config і setup.sh:

- Потім отримайте (і скомпілюйте) необхідні пакети:

- Тепер створіть каталог "run", який ви будете використовувати для запуску своїх AOD-> DPD завдань:

На цьому установка закінчена, і ви можете налаштувати своє завдання на створення DPD.

Основним сценарієм для запуску завдання AOD-> DPD є share/SUSYDPDMaker.py.

share/SUSYDPD_PoolOutput.py - це скрипт, що містить список контейнерів, вибраних для основних (а також вторинних/третинних) DPD. Список усіх доступних контейнерів AOD/ESD можна знайти на сторінці Atlas.AODClassSummary.

Файл спільного використання файлу jobOptions/SUSYDPD_jobOptions.py використовується для налаштування завдання та постачається сценарієм SUSYDPDMaker.py.

Для створення або модифікації DPD-файлів pool.root у SUSYDPDMaker/share наводяться приклади схуднення, витончення та знежирення. Для первинного виробництва DPD застосовуватимуться лише алгоритми схуднення. Описані нижче алгоритми проріджування та скіммінгу є лише прикладами того, що можна зробити для створення вторинних та третинних DPD, і надаються для того, щоб допомогти користувачам писати власні алгоритми проріджування/скіммінгу.

Схуднення

Шляхом схуднення контейнерів, об'єкт, який не представляє інтересу для аналізу, видаляється, щоб зменшити загальний розмір самого контейнера (наприклад, матриця помилок для треків з Pt GeV). У SUSYDPDMaker використовуються сценарії для зменшення струменя і доріжки, визначені в DPDUtils/share, та сценарій для зменшення істини, визначені в SUSYDPDMaker/share/TruthSlimming.py. Приклад схуднення можна побачити в share/SUSYDPD_PoolOutput.py. Якщо потрібно додати, а потім виконати більше сценаріїв для схуднення у визначенні завдання, сценарії для схуднення повинні бути визначені в SUSYDPDMaker/share/SUSYDPD_Slimming.py.

Змінна середовища:

визначається в SUSYDPD_jobOptions.py для запуску струменя і відстеження схуднення в завданні AOD-> DPD. Якщо також

істина для схуднення застосовується також для отримання первинного DPD. Потім "зменшені" контейнери додаються до файлу у форматі SUSYDPD_PoolOutput.py. Алгоритми схуднення повинні бути зареєстровані у вихідному потоці в SUSYDPD_PoolOutput.py таким чином:

Стоншення

Проріджування полягає у виписуванні лише частки контейнера. "Витончені" контейнери додаються в

потік у SUSYDPD_PoolOutput.py (як для "slmming" вище).

У цій версії SUSYDPDMaker існує 2 різні способи проріджування контейнерів.

Витончення за допомогою ThinningSvcWrapper у DPDUtils

Для використання цього методу встановіть UseAtlas.ThinningSvc змінна до Правда SUSYDPD_jobOptions.py. Є один приклад алгоритму витончення в SUSYDPDMaker/share/EleThinAlgo.py, який можна використовувати як шаблон. Цей алгоритм дозволить розріджити контейнер ElectronAOD, вибравши лише тих кандидатів з:

Алгоритми витончення повинні бути оголошені в share/SUSYDPD_Atlas.ThinningSvc.py, а потім зареєстровані у вихідному потоці в SUSYDPD_PoolOutput.py, наприклад:

Розріджений контейнер у вихідному DPD матиме однакову назву оригінального контейнера (наприклад, ElectronAODContainer у наведеному прикладі). За допомогою цієї послуги можна розріджувати лише такі контейнери:

Витончення за допомогою методу src/DPDThinner.cxx (глибока копія)

Для використання цього методу встановіть UseAtlas.ThinningSvc змінна до помилковий SUSYDPD_jobOptions.py.

Приклад проріджування можна знайти в SUSYDPDMaker/src/DPDThinner.cxx, який використовується для відбору лише тих кандидатів у контейнерах Electron, Photon, Muon Tau та Jet, які задовольняють певній вимозі (наприклад, Pt> 5 ГэВ). Керувати алгоритмами проріджування можна за допомогою файлу jobOptions SUSYDPDMaker/share/SUSYDPD_Thinning.py.

Отримані вихідні контейнери є "глибокою копією" оригінальних контейнерів, і назва розріджених контейнерів повинна відрізнятися від назви оригінальних (наприклад, у разі витончення контейнера ElectronAODContainer, розрідженого контейнера в DPD доведеться викликати, наприклад NewElectronAODContainer)

Скімінг

Знімання даних - це метод фільтрації подій, що записуються у вихідний DPD. На даний момент деякі алгоритми скіммінгу доступні в SUSYDPDMaker для обробки подій за допомогою конкретних скорочень на контейнерах Electron, Photon, Muon, MissingET, Tau, Jet та/або Track. Приклади можна знайти в:

Щоб алгоритми скіммінгу були ефективними, їх потрібно зареєструвати у вихідному потоці в SUSYDPD_PoolOutput.py, наприклад: якщо їх потрібно застосовувати в АБО, або так: якщо їх потрібно застосовувати в І. Алгоритми фільтру повинні бути оголошені в SUSYDPDMaker/share/SUSYDPD_Skimming.py, щоб застосувати їх у сценарії poolOutput. Потім "знежирені" контейнери додаються у файл SUSYDPD_PoolOutput.py (те саме, що і для "схуднення" та "витончення" вище).

Запуск SUSYDPDMaker інтерактивно для тестових цілей

Для проведення деяких інтерактивних тестів AOD-> DPD у цьому файлі SUSYDPD_jobOptions.py можна визначити вхідний AOD та вихідний файл DPD. Після того, як завдання налаштовано, зайдіть у каталог «запустити» і виконайте:

Це корисно для проведення інтерактивного тесту на правильність роботи установки та налаштування. Для запуску основного виробництва DPD будуть використані інструменти Grid (див. Приклад нижче).

Найпростіший спосіб створити DPD і зробити їх доступними кожному через dq2 - це запустити SUSYDPDMaker із "pathena". Для того, щоб зробити це, PandaTools потрібно встановити у вашому "тестареї", дотримуючись інструкцій нижче.

- Перейдіть у зону тестування:

- Встановіть інструменти Atlas.Panda:

- Зайдіть у каталог SUSYDPDMaker/cmt

- Змініть "вимоги", скасувавши коментарі в наступному рядку:

- Запустіть config, setup.sh, а потім зробіть:

- Зайдіть у каталог "запустити" та запустіть "pathena":

де - вхідний набір даних AOD, що підлягає обробці, і відповідний набір даних - вихідний. Ім'я вихідного набору даних має бути такого типу:

Після завершення завдання вихідний набір даних буде доступний на dq2. Будь ласка, перегляньте інструкції з робочої книги на DQ2, щоб отримати інформацію про те, як отримати набір даних за допомогою команд dq2.

Більше інформації про Atlas.Panda можна знайти тут.

Основні оновлення:
-- ФабріціоСальваторе - 17 березня 2008 р

% ВІДПОВІДАЛЬНИЙ% FabrizioSalvatore
% ОГЛЯД% Ніколи не перевірявся