Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • emsmith/athena
  • dzubov/athena
  • pscholer/athena
  • akvam/athena
  • flasagni/athena
  • hartman/athena
  • alux/athena
  • berenice/athena
  • mschott/athena
  • mgenest/athena
  • pbalek/athena
  • dsalvato/athena
  • korcyl/athena
  • tlyubush/athena
  • lyubushk/athena
  • gstark/athena
  • yharris/athena
  • lmonsoni/athena
  • nagano/athena
  • lcorpe/athena
  • lshi/athena
  • rrosten/athena
  • ytsujika/athena
  • tiledemo/athena
  • abagdato/athena
  • fparodi/athena
  • tmoxter/athena
  • lheinric/athena
  • milu/athena
  • pyin/athena
  • juesseiv/athena-celeritas
  • mmlynari/athena
  • matthier/athena
  • jsandesa/athena
  • borisov/athena
  • zchubini/athena
  • mpenzin/athena
  • mcorradi/athena
  • okovanda/athena
  • meevans/athena
  • isiral/athena
  • haa2mu2tau/athena
  • nkvu/athena
  • andre/athena
  • ebakos/athena
  • gwmyers/athena
  • lportale/athena
  • vasothil/athena
  • bwinter/athena
  • brle/athena
  • camacho/athena
  • icioara/athena
  • mcentonz/athena
  • quli/athena
  • mikhail/athena
  • begilber/athena
  • gartoni/athena
  • abkahn/athena
  • mbasso/athena
  • pagacova/athena
  • dgancarc/athena
  • stefania/athena
  • gmarchio/athena
  • jolsson/athena
  • atlasdqm/athena
  • chuanshu/athena
  • yygao/athena
  • shimoji/athena
  • zhenw/athena
  • jojamies/athena
  • keli/athena
  • cnass/athena
  • beckerov/athena
  • passaggi/athena
  • marvin/athena
  • hdf5-utils/athena
  • pberta/athena
  • aaboulho/athena
  • acrobert/athena
  • ranjitn/athena
  • cescobar/athena
  • ktodome/athena
  • kastanas/athena
  • huirun/athena
  • atrzupek/athena
  • tzorbas/athena
  • lfountas/athena
  • ccarrion/athena
  • aambler/athena
  • derendar/athena
  • britzger/athena
  • hanl/athena
  • epender/athena
  • gipezzul/athena
  • mmineev/athena
  • robertma/athena
  • gnn4itkteam/athena
  • phkoenig/athena
  • pleier/athena
  • nguseyno/athena
  • nekumari/athena
  • avasyuko/athena
  • gtateno/athena
  • pavel/athena
  • reznicek/athena
  • aburke/athena
  • jiling/athena
  • jcordeir/athena
  • herrmant/athena
  • lmcelhin/athena
  • xuh/athena
  • averbyts/athena
  • tnommens/athena
  • ewallin/athena
  • tvazquez/athena
  • shbansal/athena
  • gascott/athena
  • yuhui/athena
  • lserkin/athena
  • corentin/athena
  • miochoa/athena
  • berkeleylab/CharmPhysics/athena
  • cdiez/athena
  • cpollard/athena
  • madurano/athena_gittutorial
  • ccaminch/athena
  • hfox/athena
  • ckirfel/athena
  • jakoubek/athena
  • msykora/athena
  • calfayan/athena
  • atlas/athena
  • kjohns/athena
  • toshi/athena
  • dguest/athena
  • aundrus/athena
  • akraszna/athena
  • karolos/athena
  • fwinkl/athena
  • wlampl/athena
  • jmontejo/athena
  • damazio/athena
  • okuprash/athena
  • smh/athena
  • rhauser/athena
  • turra/athena
  • tdado/athena
  • tadej/athena
  • phwindis/athena
  • abuckley/athena
  • jmasik/athena
  • pjacka/athena
  • arnaez/athena
  • tamartin/athena
  • tbold/athena
  • mhodgkin/athena
  • baines/athena
  • nstyles/athena
  • mark/athena
  • gemmeren/athena
  • mmuskinj/athena
  • ssnyder/athena
  • wwalko/athena
  • psommer/athena
  • emoyse/athena
  • bwynne/athena
  • pgadow/athena
  • solodkov/athena
  • rbielski/athena
  • tstreble/athena
  • dcasper/athena
  • ATLAS-EGamma/athena
  • mrybar/athena
  • ychiu/athena
  • christos/athena
  • yoyamagu/athena
  • yuxu/athena
  • rbianchi/athena
  • toyamaza/athena
  • graemes/athena
  • sshaw/athena
  • nikiforo/athena
  • shlomit/athena
  • hartj/athena
  • fpastore/athena
  • jcatmore/athena
  • harkusha/athena
  • ebuschma/athena
  • gunal/athena
  • mvozak/athena
  • ewelina/athena
  • leggett/athena
  • ligang/athena
  • sroe/athena
  • martindl/athena
  • lfiorini/athena
  • longjon/athena
  • almaloiz/athena
  • jichen/athena
  • cchan/athena
  • tlari/athena
  • peter/athena
  • susinha/athena
  • filthaut/athena
  • cvarni/athena
  • cshimmin/athena
  • mihuebne/athena
  • wleight/athena
  • jsallen/athena-high-pt-ms-jets
  • nwarrack/athena
  • dkar/athena
  • chays/athena
  • alfroch/athena
  • dtovey/athena
  • sgeorge/athena
  • mstamenk/athena
  • yafu/athena
  • okepka/athena
  • mgignac/athena
  • wiedenat/athena
  • tkohno/athena
  • janovak/athena
  • khoo/athena
  • maklein/athena
  • cohm/athena
  • tmkrtchy/athena
  • omajersk/athena
  • gingrich/athena
  • dbakshig/athena
  • schaarsc/athena
  • fernando/athena
  • ponyisi/athena
  • ravinab/athena
  • scheiric/athena
  • ekuwertz/athena
  • pleskot/athena
  • jobalz/athena
  • xai/athena
  • ebergeas/athena
  • ekasimi/athena
  • afaulkne/athena
  • achishol/athena
  • merrenst/athena
  • alaurier/athena
  • goetz/athena
  • dpopov/athena
  • mtoscani/athena
  • krumnack/athena
  • mdanning/athena
  • astruebi/athena
  • egramsta/athena
  • hye/athena
  • clseitz/athena
  • efilmer/athena
  • jpanduro/athena
  • bmindur/athena
  • ssarikay/athena
  • hyamauch/athena
  • ppostola/athena
  • ncalace/athena
  • aad/athena
  • shanisch/athena
  • gpanizzo/athena
  • tupham/athena
  • rcoelhol/athena
  • nkrengel/athena
  • stelzer/athena
  • ssottoco/athena
  • rkopelia/athena
  • turnerm/athena
  • sutt/athena
  • bernius/athena
  • cmcginn/athena
  • tsulaia/athena
  • stsuno/athena
  • vcairo/athena
  • yunju/athena
  • ldc/athena
  • mbandier/athena
  • jdandoy/athena
  • jmacdona/athena
  • mehlhase/athena
  • jufische/athena
  • nasbah/athena
  • dzanzi/athena
  • kwhalen/athena
  • kzoch/athena
  • amete/athena
  • bmorgan/athena
  • rcarney/athena
  • williams/athena
  • msaimper/athena
  • shhirose/athena
  • hhibi/athena
  • cheidegg/athena
  • heng/athena
  • cdeutsch/athena
  • kkohler/athena
  • coccaro/athena
  • loch/athena
  • ynoguchi/athena
  • nova/athena
  • campanel/athena
  • wbalunas/athena
  • hoide/athena
  • todorova/athena
  • xju/athena
  • sjiggins/athena
  • yuchou/athena
  • bgokturk/athena
  • hrussell/athena
  • aytul/athena
  • jbiswal/athena
  • lidiaz/athena
  • guerrero/athena
  • kegraham/athena
  • kpachal/athena
  • mverissi/athena
  • bouhova/athena
  • alwang/athena
  • mvanadia/athena
  • dhayden/athena
  • alopezso/athena
  • omeshkov/athena
  • mvessell/athena
  • ssantpur/athena
  • kenelson/athena
  • upatel/athena
  • soumya/athena
  • fmeloni/athena
  • ruyuan/athena
  • igrabows/athena
  • dshope/athena
  • tvarol/athena
  • mhank/athena
  • korona/athena
  • cowagner/athena
  • anperrev/athena
  • eramakot/athena
  • tursom/athena
  • dbogavac/athena
  • fsforza/athena
  • tnobe/athena
  • derue/athena
  • angianni/athena
  • koffas/athena
  • fgiuli/athena
  • ballbroo/athena
  • chinderk/athena
  • diehl/athena
  • myexley/athena
  • falonso/athena
  • davidek/athena
  • tphamleh/athena
  • hansenph/athena
  • ekajomov/athena-general
  • sarbiolv/athena
  • salvator/athena
  • mfujimot/athena
  • masato/athena
  • hirose/athena
  • jhaley/athena
  • stavrop/athena
  • stapiaar/athena
  • jmendes/athena
  • nwenke/athena
  • ffabbri/athena
  • tpelzer/athena
  • dbabal/athena
  • agbet/athena
  • gia/athena
  • hmildner/athena
  • cdelitzs/athena
  • juesseiv/athena
  • kkrizka/athena
  • dwallace/athena
  • temoskal/athena
  • eschanet/athena
  • asonay/athena
  • iaizenbe/athena
  • lferencz/athena
  • ckitsaki/athena
  • jiawei/athena
  • czhou/athena
  • pmeiring/athena
  • mromano/athena
  • rustem/athena
  • jteoh/athena
  • sswatman/athena
  • miqueits/athena
  • jbeirer/athena
  • nielsenj/athena
  • liberato/athena
  • elmsheus/athena
  • wachan/athena
  • asquith/athena
  • ranovotn/athena
  • nicholas/athena
  • markowen/athena
  • esoldato/athena
  • eparrish/athena
  • fuhe/athena
  • aranzazu/athena
  • dakoch/athena
  • ndegroot/athena
  • lihan/athena
  • asoukhar/athena
  • jkempste/athena
  • tjunkerm/athena
  • aporeba/athena
  • sschramm/athena
  • ginaciog/athena
  • verducci/athena
  • martis/athena
  • mhance/athena
  • anmrodri/athena
  • mdelmast/athena
  • pliu/athena
  • mswiatlo/athena
  • ssaha/athena
  • gabarone/athena
  • scamarda/athena
  • fastcalosim_test/athena
  • bcarlson/athena
  • amoussa/athena
  • mxia/athena
  • rlongo/athena
  • mdonasci/athena
  • conde/athena
  • lstocker/athena
  • mmittal/athena
  • chelling/athena
  • ffollega/athena
  • guindon/athena
  • gialas/athena
  • hmaguire/athena
  • fcostanz/athena
  • shion/athena
  • sberlend/athena
  • acts/athena
  • zsoumaim/athena
  • cgutscho/athena
  • sschmitt/athena
  • dwilbern/athena
  • nifomin/athena
  • evarnes/athena
  • laforge/athena
  • akotsoke/athena
  • guescini/athena
  • eriefel/athena
  • jkremer/athena
  • istin/athena
  • haozturk/athena
  • kkoeneke/athena
  • rpoggi/athena
  • susy-hackers/athena
  • acanesse/athena
  • llorente/athena
  • fizisist/athena
  • rkarnam/athena
  • fengyu/athena
  • ivivarel/athena
  • chenlian/athena
  • ysmirnov/athena_old
  • cmerlass/athena
  • amulski/athena
  • bulekov/athena
  • navarrjo/athena
  • pkramer/athena
  • vcavalie/athena
  • sanchevi/athena
  • bauerpa/athena
  • smwang/athena
  • sefernan/athena
  • yanlin/athena
  • mmazza/athena
  • restevam/athena
  • thsjurse/athena
  • mmlynars/athena
  • iyeletsk/athena
  • wobisch/athena
  • itrandaf/athena
  • almgadm/athena
  • jgonski/athena
  • jhinds/athena
  • csebasti/athena
  • tiyang/athena
  • mwielers/athena
  • lapereir/athena
  • lmiller/athena
  • mtchijov/athena
  • aleopold/athena
  • zuysal/athena
  • emmat/athena
  • lucam/athena
  • kciesla/athena
  • somadutt/athena
  • rbalasub/athena
  • pekman/athena
  • salderwe/athena
  • masaito/athena
  • ycoadou/athena
  • jstupak/athena
  • simmons/athena
  • wmccorma/athena
  • kkreul/athena
  • ilongari/athena
  • adye/athena
  • kbelobor/athena
  • wtaylor/athena
  • jzeng/athena
  • pinamont/athena
  • aoneill/athena
  • ssahin/athena
  • gcallea/athena
  • dmaximov/athena
  • cschiavi/athena
  • fbartels/athena
  • kghorban/athena
  • ljeanty/athena
  • jraine/athena
  • kasai/athena
  • ecarlson/athena
  • brottler/athena
  • aelmouss/athena
  • mcfayden/athena
  • rozeny/athena
  • khanov/athena
  • nbelyaev/athena
  • gotero/athena
  • scarra/athena
  • rebeca/athena
  • abandyop/athena
  • joheinri/athena
  • doglioni/athena
  • amarzin/athena
  • alaperto/athena
  • bhonan/athena
  • aohatl/athena
  • rgarg/athena
  • bigliett/athena
  • pmoskvit/athena
  • jajimene/athena
  • begalli/athena
  • yajun/athena
  • mpokidov/athena
  • dpudzha/athena
  • paulama/athena
  • atlidali/athena
  • lbozianu/athena
  • barak/athena
  • vcroft/athena
  • torrence/athena
  • demelian/athena
  • mtesta/athena
  • tofitsch/athena
  • wprzygod/athena
  • sgalantz/athena
  • hacooke/athena
  • roward/athena
  • salnikov/athena
  • csander/athena
  • atsirigo/athena
  • mmiralle/athena
  • amoroso/athena
  • elrossi/athena
  • alory/athena
  • jsabater/athena
  • ozaplati/athena
  • ymino/athena
  • pottgen/athena
  • jdevivi/athena
  • pbokan/athena
  • klin/athena
  • xchen/athena
  • ruth/athena
  • trinn/athena
  • apetukho/athena
  • xiaoning/athena
  • cappelt/athena
  • nelsonc/athena
  • ratkin/athena
  • nishu/athena
  • paramon/athena
  • juhofer/athena
  • exot-27/athena
  • bleban/athena
  • enarayan/athena
  • qhu/athena
  • acassim/athena
  • bburghgr/athena
  • dpizzi/athena
  • mmarjano/athena
  • ztarem/athena
  • sampson/athena
  • mkrivos/athena
  • pagessin/athena
  • ychow/athena
  • hessey/athena
  • nviauxma/athena
  • watsona/athena
  • ibordule/athena
  • wfawcett/athena
  • LichtenbergGroup/athena
  • perj/athena
  • jreich/athena
  • mleblanc/athena
  • othielma/athena
  • ztao/athena
  • sridouan/athena
  • jdegens/athena
  • alainb/athena
  • wgeorge/athena
  • hasada/athena
  • bachacou/athena
  • pmendesa/athena
  • kristin/athena
  • yake/athena
  • yama/athena
  • xiaohu/athena
  • ssu/athena
  • ludovica/athena
  • musafdar/athena
  • jlsmith/athena
  • ktsuri/athena
  • angerami/athena
  • rnayak/athena
  • pebaron/athena-weights
  • jezequel/athena
  • gproto/athena
  • hschwart/athena
  • mproffit/athena
  • asalzbur/athena
  • rerrabai/athena
  • csamoila/athena
  • lhelary/athena
  • amendesj/athena
  • lbeemste/athena
  • malgren/athena
  • tiany/athena
  • mprincip/athena
  • spolacek/athena
  • grabanal/athena
  • aczirkos/athena
  • asantra/athena
  • bmondal/athena
  • tboeckh/athena
  • kyamaguc/athena
  • jroloff/athena
  • jreidels/athena
  • silvinha/athena
  • bozek/athena
  • holau/athena
  • mdhlamin/athena
  • slawlor/athena
  • lkrauth/athena
  • emily/athena
  • iramirez/athena
  • tdiasdov/athena
  • bbrueers/athena
  • carlod/athena
  • mtian/athena
  • idinu/athena
  • mgrabois/athena
  • bcole/athena
  • ecelebi/athena
  • dhirsch/athena
  • oducu/athena
  • hmoyanog/athena-4-mr
  • jjwilkin/athena
  • roishi/athena
  • exochell/athena
  • ygo/athena
  • yuanchan/athena
  • sbiryuko/athena
  • skorn/athena
  • ggustavi/athena
  • diwillia/athena
  • scalvet/athena
  • jwspence/athena
  • honguyen/athena
  • cgarner/athena
  • changqia/athena
  • jizamora/athena
  • calpigia/athena
  • adimitri/athena
  • atsiamis/athena
  • yangx/athena
  • rysawada/athena
  • dhangal/athena
  • iene/athena
  • atlidbs/athena
  • cmarcon/athena
  • kpetukho/athena
  • athaler/athena
  • tbisanz/athena
  • tqiu/athena
  • jcardena/athena
  • jspah/athena
  • jkretz/athena
  • dopasqua/athena
  • ryamaguc/athena
  • tzenis/athena
  • oshukrun/athena
  • hzuchen/athena
  • maliev/athena
  • fdelrio/athena
  • mbiros/athena
  • mumohdso/athena2
  • lveloce/athena
  • sagara17/athena
  • tsano/athena
  • iwang/athena
  • mumohdso/athena
  • okumura/athena
  • koshimiz/athena
  • arennie/athena
  • valentem/athena
  • atate/athena
  • evguillo/athena
  • dmunozpe/athena
  • rhayes/athena
  • dossantn/athena
  • zearnsha/athena
  • zhijie/athena
  • caforio/athena
  • bnachman/athena
  • suyounas/athena
  • maly/athena
  • lunedic/athena
  • hlin/athena
  • rjoshi/athena
  • machitis/athena
  • yuzhan/athena
  • thompson/athena
  • mtost/athena
  • lvannoli/athena
  • crougier/athena
  • mimarine/athena
  • dounwuch/athena
  • omezhens/athena
  • jonierma/athena
  • ndebiase/athena
  • nkakati/athena
  • saclawso/athena
  • mischott/athena
  • cprat/athena
  • martinpa/athena
  • echeu/athena
  • hhanif/athena
  • sahinsoy/athena
  • csauer/athena
  • inaryshk/athena
  • tiknight/athena
  • jodamp/athena
  • wendlanb/athena
  • fedin/athena
  • lkeszegh/athena
  • xchu/athena
  • knikolop/athena
  • adik/athena
  • jaoliver/athena
  • angrigor/athena
  • pbellos/athena
  • lbaltes/athena
  • idrivask/athena
  • echeremu/athena
  • aikoulou/athena
  • ignesi/athena
  • ntamir/athena
  • eschopf/athena
  • sadykov/athena
  • pyanezca/athena
  • haweber/athena
  • sgurdasa/athena
  • pamachad/athena
  • algilber/athena
  • hiito/athena
  • tavandaa/athena
  • pbhattar/athena
  • tteixeir/athena
  • wolter/athena
  • mdrozdov/athena
  • veellajo/athena
  • bsaifudd/athena
  • fsili/athena
  • nheatley/athena
  • fdibello/athena
  • minaenko/athena
  • dparedes/athena
  • mzhai/athena
  • hsimpson/athena
  • chchau/athena
  • zyan/athena
  • mrenda/athena
  • zhangr/athena
  • rkusters/athena
  • emmarsha/athena
  • jburzyns/athena
  • edweik/athena
  • slai/athena
  • phkenned/athena
  • awilhahn/athena
  • javanden/athena
  • zmarshal/athena
  • agaa/athena
  • zfeng/athena
  • leevans/athena
  • kkrowpma/athena
  • zifeng/athena
  • llaatu/athena
  • srdas/athena
  • atropina/athena
  • adonofri/athena
  • metsai/athena
  • stsigari/athena
  • atlaspmb/athena
  • cleonido/athena
  • yuanda/athena
  • drousso/athena
  • ademaria/athena
  • seggebre/athena
  • mnoury/athena
  • arombola/athena
  • kchoi/athena
  • axiong/athena
  • dgillber/athena
  • saktas/athena
  • ijuarezr/athena
  • eyamashi/athena
  • qibin/athena
  • zang/athena
  • matakagi/athena
  • amdesai/athena
  • nlopezca/athena
  • berkeleylab/lowmutracking/athena
  • fbendebb/athena
  • bshresth/athena
  • acanbay/athena
  • tbuanes/athena
  • klassen/athena
  • jferrand/athena
  • egodden/athena
  • hawatson/athena
  • cbuitrag/athena
  • otheiner/athena-official
  • hpotti/athena
  • chonghao/athena
  • mfarring/athena
  • lmontana/athena
  • parodi/athena
  • dzengerj/athena
  • knakkali/athena
  • vtudorac/athena
  • bballard/athena
  • zhuyi/athena
  • buboehm/athena
  • adaribay/athena
  • dcieri/athena
  • weixi/athena
  • cimcp/athena
  • asansar/athena
  • cantel/athena
  • iliadis/athena
  • jburr/athena
  • kbenkend/athena
  • duperrin/athena
  • dkoeck/athena
  • isotarri/athena
  • frenner/athena
  • czodrows/athena
  • bstanisl/athena
  • mfewell/athena
  • eegidiop/athena
  • blumen/athena
  • yulei/athena
  • miholzbo/athena
  • amincer/athena
  • smitani/athena
  • olangrek/athena
  • alsala/athena
  • gshatri/athena
  • jmharris/athena
  • hpang/athena
  • clantz/athena
  • jgargan/athena
  • gripelli/athena
  • ewatton/athena
  • otheiner/athena
  • tizuo/athena
  • mleigh/athena
  • preselection-hackathon/athena
  • rushioda/athena
  • sfranche/athena
  • deniso/athena
  • smeriano/athena
  • mfernoux/athena
  • chandler/athena
  • bernardo/athena
  • viruelas/athena
  • jnitschk/athena
  • anghosh/ef-anindya
  • pebaron/athena-td
  • ksugizak/athena
  • rtagami/athena
  • davetisy/athena
  • jgombas/athena
  • vcepaiti/athena
  • yusano/athena
  • skaur/athena
  • hriani/athena
  • wsherman/athena
  • yochi/athena
  • sroygara/athena
  • apsallid/athena
  • pakontax/athena
  • abunka/athena
  • chji/athena
  • agavrily/athena
  • dmclaugh/athena
  • yuanj/athena
  • dmahon/athena
  • mcgensvc/athena
  • mshapiro/athena
  • almay/athena
  • cjmeyer/athena
  • qberthet/athena
  • islazyk/athena
  • dkobylia/athena
  • giagu/athena
  • yuwen/athena
  • ekay/athena
  • mbarel/athena
  • baitbenc/athena
  • rdinardo/athena
  • glamprin/athena
  • dakiyama/athena
  • mlanzacb/athena
  • osalin/athena
  • szambito/athena
  • minlin/athena
  • cgrefe/athena
  • wsfreund/athena
  • hwilkens/athena
  • beringer/athena
  • schaffer/athena
  • yyap/athena
  • kazhang/athena
  • pebaron/athena
  • mspalla/athena
  • fcalosim/athena
  • enagy/athena
  • tkharlam/athena
  • menke/athena
  • smobius/athena
  • carquin/athena
  • mavogel/athena
  • spagan/athena
  • mduehrss/athena
  • osunnebo/athena
  • rateixei/athena
  • okiverny/athena
  • jelena/athena
  • dportill/athena
  • desilva/athena
  • chhayes/athena
  • jwalder/athena
  • sanmay/athena
  • lmijovic/athena
  • junpei/athena
  • satom/athena
  • jahreda/athena
  • tilebeam/athena
  • mcarnesa/athena
  • kiabelin/athena
  • jedebevc/athena
  • jstark/athena
  • vtskhaya/athena
  • delsart/athena
  • krbjoerk/athena
  • cyoung/athena
  • yifany/athena
  • mtogawa/athena
  • silu/athena
  • jtanaka/athena
  • maslawin/athena
  • haoran/athena
  • luxin/athena
  • minghui/athena
  • faser/offline/athena
  • dcasperfaser/athena
  • danning/athena
  • almeidvi/athena
  • beddall/athena
  • cfan/athena
  • kazheng/athena
  • mmontell/athena
  • vmartin/athena
  • srettie/athena
  • sudha/athena
  • beltran/athena-fork
  • kgupta/athena
  • pajones/athena
  • ssinha/athena
  • joana/athena
  • lgagnon/athena
  • dpanchal/athena
  • lhenkelm/athena
  • anbaraja/athena
  • mtanasin/athena
  • serodrig/athena
  • amorenos/athena
  • jshahini/athena
  • kkawade/athena
  • apalazzo/athena
  • vbuxbaum/athena
  • chiodini/athena
  • lfeligio/athena
  • gonzalri/athena
  • jaofferm/athena
  • kburka/athena
  • desengup/athena
  • rmazini/athena
  • gottino/athena
  • ehaines/athena
  • mdidenko/athena
  • qidong/athena
  • sabidi/athena
  • gavrilen/athena
  • bkerridg/athena
  • jingjing/athena
  • hazeng/athena
  • ktackman/athena
  • yche/athena
  • yoyeh/athena
  • dwkim/athena
  • cdimitri/athena
  • asciandr/athena
  • ktopolni/athena
  • dabattul/athena
  • attrtcal/athena
  • mischott/athena-22
  • sgaid/athena
  • thmaurin/athena
  • chjiang/athena
  • bochen/athena
  • pclark/athena
  • krdona/athena
  • lbazzano/athena
  • rushioda/athena-3
  • nlad/athena
  • meiqi/athena
  • dtorresa/athena
  • kvidalgu/athena
  • jcurran/athena
  • aaikot/athena
  • hmoyanog/athena
  • aackerma/athena
  • xinfei/athena
  • maboelel/athena
  • lesplend/athena
  • yingjun/athena
  • rmakhman/athena
  • mschefer/athena
  • aivina/athena
  • xinhui/athena
  • kazheng/athena-physics-val-2023
  • shhan/athena
  • zhiliang/athena
  • zoduan/athena
  • liuk/athena
  • sfrances/athena
  • bdixit/athena
  • alsidley/athena
  • xingguo/athena
  • kyjones/topoetcone-removal
  • jlue/athena
  • ragrabar/athena
  • niabicht/athena
  • shahzad/athena
  • yunagai/athena
  • keener/athena
  • asehrawa/athena
  • mhoppesc/athena
  • yinmiao/athena
  • llewitt/athena
  • bschlag/athena
  • lcalic/athena-backup
  • greynold/athena
  • kazheng/athena-workingpoint
  • agentry/athena
  • bruckman/athena
  • drankin/athena
  • adohnalo/athena
  • asmaga/athena
  • nkang/athena
  • kbhide/athena
  • hvanders/athena
  • ladamczy/test
  • losanti/athena
  • tbeumker/athenatest
  • tbeumker/athena
  • berkeleylab/acts/athena
  • weitao/athena
  • losanti/athena-23
  • menu-hackathon/athena
  • jiturriz/athena
  • dmankad/athena-idle
  • kyjones/trigger-example
  • vmaksimo/athena
  • wsong/athena
  • seggebre/athena-fluencemap-modification
  • dawerner/athena
  • fisopkov/athena
  • toobauma/athena
  • edreyer/athena
  • gtarna/athena
  • smanzoni/athena
  • lprimomo/athena
  • shmukher/athena
  • maparo/athena
  • SecVtx-Lancaster/Athena
  • aackerma/atlas-athena
  • jcrosby/athena
  • pgraveli/athena
  • wstanek/athena
  • adimri/athena
  • tovsiann/athena
  • lrambell/athena
  • eullmank/athena
  • atlas-sa-uct/athena
  • ppotepa/athena
  • zgao/athena
  • rsnyder/athena
  • lroos/athena
  • skita/athena
  • mhemmett/athena
  • achakrav/athena
  • kgoto/athena
  • xmapekul/athena
  • thmaurin/athena-sim-flavour
  • evitale/athena
  • arej/athena
  • npond/athena
  • rashbypi/athena
  • ivyas/athena
  • lkretsch/athena
  • epasqual/athena
  • jebohm/athena
  • cvittori/athena
  • aleksand/athena
  • hluk/athena
  • mbiyabi/athena
  • aralves/athena
  • dbiswas/athena
  • mihe/athena
  • mkareem/athena
  • dkoeck/anniathenafork
  • tslee/athena
  • mhaacke/athena
  • rgupta/athena
  • cgarvey/athena
  • kesedlac/athena
  • ctosciri/athena-old
  • ctosciri/athena
  • croland/athena
  • pkumari/athena
  • ricunnin/athena
  • feickert/athena
  • asoflau/athena
  • agerwin/athena
  • gtolkach/athena
  • bdixit/masking-strip-modules
  • gwilliam/athena
  • jfeng2/athena
  • gfrattar/athena
  • bscheuer/athena
  • ksudo/athena
  • rhiguchi/athena
  • etoyoda/athena
  • gaofeng/athena
  • svanstro/athena
  • kosuzuki/athena
  • hart/athena
  • rmizuhik/athena
  • kkanke/athena
  • tpaschoa/athena
  • vaustrup/athena
  • tnakagaw/athena
  • amakita/athena
  • maoki/athena
  • miyamada/athena
  • rishikaw/athena
  • whopkins/athena
  • dduda/athena
  • aagaard/athena
  • anayaz/athena
  • ferusso/athena
  • shudong/athena
  • evalient/athena
  • smweber/athena
  • evalient/athena-dnn-calculator
  • smweber/athena-run-3
  • zyan/athena-muon-calib
  • dellacqu/athena
  • zyan/athena-muon-calib-stream
  • strom/athena
  • strom/athena-dms
  • sbellman/athena
  • glagafon/project-nimber-1
  • jsallen/athena
  • aowang/athena
  • brosser/athena
  • macretar/athena
  • skadir/athena-sadaf
  • ooncel/athena
  • glagafon/handi-project
  • wuxi/athena
  • syan/athena-syan
  • leguo/athena
  • tygeorge/athena
  • jhoya/athena
  • osotosan/athena
  • glagafon/handi-project-1
  • hasun/athena
  • axgallen/athena-qualification-task
  • will/athena
  • karakawa/athena
  • mnorfolk/athena
  • aborbely/athena
  • schernau/athena
  • taogawa/athena
  • ktariq/athena
  • mmaroun/ravina-fork
  • axgallen/athena
  • seinfant/athena
  • dmankad/athena-gen
  • tmlinare/athena
  • agarabag/athena
  • vlysenko/athena
  • romar/athena
  • mahorstm/athena
  • zuzak/athena
  • dhagan/athena
  • ibamwidh/athena
  • tizhang/athena
  • ipolishc/athena
  • atishelm/athena
  • huayu/athena
  • jolamber/athena
  • jlue/athena-latest
  • xilin/athena
  • frfische/athena
  • ykhoulak/myathena
  • yil/athena
  • chuanye/athena
  • kifarman/athena
  • nkua-atlas/athena
  • tayoshid/athena
  • dntounis/athena
  • steinber/athena-main
  • nischmit/athena
  • lderamo/athena
  • movincen/athena
  • dtruncal/athena
  • tdingley/athena
  • kazheng/athena-acts
  • dongyi/athena
  • malvesca/athena
  • mnowak/athena
  • hasegawa/athena
  • glagafon/dq-optimize
  • ekajomov/athena-fork-fix
  • ladamczy/athena
  • mhufnage/athena
  • lsultana/obsolete_athena
  • lsultana/athena
  • openc/athena
  • lcalic/athena
  • kfung/athena
  • rqian/athena
  • anfortma/athena
  • yonoda/athena
  • alveltma/athena
  • anstein/athena
  • alpleban/athena
  • mmaheshw/athena
  • jdavidso/athena
  • edcritel/athena
  • pebaron/athena-leprem
  • gbird/athena
  • midandre/athena
  • bglik/athena
  • anhodges/athena
  • mvivasal/athena
  • mfurukaw/athena
  • sokkerma/athena
  • asbrooks/athena
  • kyjones/athena
  • mveen/athena
  • fcurcio/athena
  • jmcgowan/athena
  • mmlynars/athena-v-2
  • joroemer/athena
  • tburatov/athena
  • lboccard/athena
  • ivyoung/athena
  • tayoshid/athena-test
  • jodafons/athena
  • dmankad/athena
  • drasslof/athena
  • ctaybi/athena
  • tmclachl/athena
  • anburger/athena
  • sanchezj/athena-2022
  • jiddon/athena
  • sdemiran/athena
  • fwinkel/athena
  • apfleger/athena
  • sdahbi/athena
  • sidoti/athena
  • mmoors/athena
  • izahir/athena
  • sanchezj/athena
  • goblirsc/athena
  • obut/athena
  • jwkraus/athena
  • rvinasco/athena
  • esimpson/athena
  • klleras/athena
  • rhaberle/athena
  • dta/athena_old
  • jhowarth/athena
  • janders/athena
  • jchapman/athena
  • avallier/athena
  • jecouthu/athena
  • dtrischu/athena
  • mungo/athena
  • fmontere/athena
  • sfuenzal/athena
  • misantan/athena
  • zalegria/athena
  • fhenry/athena
  • gdigrego/athena
  • awharton/Athena
  • zhaotong/athena
  • amelo/athena
  • shaoguan/athena
  • nbruscin/athena
  • acordeir/athena-ed
  • peiyan/athena
  • pdougan/athena
  • mkholoda/athena
  • backes/athena
  • fkirfel/athena
  • caiy/athena
  • tayoshid/athena-2024
  • kchu/athena
  • bcervato/athena
  • esampson/athena-idart
  • gfacini/athena
  • fwinkl2/athena
  • gmascare/athena
  • gmercado/athena
  • rhowen/athena
  • shpeng/athena-2
  • esampson/athena-idart-2
  • nharriso/athena
  • costanzo/athena
  • djlewis/athena
  • yvolkotr/athena
  • yuematsu/athena
  • esampson/athena-otp
  • pibutti/athena
  • bmoser/athena
  • esampson/athena-june-otp
  • yilin/athena
  • alpleban/athena-met
  • astefl/athena
  • bdong/athena
  • wcastigl/athena
  • zhanhang/athena
  • lbarrade/athena
  • ksahan/athena
  • msasada/athena
  • agheata/athena
  • thitchin/athena
  • sosarkar/athena-again
  • txu/athena
  • seth/athena
  • robouque/athena
  • nsurijr/athena
  • zhangbo/athena
  • mlyukova/athena
  • esampson/june-2-otp
  • okolay/athena
  • wema/athena
  • dbaronmo/athena
  • damperia/athena-acts
  • eballabe/athena
  • boudreau/athena
  • acamplan/athena
  • martyniu/athena
  • bngair/met-significance-r-22
  • vsasse/athena
  • vkost/athena
  • bngair/me-tsig-athena
  • menadeem/athena
  • bhuth/athena
  • ksakura/athena
  • atymchys/athena
  • domatter/athena
  • yanqiw/athena
  • linghua/athena
  • rhicks/athena
  • arelycg/athena
  • mwessels/athena
  • skadir/athena
  • sgoswami/athena
  • beltran/athena
  • juscerri/athena
  • biliu/athena
  • sosarkar/athena
  • dreikher/athena
  • hshaddix/athena
  • bdebjani/athena
  • ddicroce/athena
  • lwinkler/athena
  • emoon/athena
  • fladias/athena
  • mhabedan/athena
  • elham/athena
  • haren/athena
  • cleong/athena
  • nkrogh/athena
  • sdiefenb/athena-onnx-tutorial
  • dwilson/athena
  • fivone/athena
  • thart/athena
  • mads/athena
  • kenakamu/athena
  • lsanfili/athena
  • echerepa/athena
  • baer/athena
  • scane/athena
  • dahumphr/athena
  • lifoster/athena
  • alancast/athena
  • haotianl/athena
  • glagafon/aaaathena
  • eskorda/athena
  • dcamarer/athena
  • glagafon/athena
  • rshibata/athena
  • salopez/athena
  • ukhurshi/athena
  • glagafon/glagafon-dq
  • lburke/athena
  • delitez/athena
  • rvavrick/athena
  • therwig/athena
  • pizhang/athena
  • htsoi/athena
  • pachabri/athena
  • mmantina/athena
  • lcorazzi/athena
  • casadop/athena
  • jaburles/athena
  • mwitkows/athena
  • ezaya/athena
  • hzhuang/athena
  • achamber/athena
  • lmonaco/athena
  • rmole/athena
  • gserenis/athena
  • mamirono/athena
  • jkrupa/athena
  • mfornasi/athena
  • rpozzi/athena
  • semami/athena
  • fdattola/athena
  • jinglis/athena
  • belderto/athena
  • uepstein/athena
  • abesir/athena
  • ljerala/athena
  • cmavungu/athena
  • lechols/athena
  • lopezzot/athena
  • jajohnso/athena
  • jlittle/athena
  • htorre/athena
  • fsiegert/athena
  • tneep/athena
  • robouque/athena-20241115
  • wguerin/athena
  • rmole/athena-personal-fork
  • kfang/athena-fork-kyfang
  • lbrown/athena
  • wenjingw/athena
  • kgrimm/athena-kgrimm
  • jackersc/athena
  • ashirazi/athena
  • epompapa/athena
  • prmitra/athena
  • wasu/athena
  • amoreira/athena
  • toheintz/athena
  • aslobodk/athena
  • nihartma/athena
  • goetz/athena-acts
  • kdipetri/athena
  • djuarezg/athena
  • yazhou/athena
  • alarnold/athena
  • gfazzino/athena
  • muschmid/athena
  • wlai/athena
  • rohasan/athena
  • falves/athena
  • mdacunha/athena
  • mborodin/athena
  • asickles/athena
  • alecrhys/athena
  • novotnyp/athena
  • ibenaoum/athena
  • lvicenik/athena
  • adsalvad/athena
  • zetao/athena
  • christog/athena
  • tflee/athena
  • kkazakov/athena
  • frcastig/athena
  • mfarzali/athena
  • ehampshi/athena
  • llarson/athena
  • tomoya/athena-low-pt-muon-rec
  • pusharma/athena
  • jusilva/athena
  • hshaddix/athena-hshaddix
  • gpinheir/athena
  • exochell/my-athena
  • vchabala/athena
  • mojeda/athena
  • jecifuen/athena
  • chhultqu/athena
  • jlieberm/athena
  • nsur/athena-lund
  • jlai/athena
  • misavic/athena
  • yukari/athena
  • camccrac/athena
  • nshtokha/athena
  • pmourafr/athena
  • sizumiya/athena
  • yuxuanz/local-athena
  • akraus/athena
  • sawyer/athena
  • mnegrini/athena
  • zhubacek/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • mfilipig/athena
  • rkavak/athena
  • zrokavec/athena
  • fdejean/athena
  • gipoddar/athena
  • ssuravar/athena
  • gsalvi/athena
  • beyeo/athena
  • sutuncay/athena
  • mtancock/athena-2
  • vpires/athena-vasco
  • ywng/athena
  • fballi/athena
  • stlin/athena
1576 results
Show changes
Showing
with 397 additions and 144 deletions
......@@ -27,6 +27,7 @@ atlas_add_library( FlavorTagDiscriminants
Root/DL2Tool.cxx
Root/customGetter.cxx
Root/FlipTagEnums.cxx
Root/AssociationEnums.cxx
Root/VRJetOverlapDecorator.cxx
Root/VRJetOverlapDecoratorTool.cxx
Root/HbbTag.cxx
......@@ -44,6 +45,7 @@ atlas_add_library( FlavorTagDiscriminants
if (NOT XAOD_STANDALONE)
atlas_add_component( FlavorTagDiscriminantsLib
src/BTagDecoratorAlg.cxx
src/JetTagDecoratorAlg.cxx
src/BTagToJetLinkerAlg.cxx
src/JetToBTagLinkerAlg.cxx
src/BTagTrackLinkCopyAlg.cxx
......
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ASSOCIATION_ENUMS_HH
#define ASSOCIATION_ENUMS_HH
#include <string>
namespace FlavorTagDiscriminants {
enum class TrackLinkType {
TRACK_PARTICLE,
IPARTICLE
};
TrackLinkType trackLinkTypeFromString(const std::string&);
}
#endif
......@@ -5,41 +5,26 @@
#ifndef BTAG_DECORATOR_ALG_H
#define BTAG_DECORATOR_ALG_H
#include "AthenaBaseComps/AthReentrantAlgorithm.h"
#include "FlavorTagDiscriminants/DecoratorAlg.h"
#include "FlavorTagDiscriminants/IBTagDecorator.h"
#include "xAODBTagging/BTaggingContainer.h"
#include "xAODTracking/TrackParticleContainer.h"
#include "StoreGate/WriteDecorHandleKey.h"
#include "StoreGate/ReadDecorHandleKey.h"
namespace detail {
using BTag_t = FlavorTagDiscriminants::DecoratorAlg<
xAOD::BTaggingContainer,
IBTagDecorator,
xAOD::TrackParticleContainer
>;
}
namespace FlavorTagDiscriminants {
class BTagDecoratorAlg : public AthReentrantAlgorithm
class BTagDecoratorAlg : public detail::BTag_t
{
public:
BTagDecoratorAlg(const std::string& name, ISvcLocator* svcloc);
virtual StatusCode initialize() override;
virtual StatusCode execute(const EventContext& cxt) const override;
virtual StatusCode finalize() override;
private:
SG::ReadHandleKey<xAOD::BTaggingContainer> m_btagContainerKey {
this, "btagContainer", "", "Key for the input btag collection"};
SG::ReadHandleKey<xAOD::TrackParticleContainer> m_trackContainerKey {
this, "trackContainer", "InDetTrackParticles",
"Key for track particle container"};
Gaudi::Property<std::vector<std::string>> m_undeclaredReadDecorKeys {
this, "undeclaredReadDecorKeys", {},
"List of read handles that we don't read, e.g. static variables" };
ToolHandle<IBTagDecorator> m_decorator{
this, "decorator", "", "Decorator tool"};
// Keys to keep track of the inputs / outputs
std::vector<SG::ReadDecorHandleKey<xAOD::BTaggingContainer>> m_btagAux;
std::vector<SG::ReadDecorHandleKey<xAOD::TrackParticleContainer>> m_trkAux;
std::vector<SG::WriteDecorHandleKey<xAOD::BTaggingContainer>> m_btagDecor;
};
}
......
......@@ -8,6 +8,7 @@
// local includes
#include "FlavorTagDiscriminants/customGetter.h"
#include "FlavorTagDiscriminants/FlipTagEnums.h"
#include "FlavorTagDiscriminants/AssociationEnums.h"
#include "FlavorTagDiscriminants/DL2DataDependencyNames.h"
#include "xAODBTagging/ftagfloat_t.h"
......@@ -67,6 +68,7 @@ namespace FlavorTagDiscriminants {
FlipTagConfig flip;
std::string track_link_name;
std::map<std::string,std::string> remap_scalar;
TrackLinkType track_link_type;
};
......@@ -87,7 +89,7 @@ namespace FlavorTagDiscriminants {
const xAOD::Jet&)> TrackSequenceFilter;
// getter functions
typedef std::function<NamedVar(const BTagging&)> VarFromBTag;
typedef std::function<NamedVar(const SG::AuxElement&)> VarFromBTag;
typedef std::function<NamedSeq(const Jet&, const Tracks&)> SeqFromTracks;
// ___________________________________________________________________
......@@ -112,7 +114,7 @@ namespace FlavorTagDiscriminants {
m_name(name)
{
}
NamedVar operator()(const xAOD::BTagging& btag) const {
NamedVar operator()(const SG::AuxElement& btag) const {
T ret_value = m_getter(btag);
bool is_default = m_default_flag(btag);
if constexpr (std::is_floating_point<T>::value) {
......@@ -140,7 +142,7 @@ namespace FlavorTagDiscriminants {
m_name(name)
{
}
NamedVar operator()(const xAOD::BTagging& btag) const {
NamedVar operator()(const SG::AuxElement& btag) const {
T ret_value = m_getter(btag);
if constexpr (std::is_floating_point<T>::value) {
if (std::isnan(ret_value)) {
......@@ -159,11 +161,15 @@ namespace FlavorTagDiscriminants {
public:
TracksFromJet(SortOrder, TrackSelection, const DL2Options&);
Tracks operator()(const xAOD::Jet& jet,
const xAOD::BTagging& btag) const;
const SG::AuxElement& btag) const;
private:
typedef SG::AuxElement AE;
typedef std::vector<ElementLink<xAOD::TrackParticleContainer>> TrackLinks;
AE::ConstAccessor<TrackLinks> m_trackAssociator;
using AE = SG::AuxElement;
using IPC = xAOD::IParticleContainer;
using TPC = xAOD::TrackParticleContainer;
using TrackLinks = std::vector<ElementLink<TPC>>;
using PartLinks = std::vector<ElementLink<IPC>>;
using TPV = std::vector<const xAOD::TrackParticle*>;
std::function<TPV(const SG::AuxElement&)> m_associator;
TrackSortVar m_trackSortVar;
TrackFilter m_trackFilter;
};
......@@ -199,6 +205,8 @@ namespace FlavorTagDiscriminants {
const std::vector<DL2TrackSequenceConfig>& = {},
const DL2Options& = DL2Options());
void decorate(const xAOD::BTagging& btag) const;
void decorate(const xAOD::Jet& jet) const;
void decorate(const xAOD::Jet& jet, const SG::AuxElement& decorated) const;
// functions to report data depdedencies
DL2DataDependencyNames getDataDependencyNames() const;
......
......@@ -6,10 +6,12 @@
#define DL2_HIGH_LEVEL_HH
#include "FlavorTagDiscriminants/FlipTagEnums.h"
#include "FlavorTagDiscriminants/AssociationEnums.h"
#include "FlavorTagDiscriminants/DL2DataDependencyNames.h"
// EDM includes
#include "xAODBTagging/BTaggingFwd.h"
#include "xAODJet/JetFwd.h"
#include <memory>
#include <string>
......@@ -24,10 +26,12 @@ namespace FlavorTagDiscriminants {
public:
DL2HighLevel(const std::string& nn_file_name,
FlipTagConfig = FlipTagConfig::STANDARD,
std::map<std::string, std::string> remap_scalar = {});
std::map<std::string, std::string> remap_scalar = {},
TrackLinkType = TrackLinkType::TRACK_PARTICLE);
DL2HighLevel(DL2HighLevel&&);
~DL2HighLevel();
void decorate(const xAOD::BTagging& btag) const;
void decorate(const xAOD::Jet& jet) const;
DL2DataDependencyNames getDataDependencyNames() const;
private:
std::unique_ptr<DL2> m_dl2;
......
// for text editors: this file is -*- C++ -*-
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#ifndef DL2_TOOL_H
......@@ -8,6 +8,7 @@
#include "AsgTools/AsgTool.h"
#include "FlavorTagDiscriminants/IBTagDecorator.h"
#include "FlavorTagDiscriminants/IJetTagDecorator.h"
namespace FlavorTagDiscriminants {
......@@ -17,11 +18,14 @@ namespace FlavorTagDiscriminants {
std::string nnFile;
std::string flipTagConfig;
std::map<std::string,std::string> variableRemapping;
std::string trackLinkType;
};
class DL2Tool : public asg::AsgTool, virtual public IBTagDecorator
class DL2Tool : public asg::AsgTool,
virtual public IBTagDecorator,
virtual public IJetTagDecorator
{
ASG_TOOL_CLASS(DL2Tool, IBTagDecorator )
ASG_TOOL_CLASS2(DL2Tool, IBTagDecorator, IJetTagDecorator )
public:
DL2Tool(const std::string& name);
~DL2Tool();
......@@ -29,7 +33,8 @@ namespace FlavorTagDiscriminants {
StatusCode initialize() override;
// returns 0 for success
virtual void decorate(const xAOD::BTagging& jet) const override;
virtual void decorate(const xAOD::BTagging& btag) const override;
virtual void decorate(const xAOD::Jet& jet) const override;
virtual std::set<std::string> getDecoratorKeys() const override;
virtual std::set<std::string> getAuxInputKeys() const override;
......
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#ifndef DECORATOR_ALG_H
#define DECORATOR_ALG_H
#include "AthenaBaseComps/AthReentrantAlgorithm.h"
#include "StoreGate/WriteDecorHandleKey.h"
#include "StoreGate/ReadDecorHandleKey.h"
namespace FlavorTagDiscriminants {
template <typename CONTAINER, typename DECORATOR, typename CONSTITUENTS>
class DecoratorAlg : public AthReentrantAlgorithm
{
public:
DecoratorAlg(const std::string& name, ISvcLocator* svcloc);
virtual StatusCode initialize() override;
virtual StatusCode execute(const EventContext& cxt) const override;
virtual StatusCode finalize() override;
private:
SG::ReadHandleKey<CONTAINER> m_containerKey {
this, "container", "", "Key for the input collection"};
SG::ReadHandleKey<CONSTITUENTS> m_constituentKey {
this, "constituentContainer", "",
"Key for track inputs container"};
Gaudi::Property<std::vector<std::string>> m_undeclaredReadDecorKeys {
this, "undeclaredReadDecorKeys", {},
"List of read handles that we don't read, e.g. static variables" };
ToolHandle<DECORATOR> m_decorator{
this, "decorator", "", "Decorator tool"};
// Keys to keep track of the inputs / outputs
std::vector<SG::ReadDecorHandleKey<CONTAINER>> m_aux;
std::vector<SG::ReadDecorHandleKey<CONSTITUENTS>> m_constituentAux;
std::vector<SG::WriteDecorHandleKey<CONTAINER>> m_decor;
};
}
#include "DecoratorAlg.icc"
#endif
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#include "StoreGate/ReadDecorHandle.h"
#include <exception>
namespace FlavorTagDiscriminants {
template <typename C, typename D, typename N>
DecoratorAlg<C,D,N>::DecoratorAlg(
const std::string& name, ISvcLocator* svcloc):
AthReentrantAlgorithm(name, svcloc)
{
}
template <typename C, typename D, typename N>
StatusCode DecoratorAlg<C,D,N>::initialize() {
ATH_CHECK(m_containerKey.initialize());
ATH_CHECK(m_constituentKey.initialize());
ATH_CHECK(m_decorator.retrieve());
std::set<std::string> veto(
m_undeclaredReadDecorKeys.begin(),
m_undeclaredReadDecorKeys.end());
// now we build data dependencies from the internal tools. We have
// to reserve the vectors here to prevent a segfault since read /
// write handles aren't movable once declaired as a property.
m_aux.reserve(m_decorator->getAuxInputKeys().size());
for (const std::string& key: m_decorator->getAuxInputKeys()) {
const std::string full = m_containerKey.key() + "." + key;
if (veto.count(full)) {
ATH_MSG_DEBUG("Not declaring accessor: " + full);
continue;
}
ATH_MSG_DEBUG("Adding accessor: " + full);
m_aux.emplace_back(this, key, full, "");
ATH_CHECK(m_aux.back().initialize());
}
m_constituentAux.reserve(m_decorator->getConstituentAuxInputKeys().size());
for (const std::string& key: m_decorator->getConstituentAuxInputKeys()) {
const std::string full = m_constituentKey.key() + "." + key;
if (veto.count(full)) {
ATH_MSG_DEBUG("Not declaring accessor: " + full);
continue;
}
ATH_MSG_DEBUG("Adding constituent accessor: " + full);
m_constituentAux.emplace_back(this, key, full, "");
ATH_CHECK(m_constituentAux.back().initialize());
}
m_decor.reserve(m_decorator->getDecoratorKeys().size());
for (const std::string& key: m_decorator->getDecoratorKeys()) {
const std::string full = m_containerKey.key() + "." + key;
ATH_MSG_DEBUG("Adding decorator: " + full);
m_decor.emplace_back(this, key, full, "");
ATH_CHECK(m_decor.back().initialize());
}
ATH_MSG_DEBUG("Finished setting up");
return StatusCode::SUCCESS;
}
template <typename C, typename D, typename N>
StatusCode DecoratorAlg<C,D,N>::execute(const EventContext& cxt ) const {
SG::ReadHandle<C> container(
m_containerKey, cxt);
if (!container.isValid()) {
ATH_MSG_ERROR("no container " << container.key());
return StatusCode::FAILURE;
}
ATH_MSG_DEBUG(
"Decorating " + std::to_string(container->size()) + " elements");
for (const auto* element: *container) {
m_decorator->decorate(*element);
}
return StatusCode::SUCCESS;
}
template <typename C, typename D, typename N>
StatusCode DecoratorAlg<C,D,N>::finalize() {
return StatusCode::SUCCESS;
}
}
......@@ -6,10 +6,14 @@
#ifndef I_BTAG_DECORATOR_H
#define I_BTAG_DECORATOR_H
#include "IDependencyReporter.h"
#include "AsgTools/IAsgTool.h"
#include "xAODBTagging/BTaggingFwd.h"
class IBTagDecorator : virtual public asg::IAsgTool {
class IBTagDecorator : virtual public asg::IAsgTool,
virtual public IDependencyReporter
{
ASG_TOOL_INTERFACE(IBTagDecorator)
public:
......@@ -19,11 +23,6 @@ public:
/// Method to decorate a jet.
virtual void decorate(const xAOD::BTagging& btag) const = 0;
// Names of the decorations being added
virtual std::set<std::string> getDecoratorKeys() const = 0;
virtual std::set<std::string> getAuxInputKeys() const = 0;
virtual std::set<std::string> getConstituentAuxInputKeys() const = 0;
};
......
// for text editors: this file is -*- C++ -*-
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#ifndef I_DEPENDENCY_REPORTER
#define I_DEPENDENCY_REPORTER
#include <set>
#include <string>
class IDependencyReporter {
public:
/// Destructor.
virtual ~IDependencyReporter() { };
// Names of the decorations being added
virtual std::set<std::string> getDecoratorKeys() const = 0;
virtual std::set<std::string> getAuxInputKeys() const = 0;
virtual std::set<std::string> getConstituentAuxInputKeys() const = 0;
};
#endif
// for text editors: this file is -*- C++ -*-
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#ifndef I_JETTAG_DECORATOR_H
#define I_JETTAG_DECORATOR_H
#include "IDependencyReporter.h"
#include "AsgTools/IAsgTool.h"
#include "xAODJet/JetFwd.h"
class IJetTagDecorator : virtual public asg::IAsgTool,
virtual public IDependencyReporter
{
ASG_TOOL_INTERFACE(IJetTagDecorator)
public:
/// Destructor.
virtual ~IJetTagDecorator() { };
/// Method to decorate a jet.
virtual void decorate(const xAOD::Jet& jet) const = 0;
};
#endif
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#ifndef JET_TAG_DECORATOR_ALG_H
#define JET_TAG_DECORATOR_ALG_H
#include "FlavorTagDiscriminants/DecoratorAlg.h"
#include "FlavorTagDiscriminants/IJetTagDecorator.h"
#include "xAODJet/JetContainer.h"
#include "xAODTracking/TrackParticleContainer.h"
namespace detail {
using JetTag_t = FlavorTagDiscriminants::DecoratorAlg<
xAOD::JetContainer,
IJetTagDecorator,
xAOD::TrackParticleContainer
>;
}
namespace FlavorTagDiscriminants {
class JetTagDecoratorAlg : public detail::JetTag_t
{
public:
JetTagDecoratorAlg(const std::string& name, ISvcLocator* svcloc);
};
}
#endif
......@@ -11,7 +11,7 @@
// EDM includes
#include "xAODJet/JetFwd.h"
#include "xAODTracking/TrackParticleFwd.h"
#include "xAODBTagging/BTaggingFwd.h"
#include "AthContainers/AuxElement.h"
#include <functional>
#include <string>
......@@ -54,7 +54,7 @@ namespace FlavorTagDiscriminants {
// internal functions
namespace internal {
std::function<std::pair<std::string, double>(const xAOD::BTagging&)>
std::function<std::pair<std::string, double>(const SG::AuxElement&)>
customGetterAndName(const std::string&);
std::pair<std::function<std::pair<std::string, std::vector<double>>(
......
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#include "FlavorTagDiscriminants/AssociationEnums.h"
#include <stdexcept>
namespace FlavorTagDiscriminants{
#define RETURN_CONFIG(cfg) \
if (name == std::string(#cfg)) return TrackLinkType::cfg
TrackLinkType trackLinkTypeFromString(const std::string& name) {
RETURN_CONFIG(TRACK_PARTICLE);
RETURN_CONFIG(IPARTICLE);
throw std::logic_error("DL2 association scheme '" + name + "' unknown");
}
#undef RETURN_CONFIG
}
......@@ -20,6 +20,7 @@ namespace FlavorTagDiscriminants {
track_prefix = "btagIp_";
flip = FlipTagConfig::STANDARD;
track_link_name = "BTagTrackToJetAssociator";
track_link_type = TrackLinkType::TRACK_PARTICLE;
}
// DL2
......@@ -109,6 +110,18 @@ namespace FlavorTagDiscriminants {
}
void DL2::decorate(const xAOD::BTagging& btag) const {
auto jetLink = m_jetLink(btag);
if (!jetLink.isValid()) {
throw std::runtime_error("invalid jetLink");
}
const xAOD::Jet& jet = **jetLink;
decorate(jet, btag);
}
void DL2::decorate(const xAOD::Jet& jet) const {
decorate(jet, jet);
}
void DL2::decorate(const xAOD::Jet& jet, const SG::AuxElement& btag) const {
using namespace internal;
std::vector<NamedVar> vvec;
for (const auto& getter: m_varsFromBTag) {
......@@ -126,11 +139,6 @@ namespace FlavorTagDiscriminants {
}
// add track sequences
auto jetLink = m_jetLink(btag);
if (!jetLink.isValid()) {
throw std::runtime_error("invalid jetLink");
}
const xAOD::Jet& jet = **jetLink;
std::map<std::string,std::map<std::string, std::vector<double>>> seqs;
for (const auto& builder: m_trackSequenceBuilders) {
Tracks sorted_tracks = builder.tracksFromJet(jet, btag);
......@@ -174,19 +182,51 @@ namespace FlavorTagDiscriminants {
TracksFromJet::TracksFromJet(SortOrder order,
TrackSelection selection,
const DL2Options& options):
m_trackAssociator(options.track_link_name),
m_trackSortVar(get::trackSortVar(order, options)),
m_trackFilter(get::trackFilter(selection, options).first)
{
// We have several ways to get tracks: either we retrieve an
// IParticleContainer and cast the pointers to TrackParticle, or
// we retrieve a TrackParticleContainer directly. Unfortunately
// the way tracks are stored isn't consistent across the EDM, so
// we allow configuration for both setups.
//
if (options.track_link_type == TrackLinkType::IPARTICLE) {
SG::AuxElement::ConstAccessor<PartLinks> acc(options.track_link_name);
m_associator = [acc](const SG::AuxElement& btag) -> TPV {
TPV tracks;
for (const ElementLink<IPC>& link: acc(btag)) {
if (!link.isValid()) {
throw std::logic_error("invalid particle link");
}
const auto* trk = dynamic_cast<const xAOD::TrackParticle*>(*link);
if (!trk) {
throw std::logic_error("iparticle does not cast to Track");
}
tracks.push_back(trk);
}
return tracks;
};
} else if (options.track_link_type == TrackLinkType::TRACK_PARTICLE){
SG::AuxElement::ConstAccessor<TrackLinks> acc(options.track_link_name);
m_associator = [acc](const SG::AuxElement& btag) -> TPV {
TPV tracks;
for (const ElementLink<TPC>& link: acc(btag)) {
if (!link.isValid()) {
throw std::logic_error("invalid track link");
}
tracks.push_back(*link);
}
return tracks;
};
} else {
throw std::logic_error("Unknown TrackLinkType");
}
}
Tracks TracksFromJet::operator()(const xAOD::Jet& jet,
const xAOD::BTagging& btagging) const {
const SG::AuxElement& btagging) const {
std::vector<std::pair<double, const xAOD::TrackParticle*>> tracks;
for (const auto &link : m_trackAssociator(btagging)) {
if(!link.isValid()) {
throw std::logic_error("invalid track link");
}
const xAOD::TrackParticle *tp = *link;
for (const xAOD::TrackParticle *tp : m_associator(btagging)) {
if (m_trackFilter(tp)) {
tracks.push_back({m_trackSortVar(tp, jet), tp});
};
......
......@@ -31,7 +31,8 @@ namespace FlavorTagDiscriminants {
DL2HighLevel::DL2HighLevel(const std::string& nn_file_name,
FlipTagConfig flip_config,
std::map<std::string,std::string> remap_scalar):
std::map<std::string,std::string> remap_scalar,
TrackLinkType track_link_type):
m_dl2(nullptr)
{
// get the graph
......@@ -168,6 +169,7 @@ namespace FlavorTagDiscriminants {
}
options.flip = flip_config;
options.remap_scalar = remap_scalar;
options.track_link_type = track_link_type;
m_dl2.reset(
new DL2(
......@@ -184,6 +186,9 @@ namespace FlavorTagDiscriminants {
void DL2HighLevel::decorate(const xAOD::BTagging& btag) const {
m_dl2->decorate(btag);
}
void DL2HighLevel::decorate(const xAOD::Jet& jet) const {
m_dl2->decorate(jet);
}
DL2DataDependencyNames DL2HighLevel::getDataDependencyNames() const
{
......
......@@ -15,6 +15,7 @@ namespace FlavorTagDiscriminants {
declareProperty("nnFile", m_props.nnFile);
declareProperty("flipTagConfig", m_props.flipTagConfig);
declareProperty("variableRemapping", m_props.variableRemapping);
declareProperty("trackLinkType", m_props.trackLinkType);
}
DL2Tool::~DL2Tool() {}
......@@ -24,16 +25,26 @@ namespace FlavorTagDiscriminants {
if (m_props.flipTagConfig.size() > 0) {
flipConfig = flipTagConfigFromString(m_props.flipTagConfig);
}
TrackLinkType trackLinkType = TrackLinkType::TRACK_PARTICLE;
if (m_props.trackLinkType.size() > 0) {
trackLinkType = trackLinkTypeFromString(m_props.trackLinkType);
}
m_dl2.reset(
new DL2HighLevel(
m_props.nnFile,
flipConfig,
m_props.variableRemapping)
m_props.variableRemapping,
trackLinkType
)
);
return StatusCode::SUCCESS;
}
void DL2Tool::decorate(const xAOD::BTagging& jet) const {
void DL2Tool::decorate(const xAOD::BTagging& btag) const {
ATH_MSG_DEBUG("Decoration from: " + m_props.nnFile);
m_dl2->decorate(btag);
}
void DL2Tool::decorate(const xAOD::Jet& jet) const {
ATH_MSG_DEBUG("Decoration from: " + m_props.nnFile);
m_dl2->decorate(jet);
}
......
......@@ -4,9 +4,8 @@
#include "FlavorTagDiscriminants/customGetter.h"
#include "FlavorTagDiscriminants/BTagTrackIpAccessor.h"
#include "xAODJet/Jet.h"
#include "xAODJet/JetContainer.h"
#include "xAODTracking/TrackParticle.h"
#include "xAODBTagging/BTagging.h"
#include <optional>
......@@ -17,12 +16,12 @@ namespace {
// this function is not at all optimized, but then it doesn't have
// to be since it should only be called in the initialization stage.
//
std::function<double(const xAOD::BTagging&)> customGetter(
std::function<double(const SG::AuxElement&)> customGetter(
const std::string& name)
{
using JL = ElementLink<xAOD::JetContainer>;
SG::AuxElement::ConstAccessor<JL> jl("jetLink");
auto jg = [jl](const xAOD::BTagging& btag) -> const xAOD::Jet& {
auto jg = [jl](const SG::AuxElement& btag) -> const xAOD::Jet& {
auto link = jl(btag);
if (!link.isValid()) {
throw std::runtime_error("invalid jetLink");
......@@ -30,10 +29,10 @@ namespace {
return **link;
};
if (name == "pt") {
return [jg](const xAOD::BTagging& b) {return jg(b).pt();};
return [jg](const SG::AuxElement& b) {return jg(b).pt();};
}
if (name == "abs_eta") {
return [jg](const xAOD::BTagging& b) {return std::abs(jg(b).eta());};
return [jg](const SG::AuxElement& b) {return std::abs(jg(b).eta());};
}
throw std::logic_error("no match for custom getter " + name);
}
......@@ -185,10 +184,10 @@ namespace FlavorTagDiscriminants {
// which returns the pair we wanted.
//
// Case for jet variables
std::function<std::pair<std::string, double>(const xAOD::BTagging&)>
std::function<std::pair<std::string, double>(const SG::AuxElement&)>
customGetterAndName(const std::string& name) {
auto getter = customGetter(name);
return [name, getter](const xAOD::BTagging& j) {
return [name, getter](const SG::AuxElement& j) {
return std::make_pair(name, getter(j));
};
}
......
......@@ -3,85 +3,11 @@
*/
#include "FlavorTagDiscriminants/BTagDecoratorAlg.h"
#include "xAODBTagging/BTaggingContainer.h"
#include "xAODTracking/TrackParticleContainer.h"
#include "StoreGate/ReadDecorHandle.h"
#include <exception>
namespace FlavorTagDiscriminants {
BTagDecoratorAlg::BTagDecoratorAlg(
const std::string& name, ISvcLocator* svcloc):
AthReentrantAlgorithm(name, svcloc)
detail::BTag_t(name, svcloc)
{
}
StatusCode BTagDecoratorAlg::initialize() {
ATH_CHECK(m_btagContainerKey.initialize());
ATH_CHECK(m_trackContainerKey.initialize());
ATH_CHECK(m_decorator.retrieve());
std::set<std::string> veto(
m_undeclaredReadDecorKeys.begin(),
m_undeclaredReadDecorKeys.end());
// now we build data dependencies from the internal tools. We have
// to reserve the vectors here to prevent a segfault since read /
// write handles aren't movable once declaired as a property.
m_btagAux.reserve(m_decorator->getAuxInputKeys().size());
for (const std::string& key: m_decorator->getAuxInputKeys()) {
const std::string full = m_btagContainerKey.key() + "." + key;
if (veto.count(full)) {
ATH_MSG_DEBUG("Not declaring accessor: " + full);
continue;
}
ATH_MSG_DEBUG("Adding btag accessor: " + full);
m_btagAux.emplace_back(this, key, full, "");
ATH_CHECK(m_btagAux.back().initialize());
}
m_trkAux.reserve(m_decorator->getConstituentAuxInputKeys().size());
for (const std::string& key: m_decorator->getConstituentAuxInputKeys()) {
const std::string full = m_trackContainerKey.key() + "." + key;
if (veto.count(full)) {
ATH_MSG_DEBUG("Not declaring accessor: " + full);
continue;
}
ATH_MSG_DEBUG("Adding track accessor: " + full);
m_trkAux.emplace_back(this, key, full, "");
ATH_CHECK(m_trkAux.back().initialize());
}
m_btagDecor.reserve(m_decorator->getDecoratorKeys().size());
for (const std::string& key: m_decorator->getDecoratorKeys()) {
const std::string full = m_btagContainerKey.key() + "." + key;
ATH_MSG_DEBUG("Adding btag decorator: " + full);
m_btagDecor.emplace_back(this, key, full, "");
ATH_CHECK(m_btagDecor.back().initialize());
}
ATH_MSG_DEBUG("Finished setting up");
return StatusCode::SUCCESS;
}
StatusCode BTagDecoratorAlg::execute(const EventContext& cxt ) const {
SG::ReadHandle<xAOD::BTaggingContainer> btagContainer(
m_btagContainerKey, cxt);
if (!btagContainer.isValid()) {
ATH_MSG_ERROR("no b-tagging container " << btagContainer.key());
return StatusCode::FAILURE;
}
ATH_MSG_DEBUG(
"Decorating " + std::to_string(btagContainer->size()) + " btags");
for (const auto* btag: *btagContainer) {
m_decorator->decorate(*btag);
}
return StatusCode::SUCCESS;
}
StatusCode BTagDecoratorAlg::finalize() {
return StatusCode::SUCCESS;
}
}
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
*/
#include "FlavorTagDiscriminants/JetTagDecoratorAlg.h"
namespace FlavorTagDiscriminants {
JetTagDecoratorAlg::JetTagDecoratorAlg(
const std::string& name, ISvcLocator* svcloc):
detail::JetTag_t(name, svcloc)
{
}
}