manda07A / TriggerSimplePrescalesAnalyzer

0 stars 0 forks source link

como lidiar con el trigger y escribir la información #2

Open caredg opened 3 years ago

caredg commented 3 years ago

https://github.com/manda07A/TriggerSimplePrescalesAnalyzer/blob/7475260c40fa76e88565659be5dfcf14f344c34d/src/TriggerSimplePrescalesAnalyzer.cc#L149

Mas o menos como se hace acá:https://github.com/cms-opendata-analyses/AOD2NanoAODOutreachTool/blob/be1bbdf3024f0b91e72e52ed33f65cb94c5687ed/src/AOD2NanoAOD.cc#L64 uno podría leer los nombres de los triggers de la configuración y luego podrías crear vectores (uno por cada trigger) mas o menos como se acá en esta línea: https://github.com/cms-opendata-analyses/AOD2NanoAODOutreachTool/blob/be1bbdf3024f0b91e72e52ed33f65cb94c5687ed/src/AOD2NanoAOD.cc#L134 (aunque ahí se usa un array con número fijo por cada trigger). Nosotros quisieramos crear quizá un array de vectores. La dimensión del array es obviamente el número de triggers que el usuario introdujo.

vector triggervecs[ ];

para albergar 3 números en cada vector: estado, l1 prescale y hlt prescale.

estado de error =2= error (si es que error bit es 1) estado de no aceptado = 0 = was run (si es que el bit accepted es 0 y error no es 1) estado de aceptado = 1 = accepted (si es que el bit accepted es 1, was run es 1 y error es 0)

Esto se puede hacer de la manera que esta en el código de simple prescaler, pero estas líneas también pueden ayudar: https://github.com/cms-opendata-analyses/AOD2NanoAODOutreachTool/blob/be1bbdf3024f0b91e72e52ed33f65cb94c5687ed/src/AOD2NanoAOD.cc#L393

Y también habría que llenar con los prescales l1 y hlt.

Y ahora finalmente cómo escribir esto en los branches para cada trigger. Parece factible hacerlo algo así: https://github.com/cms-opendata-analyses/AOD2NanoAODOutreachTool/blob/be1bbdf3024f0b91e72e52ed33f65cb94c5687ed/src/AOD2NanoAOD.cc#L260