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
  • aburke/athena
  • jiling/athena
  • jcordeir/athena
  • herrmant/athena
  • lmcelhin/athena
  • xuh/athena
  • reznicek/athena
  • averbyts/athena
  • ewallin/athena
  • shbansal/athena
  • tnommens/athena
  • gascott/athena
  • tvazquez/athena
  • yuhui/athena
  • lserkin/athena
  • corentin/athena
  • ccaminch/athena
  • berkeleylab/CharmPhysics/athena
  • cdiez/athena
  • cpollard/athena
  • miochoa/athena
  • hfox/athena
  • msykora/athena
  • madurano/athena_gittutorial
  • ckirfel/athena
  • calfayan/athena
  • jakoubek/athena
  • dguest/athena
  • kjohns/athena
  • atlas/athena
  • toshi/athena
  • aundrus/athena
  • akraszna/athena
  • fwinkl/athena
  • karolos/athena
  • wlampl/athena
  • jmontejo/athena
  • damazio/athena
  • okuprash/athena
  • smh/athena
  • rhauser/athena
  • turra/athena
  • tdado/athena
  • phwindis/athena
  • tadej/athena
  • abuckley/athena
  • arnaez/athena
  • jmasik/athena
  • pjacka/athena
  • tamartin/athena
  • baines/athena
  • tbold/athena
  • mhodgkin/athena
  • mmuskinj/athena
  • nstyles/athena
  • mark/athena
  • psommer/athena
  • gemmeren/athena
  • ssnyder/athena
  • bwynne/athena
  • wwalko/athena
  • emoyse/athena
  • tstreble/athena
  • pgadow/athena
  • solodkov/athena
  • ATLAS-EGamma/athena
  • rbielski/athena
  • dcasper/athena
  • mrybar/athena
  • yuxu/athena
  • ychiu/athena
  • christos/athena
  • toyamaza/athena
  • yoyamagu/athena
  • nikiforo/athena
  • fpastore/athena
  • rbianchi/athena
  • harkusha/athena
  • graemes/athena
  • mvozak/athena
  • sshaw/athena
  • leggett/athena
  • martindl/athena
  • almaloiz/athena
  • shlomit/athena
  • hartj/athena
  • tlari/athena
  • susinha/athena
  • jcatmore/athena
  • ebuschma/athena
  • filthaut/athena
  • cchan/athena
  • gunal/athena
  • peter/athena
  • ewelina/athena
  • cvarni/athena
  • ligang/athena
  • wleight/athena
  • nwarrack/athena
  • cshimmin/athena
  • sroe/athena
  • mihuebne/athena
  • jsallen/athena-high-pt-ms-jets
  • lfiorini/athena
  • dkar/athena
  • longjon/athena
  • chays/athena
  • jichen/athena
  • dtovey/athena
  • sgeorge/athena
  • yafu/athena
  • alfroch/athena
  • mgignac/athena
  • mstamenk/athena
  • tkohno/athena
  • janovak/athena
  • okepka/athena
  • cohm/athena
  • wiedenat/athena
  • omajersk/athena
  • dbakshig/athena
  • khoo/athena
  • fernando/athena
  • maklein/athena
  • scheiric/athena
  • tmkrtchy/athena
  • pleskot/athena
  • jobalz/athena
  • gingrich/athena
  • ebergeas/athena
  • schaarsc/athena
  • ekasimi/athena
  • afaulkne/athena
  • ekuwertz/athena
  • ponyisi/athena
  • ravinab/athena
  • merrenst/athena
  • goetz/athena
  • xai/athena
  • dpopov/athena
  • astruebi/athena
  • achishol/athena
  • mdanning/athena
  • alaurier/athena
  • egramsta/athena
  • hye/athena
  • mtoscani/athena
  • krumnack/athena
  • efilmer/athena
  • jpanduro/athena
  • clseitz/athena
  • ssarikay/athena
  • hyamauch/athena
  • ppostola/athena
  • bmindur/athena
  • ncalace/athena
  • shanisch/athena
  • aad/athena
  • gpanizzo/athena
  • tupham/athena
  • rcoelhol/athena
  • nkrengel/athena
  • stelzer/athena
  • rkopelia/athena
  • cmcginn/athena
  • ssottoco/athena
  • turnerm/athena
  • bernius/athena
  • sutt/athena
  • stsuno/athena
  • tsulaia/athena
  • vcairo/athena
  • yunju/athena
  • ldc/athena
  • mbandier/athena
  • jmacdona/athena
  • mehlhase/athena
  • dzanzi/athena
  • jdandoy/athena
  • jufische/athena
  • kzoch/athena
  • kwhalen/athena
  • nasbah/athena
  • bmorgan/athena
  • msaimper/athena
  • amete/athena
  • rcarney/athena
  • hhibi/athena
  • williams/athena
  • kkohler/athena
  • shhirose/athena
  • cheidegg/athena
  • coccaro/athena
  • heng/athena
  • loch/athena
  • ynoguchi/athena
  • cdeutsch/athena
  • campanel/athena
  • wbalunas/athena
  • nova/athena
  • hoide/athena
  • xju/athena
  • todorova/athena
  • yuchou/athena
  • sjiggins/athena
  • hrussell/athena
  • bgokturk/athena
  • aytul/athena
  • lidiaz/athena
  • kegraham/athena
  • jbiswal/athena
  • guerrero/athena
  • bouhova/athena
  • kpachal/athena
  • alwang/athena
  • mverissi/athena
  • alopezso/athena
  • dhayden/athena
  • mvessell/athena
  • ssantpur/athena
  • mvanadia/athena
  • kenelson/athena
  • upatel/athena
  • omeshkov/athena
  • fmeloni/athena
  • igrabows/athena
  • soumya/athena
  • dshope/athena
  • ruyuan/athena
  • tvarol/athena
  • mhank/athena
  • korona/athena
  • cowagner/athena
  • tursom/athena
  • dbogavac/athena
  • anperrev/athena
  • eramakot/athena
  • fsforza/athena
  • derue/athena
  • tnobe/athena
  • koffas/athena
  • angianni/athena
  • fgiuli/athena
  • ballbroo/athena
  • diehl/athena
  • falonso/athena
  • chinderk/athena
  • myexley/athena
  • tphamleh/athena
  • davidek/athena
  • ekajomov/athena-general
  • sarbiolv/athena
  • hansenph/athena
  • mfujimot/athena
  • masato/athena
  • salvator/athena
  • jhaley/athena
  • hirose/athena
  • jmendes/athena
  • stapiaar/athena
  • nwenke/athena
  • ffabbri/athena
  • tpelzer/athena
  • stavrop/athena
  • gia/athena
  • agbet/athena
  • hmildner/athena
  • cdelitzs/athena
  • dbabal/athena
  • juesseiv/athena
  • temoskal/athena
  • kkrizka/athena
  • asonay/athena
  • ckitsaki/athena
  • dwallace/athena
  • iaizenbe/athena
  • eschanet/athena
  • czhou/athena
  • lferencz/athena
  • jiawei/athena
  • mromano/athena
  • pmeiring/athena
  • rustem/athena
  • sswatman/athena
  • jteoh/athena
  • miqueits/athena
  • liberato/athena
  • wachan/athena
  • jbeirer/athena
  • ranovotn/athena
  • nielsenj/athena
  • asquith/athena
  • elmsheus/athena
  • nicholas/athena
  • eparrish/athena
  • markowen/athena
  • fuhe/athena
  • dakoch/athena
  • mhance/athena
  • esoldato/athena
  • asoukhar/athena
  • aranzazu/athena
  • ndegroot/athena
  • aporeba/athena
  • lihan/athena
  • jkempste/athena
  • tjunkerm/athena
  • sschramm/athena
  • ginaciog/athena
  • verducci/athena
  • mdelmast/athena
  • mswiatlo/athena
  • martis/athena
  • pliu/athena
  • ssaha/athena
  • anmrodri/athena
  • bcarlson/athena
  • gabarone/athena
  • scamarda/athena
  • mxia/athena
  • fastcalosim_test/athena
  • rlongo/athena
  • lstocker/athena
  • amoussa/athena
  • guindon/athena
  • mdonasci/athena
  • conde/athena
  • mmittal/athena
  • chelling/athena
  • ffollega/athena
  • hmaguire/athena
  • gialas/athena
  • sschmitt/athena
  • fcostanz/athena
  • shion/athena
  • cgutscho/athena
  • sberlend/athena
  • nifomin/athena
  • acts/athena
  • zsoumaim/athena
  • eriefel/athena
  • dwilbern/athena
  • laforge/athena
  • evarnes/athena
  • guescini/athena
  • akotsoke/athena
  • jkremer/athena
  • susy-hackers/athena
  • llorente/athena
  • haozturk/athena
  • kkoeneke/athena
  • istin/athena
  • fizisist/athena
  • rpoggi/athena
  • acanesse/athena
  • fengyu/athena
  • cmerlass/athena
  • rkarnam/athena
  • navarrjo/athena
  • ivivarel/athena
  • chenlian/athena
  • bulekov/athena
  • ysmirnov/athena_old
  • sanchevi/athena
  • amulski/athena
  • yanlin/athena
  • pkramer/athena
  • vcavalie/athena
  • restevam/athena
  • bauerpa/athena
  • sefernan/athena
  • thsjurse/athena
  • smwang/athena
  • mmlynars/athena
  • iyeletsk/athena
  • jgonski/athena
  • mmazza/athena
  • itrandaf/athena
  • almgadm/athena
  • csebasti/athena
  • mwielers/athena
  • wobisch/athena
  • jhinds/athena
  • lmiller/athena
  • mtchijov/athena
  • tiyang/athena
  • emmat/athena
  • lapereir/athena
  • aleopold/athena
  • zuysal/athena
  • pekman/athena
  • lucam/athena
  • rbalasub/athena
  • kciesla/athena
  • masaito/athena
  • somadutt/athena
  • salderwe/athena
  • wmccorma/athena
  • jstupak/athena
  • kkreul/athena
  • simmons/athena
  • adye/athena
  • ycoadou/athena
  • ilongari/athena
  • wtaylor/athena
  • pinamont/athena
  • kbelobor/athena
  • ssahin/athena
  • jzeng/athena
  • aoneill/athena
  • dmaximov/athena
  • kghorban/athena
  • gcallea/athena
  • cschiavi/athena
  • fbartels/athena
  • kasai/athena
  • mcfayden/athena
  • ljeanty/athena
  • scarra/athena
  • jraine/athena
  • ecarlson/athena
  • brottler/athena
  • aelmouss/athena
  • khanov/athena
  • rozeny/athena
  • gotero/athena
  • nbelyaev/athena
  • joheinri/athena
  • abandyop/athena
  • doglioni/athena
  • rebeca/athena
  • alaperto/athena
  • aohatl/athena
  • bhonan/athena
  • amarzin/athena
  • bigliett/athena
  • rgarg/athena
  • dpudzha/athena
  • paulama/athena
  • pmoskvit/athena
  • mtesta/athena
  • jajimene/athena
  • begalli/athena
  • yajun/athena
  • mpokidov/athena
  • atlidali/athena
  • vcroft/athena
  • lbozianu/athena
  • torrence/athena
  • demelian/athena
  • barak/athena
  • wprzygod/athena
  • hacooke/athena
  • sgalantz/athena
  • tofitsch/athena
  • roward/athena
  • salnikov/athena
  • csander/athena
  • atsirigo/athena
  • mmiralle/athena
  • amoroso/athena
  • elrossi/athena
  • alory/athena
  • ozaplati/athena
  • pottgen/athena
  • jsabater/athena
  • pbokan/athena
  • jdevivi/athena
  • klin/athena
  • ymino/athena
  • xchen/athena
  • trinn/athena
  • ruth/athena
  • xiaoning/athena
  • apetukho/athena
  • nishu/athena
  • cappelt/athena
  • paramon/athena
  • nelsonc/athena
  • ratkin/athena
  • juhofer/athena
  • bleban/athena
  • enarayan/athena
  • dpizzi/athena
  • ztarem/athena
  • acassim/athena
  • exot-27/athena
  • bburghgr/athena
  • sampson/athena
  • qhu/athena
  • mkrivos/athena
  • ychow/athena
  • mmarjano/athena
  • pagessin/athena
  • nviauxma/athena
  • hessey/athena
  • watsona/athena
  • LichtenbergGroup/athena
  • ibordule/athena
  • jreich/athena
  • wfawcett/athena
  • perj/athena
  • othielma/athena
  • mleblanc/athena
  • jdegens/athena
  • ztao/athena
  • hasada/athena
  • wgeorge/athena
  • pmendesa/athena
  • sridouan/athena
  • alainb/athena
  • kristin/athena
  • bachacou/athena
  • xiaohu/athena
  • ludovica/athena
  • yake/athena
  • jlsmith/athena
  • yama/athena
  • ssu/athena
  • ktsuri/athena
  • angerami/athena
  • rnayak/athena
  • musafdar/athena
  • mproffit/athena
  • pebaron/athena-weights
  • jezequel/athena
  • hschwart/athena
  • amendesj/athena
  • asalzbur/athena
  • csamoila/athena
  • gproto/athena
  • lhelary/athena
  • malgren/athena
  • rerrabai/athena
  • spolacek/athena
  • tiany/athena
  • mprincip/athena
  • bmondal/athena
  • aczirkos/athena
  • lbeemste/athena
  • kyamaguc/athena
  • grabanal/athena
  • jreidels/athena
  • asantra/athena
  • silvinha/athena
  • tboeckh/athena
  • holau/athena
  • jroloff/athena
  • mdhlamin/athena
  • bozek/athena
  • lkrauth/athena
  • slawlor/athena
  • tdiasdov/athena
  • emily/athena
  • iramirez/athena
  • carlod/athena
  • bbrueers/athena
  • mgrabois/athena
  • mtian/athena
  • bcole/athena
  • oducu/athena
  • ecelebi/athena
  • idinu/athena
  • roishi/athena
  • dhirsch/athena
  • jjwilkin/athena
  • ygo/athena
  • hmoyanog/athena-4-mr
  • ggustavi/athena
  • yuanchan/athena
  • exochell/athena
  • diwillia/athena
  • cgarner/athena
  • sbiryuko/athena
  • changqia/athena
  • honguyen/athena
  • skorn/athena
  • scalvet/athena
  • jizamora/athena
  • jwspence/athena
  • atsiamis/athena
  • calpigia/athena
  • yangx/athena
  • rysawada/athena
  • adimitri/athena
  • cmarcon/athena
  • kpetukho/athena
  • iene/athena
  • dhangal/athena
  • atlidbs/athena
  • tbisanz/athena
  • athaler/athena
  • jspah/athena
  • tqiu/athena
  • jkretz/athena
  • dopasqua/athena
  • tzenis/athena
  • hzuchen/athena
  • jcardena/athena
  • lveloce/athena
  • ryamaguc/athena
  • maliev/athena
  • fdelrio/athena
  • oshukrun/athena
  • mbiros/athena
  • mumohdso/athena2
  • tsano/athena
  • sagara17/athena
  • iwang/athena
  • dmunozpe/athena
  • okumura/athena
  • koshimiz/athena
  • mumohdso/athena
  • arennie/athena
  • valentem/athena
  • rhayes/athena
  • evguillo/athena
  • atate/athena
  • dossantn/athena
  • caforio/athena
  • zhijie/athena
  • bnachman/athena
  • zearnsha/athena
  • suyounas/athena
  • hlin/athena
  • maly/athena
  • rjoshi/athena
  • yuzhan/athena
  • machitis/athena
  • mtost/athena
  • lunedic/athena
  • lvannoli/athena
  • crougier/athena
  • thompson/athena
  • mimarine/athena
  • omezhens/athena
  • ndebiase/athena
  • jonierma/athena
  • dounwuch/athena
  • saclawso/athena
  • nkakati/athena
  • cprat/athena
  • echeu/athena
  • martinpa/athena
  • hhanif/athena
  • csauer/athena
  • mischott/athena
  • sahinsoy/athena
  • jodamp/athena
  • inaryshk/athena
  • tiknight/athena
  • wendlanb/athena
  • fedin/athena
  • knikolop/athena
  • xchu/athena
  • adik/athena
  • lkeszegh/athena
  • angrigor/athena
  • jaoliver/athena
  • pbellos/athena
  • lbaltes/athena
  • idrivask/athena
  • aikoulou/athena
  • echeremu/athena
  • ntamir/athena
  • eschopf/athena
  • sadykov/athena
  • algilber/athena
  • ignesi/athena
  • pyanezca/athena
  • haweber/athena
  • sgurdasa/athena
  • pamachad/athena
  • hiito/athena
  • pbhattar/athena
  • tteixeir/athena
  • bsaifudd/athena
  • tavandaa/athena
  • veellajo/athena
  • mdrozdov/athena
  • nheatley/athena
  • wolter/athena
  • fdibello/athena
  • dparedes/athena
  • fsili/athena
  • hsimpson/athena
  • mzhai/athena
  • mrenda/athena
  • minaenko/athena
  • chchau/athena
  • zyan/athena
  • zhangr/athena
  • jburzyns/athena
  • emmarsha/athena
  • edweik/athena
  • rkusters/athena
  • phkenned/athena
  • slai/athena
  • zmarshal/athena
  • awilhahn/athena
  • agaa/athena
  • leevans/athena
  • llaatu/athena
  • javanden/athena
  • zfeng/athena
  • stsigari/athena
  • srdas/athena
  • kkrowpma/athena
  • adonofri/athena
  • metsai/athena
  • zifeng/athena
  • drousso/athena
  • atropina/athena
  • atlaspmb/athena
  • cleonido/athena
  • seggebre/athena
  • yuanda/athena
  • mnoury/athena
  • arombola/athena
  • ademaria/athena
  • ijuarezr/athena
  • kchoi/athena
  • axiong/athena
  • dgillber/athena
  • eyamashi/athena
  • zang/athena
  • saktas/athena
  • matakagi/athena
  • qibin/athena
  • amdesai/athena
  • nlopezca/athena
  • fbendebb/athena
  • acanbay/athena
  • berkeleylab/lowmutracking/athena
  • bshresth/athena
  • klassen/athena
  • tbuanes/athena
  • egodden/athena
  • hpotti/athena
  • jferrand/athena
  • cbuitrag/athena
  • otheiner/athena-official
  • mfarring/athena
  • hawatson/athena
  • vtudorac/athena
  • parodi/athena
  • chonghao/athena
  • dzengerj/athena
  • lmontana/athena
  • bballard/athena
  • zhuyi/athena
  • knakkali/athena
  • buboehm/athena
  • adaribay/athena
  • dcieri/athena
  • cimcp/athena
  • cantel/athena
  • weixi/athena
  • iliadis/athena
  • kbenkend/athena
  • asansar/athena
  • duperrin/athena
  • frenner/athena
  • jburr/athena
  • dkoeck/athena
  • isotarri/athena
  • mfewell/athena
  • eegidiop/athena
  • bstanisl/athena
  • blumen/athena
  • smitani/athena
  • czodrows/athena
  • yulei/athena
  • alsala/athena
  • olangrek/athena
  • clantz/athena
  • miholzbo/athena
  • gshatri/athena
  • amincer/athena
  • jmharris/athena
  • gripelli/athena
  • hpang/athena
  • jgargan/athena
  • ewatton/athena
  • mleigh/athena
  • otheiner/athena
  • preselection-hackathon/athena
  • tizuo/athena
  • deniso/athena
  • rushioda/athena
  • sfranche/athena
  • mfernoux/athena
  • bernardo/athena
  • smeriano/athena
  • jnitschk/athena
  • chandler/athena
  • pebaron/athena-td
  • viruelas/athena
  • ksugizak/athena
  • yusano/athena
  • anghosh/ef-anindya
  • davetisy/athena
  • skaur/athena
  • hriani/athena
  • wsherman/athena
  • rtagami/athena
  • jgombas/athena
  • vcepaiti/athena
  • sroygara/athena
  • yochi/athena
  • yuanj/athena
  • apsallid/athena
  • chji/athena
  • pakontax/athena
  • dmclaugh/athena
  • agavrily/athena
  • mcgensvc/athena
  • abunka/athena
  • dmahon/athena
  • almay/athena
  • giagu/athena
  • yuwen/athena
  • cjmeyer/athena
  • islazyk/athena
  • qberthet/athena
  • mshapiro/athena
  • dkobylia/athena
  • ekay/athena
  • mbarel/athena
  • baitbenc/athena
  • rdinardo/athena
  • dakiyama/athena
  • glamprin/athena
  • osalin/athena
  • minlin/athena
  • mlanzacb/athena
  • szambito/athena
  • cgrefe/athena
  • hwilkens/athena
  • beringer/athena
  • wsfreund/athena
  • kazhang/athena
  • yyap/athena
  • pebaron/athena
  • enagy/athena
  • mspalla/athena
  • menke/athena
  • mduehrss/athena
  • fcalosim/athena
  • smobius/athena
  • schaffer/athena
  • tkharlam/athena
  • carquin/athena
  • mavogel/athena
  • rateixei/athena
  • spagan/athena
  • dportill/athena
  • okiverny/athena
  • osunnebo/athena
  • jelena/athena
  • desilva/athena
  • chhayes/athena
  • lmijovic/athena
  • jwalder/athena
  • junpei/athena
  • tilebeam/athena
  • satom/athena
  • jahreda/athena
  • sanmay/athena
  • kiabelin/athena
  • mcarnesa/athena
  • vtskhaya/athena
  • jedebevc/athena
  • krbjoerk/athena
  • cyoung/athena
  • jstark/athena
  • delsart/athena
  • mtogawa/athena
  • silu/athena
  • yifany/athena
  • jtanaka/athena
  • maslawin/athena
  • luxin/athena
  • haoran/athena
  • minghui/athena
  • danning/athena
  • beddall/athena
  • faser/offline/athena
  • dcasperfaser/athena
  • cfan/athena
  • kazheng/athena
  • almeidvi/athena
  • mmontell/athena
  • srettie/athena
  • vmartin/athena
  • beltran/athena-fork
  • pajones/athena
  • kgupta/athena
  • sudha/athena
  • ssinha/athena
  • lhenkelm/athena
  • lgagnon/athena
  • anbaraja/athena
  • dpanchal/athena
  • serodrig/athena
  • joana/athena
  • kkawade/athena
  • mtanasin/athena
  • amorenos/athena
  • apalazzo/athena
  • jshahini/athena
  • chiodini/athena
  • vbuxbaum/athena
  • lfeligio/athena
  • kburka/athena
  • jaofferm/athena
  • ehaines/athena
  • desengup/athena
  • gonzalri/athena
  • gottino/athena
  • rmazini/athena
  • mdidenko/athena
  • sabidi/athena
  • bkerridg/athena
  • gavrilen/athena
  • qidong/athena
  • dwkim/athena
  • hazeng/athena
  • cdimitri/athena
  • jingjing/athena
  • ktackman/athena
  • ktopolni/athena
  • yche/athena
  • yoyeh/athena
  • dabattul/athena
  • attrtcal/athena
  • mischott/athena-22
  • sgaid/athena
  • thmaurin/athena
  • bochen/athena
  • asciandr/athena
  • chjiang/athena
  • lbazzano/athena
  • rushioda/athena-3
  • krdona/athena
  • meiqi/athena
  • pclark/athena
  • nlad/athena
  • dtorresa/athena
  • hmoyanog/athena
  • kvidalgu/athena
  • aackerma/athena
  • aaikot/athena
  • yingjun/athena
  • jcurran/athena
  • xinfei/athena
  • maboelel/athena
  • mschefer/athena
  • lesplend/athena
  • rmakhman/athena
  • aivina/athena
  • xinhui/athena
  • kazheng/athena-physics-val-2023
  • zhiliang/athena
  • shhan/athena
  • zoduan/athena
  • sfrances/athena
  • liuk/athena
  • jlue/athena
  • bdixit/athena
  • alsidley/athena
  • ragrabar/athena
  • kyjones/topoetcone-removal
  • xingguo/athena
  • niabicht/athena
  • yunagai/athena
  • asehrawa/athena
  • shahzad/athena
  • mhoppesc/athena
  • keener/athena
  • llewitt/athena
  • lcalic/athena-backup
  • yinmiao/athena
  • greynold/athena
  • bschlag/athena
  • kazheng/athena-workingpoint
  • bruckman/athena
  • agentry/athena
  • drankin/athena
  • kbhide/athena
  • adohnalo/athena
  • nkang/athena
  • asmaga/athena
  • hvanders/athena
  • ladamczy/test
  • berkeleylab/acts/athena
  • tbeumker/athenatest
  • weitao/athena
  • tbeumker/athena
  • losanti/athena-23
  • losanti/athena
  • jiturriz/athena
  • dmankad/athena-idle
  • menu-hackathon/athena
  • vmaksimo/athena
  • wsong/athena
  • toobauma/athena
  • kyjones/trigger-example
  • dawerner/athena
  • fisopkov/athena
  • seggebre/athena-fluencemap-modification
  • lprimomo/athena
  • gtarna/athena
  • smanzoni/athena
  • edreyer/athena
  • SecVtx-Lancaster/Athena
  • maparo/athena
  • adimri/athena
  • shmukher/athena
  • pgraveli/athena
  • aackerma/atlas-athena
  • wstanek/athena
  • jcrosby/athena
  • lrambell/athena
  • tovsiann/athena
  • ppotepa/athena
  • atlas-sa-uct/athena
  • rsnyder/athena
  • skita/athena
  • eullmank/athena
  • zgao/athena
  • achakrav/athena
  • lroos/athena
  • mhemmett/athena
  • kgoto/athena
  • xmapekul/athena
  • rashbypi/athena
  • evitale/athena
  • thmaurin/athena-sim-flavour
  • ivyas/athena
  • arej/athena
  • lkretsch/athena
  • aleksand/athena
  • npond/athena
  • epasqual/athena
  • mbiyabi/athena
  • jebohm/athena
  • cvittori/athena
  • hluk/athena
  • aralves/athena
  • dbiswas/athena
  • dkoeck/anniathenafork
  • mihe/athena
  • rgupta/athena
  • mkareem/athena
  • tslee/athena
  • croland/athena
  • cgarvey/athena
  • kesedlac/athena
  • pkumari/athena
  • ctosciri/athena-old
  • mhaacke/athena
  • ctosciri/athena
  • asoflau/athena
  • feickert/athena
  • agerwin/athena
  • ricunnin/athena
  • gfrattar/athena
  • bscheuer/athena
  • bdixit/masking-strip-modules
  • gwilliam/athena
  • gaofeng/athena
  • gtolkach/athena
  • jfeng2/athena
  • svanstro/athena
  • ksudo/athena
  • rhiguchi/athena
  • vaustrup/athena
  • etoyoda/athena
  • hart/athena
  • kosuzuki/athena
  • rmizuhik/athena
  • tnakagaw/athena
  • kkanke/athena
  • amakita/athena
  • tpaschoa/athena
  • maoki/athena
  • miyamada/athena
  • whopkins/athena
  • rishikaw/athena
  • ferusso/athena
  • dduda/athena
  • anayaz/athena
  • aagaard/athena
  • evalient/athena
  • smweber/athena
  • smweber/athena-run-3
  • shudong/athena
  • zyan/athena-muon-calib
  • zyan/athena-muon-calib-stream
  • dellacqu/athena
  • evalient/athena-dnn-calculator
  • glagafon/project-nimber-1
  • sbellman/athena
  • strom/athena
  • strom/athena-dms
  • brosser/athena
  • jsallen/athena
  • macretar/athena
  • aowang/athena
  • skadir/athena-sadaf
  • ooncel/athena
  • jhoya/athena
  • leguo/athena
  • tygeorge/athena
  • glagafon/handi-project
  • wuxi/athena
  • osotosan/athena
  • syan/athena-syan
  • glagafon/handi-project-1
  • hasun/athena
  • will/athena
  • mnorfolk/athena
  • aborbely/athena
  • axgallen/athena-qualification-task
  • karakawa/athena
  • taogawa/athena
  • schernau/athena
  • mmaroun/ravina-fork
  • axgallen/athena
  • seinfant/athena
  • romar/athena
  • dmankad/athena-gen
  • tmlinare/athena
  • agarabag/athena
  • vlysenko/athena
  • ktariq/athena
  • zuzak/athena
  • dhagan/athena
  • tizhang/athena
  • mahorstm/athena
  • ipolishc/athena
  • atishelm/athena
  • ibamwidh/athena
  • jolamber/athena
  • frfische/athena
  • ykhoulak/myathena
  • xilin/athena
  • jlue/athena-latest
  • huayu/athena
  • yil/athena
  • chuanye/athena
  • nkua-atlas/athena
  • tayoshid/athena
  • dntounis/athena
  • lderamo/athena
  • kifarman/athena
  • movincen/athena
  • nischmit/athena
  • dtruncal/athena
  • steinber/athena-main
  • dongyi/athena
  • tdingley/athena
  • hasegawa/athena
  • malvesca/athena
  • kazheng/athena-acts
  • mnowak/athena
  • glagafon/dq-optimize
  • openc/athena
  • ladamczy/athena
  • lcalic/athena
  • mhufnage/athena
  • lsultana/obsolete_athena
  • ekajomov/athena-fork-fix
  • lsultana/athena
  • anfortma/athena
  • yonoda/athena
  • rqian/athena
  • alveltma/athena
  • kfung/athena
  • alpleban/athena
  • mmaheshw/athena
  • jdavidso/athena
  • edcritel/athena
  • pebaron/athena-leprem
  • bglik/athena
  • anstein/athena
  • gbird/athena
  • midandre/athena
  • mfurukaw/athena
  • anhodges/athena
  • sokkerma/athena
  • kyjones/athena
  • mvivasal/athena
  • asbrooks/athena
  • fcurcio/athena
  • mveen/athena
  • tburatov/athena
  • mmlynars/athena-v-2
  • jmcgowan/athena
  • joroemer/athena
  • lboccard/athena
  • tayoshid/athena-test
  • dmankad/athena
  • jodafons/athena
  • ivyoung/athena
  • tmclachl/athena
  • drasslof/athena
  • ctaybi/athena
  • sanchezj/athena-2022
  • jiddon/athena
  • anburger/athena
  • sdemiran/athena
  • sdahbi/athena
  • apfleger/athena
  • goblirsc/athena
  • fwinkel/athena
  • sidoti/athena
  • izahir/athena
  • mmoors/athena
  • sanchezj/athena
  • rvinasco/athena
  • jwkraus/athena
  • esimpson/athena
  • rhaberle/athena
  • obut/athena
  • klleras/athena
  • jhowarth/athena
  • dta/athena_old
  • janders/athena
  • jchapman/athena
  • jecouthu/athena
  • dtrischu/athena
  • mungo/athena
  • sfuenzal/athena
  • avallier/athena
  • fmontere/athena
  • zhaotong/athena
  • fhenry/athena
  • misantan/athena
  • zalegria/athena
  • gdigrego/athena
  • awharton/Athena
  • shaoguan/athena
  • amelo/athena
  • acordeir/athena-ed
  • peiyan/athena
  • nbruscin/athena
  • mkholoda/athena
  • pdougan/athena
  • fkirfel/athena
  • kchu/athena
  • caiy/athena
  • backes/athena
  • tayoshid/athena-2024
  • gfacini/athena
  • esampson/athena-idart
  • shpeng/athena-2
  • bcervato/athena
  • gmercado/athena
  • fwinkl2/athena
  • rhowen/athena
  • gmascare/athena
  • esampson/athena-idart-2
  • nharriso/athena
  • yvolkotr/athena
  • esampson/athena-otp
  • costanzo/athena
  • djlewis/athena
  • yuematsu/athena
  • pibutti/athena
  • esampson/athena-june-otp
  • alpleban/athena-met
  • yilin/athena
  • astefl/athena
  • bmoser/athena
  • bdong/athena
  • wcastigl/athena
  • thitchin/athena
  • sosarkar/athena-again
  • zhanhang/athena
  • lbarrade/athena
  • ksahan/athena
  • msasada/athena
  • seth/athena
  • okolay/athena
  • agheata/athena
  • txu/athena
  • robouque/athena
  • nsurijr/athena
  • zhangbo/athena
  • mlyukova/athena
  • dbaronmo/athena
  • esampson/june-2-otp
  • wema/athena
  • martyniu/athena
  • damperia/athena-acts
  • eballabe/athena
  • boudreau/athena
  • vsasse/athena
  • acamplan/athena
  • bngair/met-significance-r-22
  • bhuth/athena
  • bngair/me-tsig-athena
  • menadeem/athena
  • ksakura/athena
  • atymchys/athena
  • yanqiw/athena
  • vkost/athena
  • linghua/athena
  • rhicks/athena
  • skadir/athena
  • domatter/athena
  • arelycg/athena
  • sgoswami/athena
  • mwessels/athena
  • juscerri/athena
  • biliu/athena
  • sosarkar/athena
  • ddicroce/athena
  • beltran/athena
  • bdebjani/athena
  • dreikher/athena
  • fladias/athena
  • hshaddix/athena
  • elham/athena
  • lwinkler/athena
  • emoon/athena
  • cleong/athena
  • sdiefenb/athena-onnx-tutorial
  • haren/athena
  • mhabedan/athena
  • nkrogh/athena
  • mads/athena
  • dwilson/athena
  • lsanfili/athena
  • fivone/athena
  • scane/athena
  • thart/athena
  • echerepa/athena
  • baer/athena
  • dahumphr/athena
  • dcamarer/athena
  • kenakamu/athena
  • lifoster/athena
  • alancast/athena
  • eskorda/athena
  • salopez/athena
  • glagafon/aaaathena
  • glagafon/athena
  • haotianl/athena
  • lburke/athena
  • rshibata/athena
  • ukhurshi/athena
  • rvavrick/athena
  • glagafon/glagafon-dq
  • therwig/athena
  • mwitkows/athena
  • pizhang/athena
  • htsoi/athena
  • delitez/athena
  • casadop/athena
  • pachabri/athena
  • ezaya/athena
  • lcorazzi/athena
  • mmantina/athena
  • hzhuang/athena
  • achamber/athena
  • rmole/athena
  • jaburles/athena
  • jkrupa/athena
  • lmonaco/athena
  • gserenis/athena
  • semami/athena
  • mamirono/athena
  • mfornasi/athena
  • fdattola/athena
  • rpozzi/athena
  • belderto/athena
  • jinglis/athena
  • uepstein/athena
  • ljerala/athena
  • cmavungu/athena
  • lechols/athena
  • lopezzot/athena
  • jlittle/athena
  • abesir/athena
  • jajohnso/athena
  • tneep/athena
  • htorre/athena
  • robouque/athena-20241115
  • lbrown/athena
  • fsiegert/athena
  • wenjingw/athena
  • wguerin/athena
  • jackersc/athena
  • rmole/athena-personal-fork
  • kfang/athena-fork-kyfang
  • epompapa/athena
  • prmitra/athena
  • ashirazi/athena
  • kgrimm/athena-kgrimm
  • wasu/athena
  • amoreira/athena
  • toheintz/athena
  • nihartma/athena
  • gfazzino/athena
  • muschmid/athena
  • aslobodk/athena
  • kdipetri/athena
  • goetz/athena-acts
  • djuarezg/athena
  • alarnold/athena
  • yazhou/athena
  • falves/athena
  • mdacunha/athena
  • wlai/athena
  • mborodin/athena
  • novotnyp/athena
  • rohasan/athena
  • alecrhys/athena
  • lvicenik/athena
  • asickles/athena
  • christog/athena
  • adsalvad/athena
  • ibenaoum/athena
  • zetao/athena
  • mfarzali/athena
  • tflee/athena
  • kkazakov/athena
  • frcastig/athena
  • ehampshi/athena
  • llarson/athena
  • pusharma/athena
  • gpinheir/athena
  • jusilva/athena
  • exochell/my-athena
  • jecifuen/athena
  • tomoya/athena-low-pt-muon-rec
  • mojeda/athena
  • hshaddix/athena-hshaddix
  • jlieberm/athena
  • vchabala/athena
  • nsur/athena-lund
  • chhultqu/athena
  • nshtokha/athena
  • misavic/athena
  • camccrac/athena
  • jlai/athena
  • yuxuanz/local-athena
  • pmourafr/athena
  • sizumiya/athena
  • yukari/athena
  • zhubacek/athena
  • akraus/athena
  • sawyer/athena
  • mnegrini/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • rkavak/athena
  • mfilipig/athena
  • zrokavec/athena
  • fdejean/athena
  • ssuravar/athena
  • beyeo/athena
  • gipoddar/athena
  • gsalvi/athena
  • vpires/athena-vasco
  • ywng/athena
  • mtancock/athena-2
  • stlin/athena
  • sutuncay/athena
  • fballi/athena
1576 results
Show changes
Showing
with 250 additions and 72 deletions
/*
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef LARCALIBUTILS_LArOFPhaseFill_H
......@@ -16,10 +16,8 @@ Use a Tshaper raw conditions - reusing existing class instead of writing new
********************************************************************/
#include "AthenaBaseComps/AthAlgorithm.h"
#include "LArIdentifier/LArOnlineID_Base.h"
#include "LArRawConditions/LArOFCBinComplete.h"
#include "AthenaKernel/IOVSvcDefs.h"
class LArOnlineID_Base;
class LArOFPhaseFill : public AthAlgorithm
{
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
//***************************************************************************
......@@ -18,9 +18,9 @@
#include "AthenaBaseComps/AthAlgorithm.h"
#include "LArRawConditions/LArRampComplete.h"
#include "LArIdentifier/LArOnlineID.h"
#include "CxxUtils/checker_macros.h"
class LArOnlineID;
class ATLAS_NOT_THREAD_SAFE LArRampFCalCorr : public AthAlgorithm
{
......@@ -39,9 +39,9 @@ class ATLAS_NOT_THREAD_SAFE LArRampFCalCorr : public AthAlgorithm
static int toMod(int& slot);
const LArOnlineID* m_onlineHelper;
const LArOnlineID* m_onlineHelper{};
float m_threshold;
float m_threshold{};
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
//Dear emacs, this is -*-c++-*-
......@@ -11,8 +11,6 @@
#include "StoreGate/ReadCondHandleKey.h"
#include "LArRecConditions/LArBadChannelCont.h"
#include "LArCabling/LArOnOffIdMapping.h"
#include "CaloIdentifier/LArEM_ID.h"
#include "LArIdentifier/LArOnlineID.h"
#include "LArElecCalib/ILArPedestal.h"
#include "LArRawEvent/LArAccumulatedCalibDigit.h"
#include "LArRecConditions/LArBadChannelMask.h"
......@@ -21,6 +19,11 @@
#include <vector>
#include <string>
#include <bitset>
#include <array>
class LArEM_ID;
class LArOnlineID;
class LArAccumulatedCalibDigit;
//Poor man's histogramming class to monitor difference introduced by xtalk corr
class XtalkCorrHisto {
......@@ -111,10 +114,10 @@ class ATLAS_NOT_THREAD_SAFE LArStripsCrossTalkCorrector : public AthAlgorithm
std::set<HWIdentifier> m_uncorrectedIds;
struct neighbour_t{
int dist;
const LArAccumulatedCalibDigit* dig;
double ped;
double weight;
int dist{};
const LArAccumulatedCalibDigit* dig{};
double ped{};
double weight{};
};
......
......@@ -24,7 +24,7 @@ StatusCode LArConditionsMergerAlg<T,T1>::execute() {
ATH_CHECK(out->setGroupingType(m_groupingType,msg()));
ATH_CHECK(out->initialize());
for (auto key : m_detStoreKeys){
for (const auto & key : m_detStoreKeys){
//SG::ReadHandle<T1> calContainer(key);
const T1* t1Container = nullptr;
StatusCode sc = detStore()->retrieve(t1Container,key);
......@@ -47,7 +47,7 @@ StatusCode LArConditionsMergerAlg<T,T1>::execute() {
ATH_CHECK(out->setGroupingType(m_groupingType,msg()));
ATH_CHECK(out->initialize());
for (auto& key : m_readKeys) {
for (const auto & key : m_readKeys) {
SG::ReadCondHandle<T> handle{key};
const T* obj=*handle;
bool stat=out->merge(*obj);
......
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include "LArCalibUtils/LArMasterWaveBuilder.h"
#include "LArRawConditions/LArWave.h"
#include "LArRawConditions/LArWaveHelper.h"
#include "LArRawConditions/LArCaliWave.h"
#include "LArRawConditions/LArCaliWaveContainer.h"
#include "LArIdentifier/LArOnlineID.h"
#include "CaloIdentifier/LArEM_ID.h"
#include "GaudiKernel/ToolHandle.h"
#include "LArRawConditions/LArCaliWaveContainer.h"
#include "CaloIdentifier/CaloCell_ID.h"
#include "CaloIdentifier/CaloGain.h"
#include <cstdio>
#include <fstream>
#include <iostream>
#include <memory>
using CaliCellIt = LArCaliWaveContainer::ConstConditionsMapIterator;
using CaliWaveIt = LArCaliWaveContainer::LArCaliWaves::const_iterator;
inline std::string ChanDacGain(HWIdentifier ch,int DAC,int gain) {
char compact[25] ;
char compact[25]{} ;
int ich = ch.get_identifier32().get_compact() ;
sprintf(compact,"[%10d;%5d,%1d]",ich,DAC,gain) ;
return std::string(compact) ;
......@@ -202,7 +209,7 @@ StatusCode LArMasterWaveBuilder::stop()
ATH_MSG_INFO ( "Processing LArCaliWaveContainer from StoreGate, key = " << m_keyinput );
// create new LArCaliWaveContainer for master waveforms and dac0 waveforms
LArCaliWaveContainer* mwContainer = new LArCaliWaveContainer();
auto mwContainer = std::make_unique<LArCaliWaveContainer>();
ATH_CHECK( mwContainer->setGroupingType(m_groupingType,msg()) );
ATH_CHECK( mwContainer->initialize() );
......@@ -459,7 +466,7 @@ StatusCode LArMasterWaveBuilder::stop()
} // end loop over gains
// register MW/DAC0 container into detStore
ATH_CHECK( detStore()->record(mwContainer,m_keyoutput) );
ATH_CHECK( detStore()->record(std::move(mwContainer),m_keyoutput) );
ATH_MSG_INFO ( "Master waveforms' container recorded into StoreGate, key = " << m_keyoutput );
ATH_MSG_INFO ( "List of DACs rejected" );
......
......@@ -11,6 +11,13 @@
#include "LArRawConditions/LArOFCComplete.h"
#include "LArRawConditions/LArOFCBinComplete.h"
#include "LArRawConditions/LArPhysCaliTdiffComplete.h"
#include "LArRawConditions/LArCaliWaveContainer.h"
#include "LArRawConditions/LArPhysWaveContainer.h"
#include "LArRawConditions/LArOFCComplete.h"
#include "LArRawConditions/LArOFCBinComplete.h"
#include "LArRawConditions/LArShapeComplete.h"
#include "LArRawConditions/LArWaveCumul.h"
#include "CoralBase/Blob.h"
#include "AthenaPoolUtilities/AthenaAttributeList.h"
......@@ -20,8 +27,10 @@
#include "CaloDetDescr/CaloDetDescrElement.h"
#include "CaloIdentifier/CaloCell_ID.h"
#include "CaloIdentifier/CaloCell_SuperCell_ID.h"
#include "CaloIdentifier/CaloGain.h"
#include <cassert>
#include <tuple> //std::ignore
#include "tbb/parallel_for.h"
......@@ -239,7 +248,7 @@ StatusCode LArOFCAlg::stop()
m_calo_dd_man->get_element(id);
}
m_onlineID->isFCALchannel(chanData.chid);
std::ignore = m_onlineID->isFCALchannel(chanData.chid);
if (!m_larPhysWaveBinKey.empty()) {
......
/*
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include "LArCalibUtils/LArOFPhaseFill.h"
#include "CaloIdentifier/CaloGain.h"
#include "LArIdentifier/LArOnline_SuperCellID.h"
#include "LArIdentifier/LArOnlineID.h"
#include "LArIdentifier/LArOnlineID_Base.h"
#include "LArRawConditions/LArOFCBinComplete.h"
#include "GaudiKernel/ISvcLocator.h"
#include "GaudiKernel/IToolSvc.h"
#include "AthenaKernel/IOVSvcDefs.h"
#include <fstream>
#include <map>
......@@ -95,8 +98,6 @@ StatusCode LArOFPhaseFill::stop()
else{
if(m_isSC)
iss>>std::dec>>b_ec>>p_n>>ft>>sl>>ch>>g>>phase;
else
iss>>std::dec>>b_ec>>p_n>>ft>>sl>>ch>>g>>phase;
if(!iss.good()) {
ATH_MSG_WARNING("Wrong line: "<<line);
continue;
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
//***************************************************************************
......@@ -54,7 +54,7 @@ StatusCode LArRampFCalCorr::stop(){
HWIdentifier chid;
std::vector<int> badChan;
int channel, module;
int channel{}, module{};
int slot = 0;
double avg[3];
int numChan[3];
......
/*
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include "LArCalibUtils/LArStripsCrossTalkCorrector.h"
#include "CaloIdentifier/LArEM_ID.h"
#include "LArIdentifier/LArOnlineID.h"
#include "LArRawEvent/LArAccumulatedCalibDigit.h"
#include "CaloIdentifier/CaloGain.h"
#include "LArBadChannelTool/LArBadChannelDBTools.h"
......@@ -216,7 +219,7 @@ StatusCode LArStripsCrossTalkCorrector::execute()
//only half the signal of the next-to-next neihbor is summed
//A more correct approach would be to check if the 'mirrored' neighbor is pulsed as well and compute this weights on-the-fly
//const float weight[4]={0.5,1,1,0.5};
neighbour_t neighbours[4]; //Keep pointers for the four neightbors
neighbour_t neighbours[4]={}; //Keep pointers for the four neightbors
neighbours[0].dist=-2;
neighbours[1].dist=-1;
neighbours[2].dist=1;
......
......@@ -154,7 +154,6 @@ namespace MuonGM {
// MuonChannelDesign m_phiDesign;
std::array<MuonChannelDesign, 4> m_etaDesign{};
std::array<int, 4> m_nStrips{}; // #of active strips
int m_nlayers{0}; // #of gas gaps
const NswPassivationDbData* m_passivData{nullptr};
......@@ -289,11 +288,11 @@ namespace MuonGM {
inline int MMReadoutElement::numberOfLayers(bool) const { return m_nlayers; }
inline int MMReadoutElement::numberOfStrips(const Identifier& layerId) const { return m_nStrips[layerHash(layerId)]; }
inline int MMReadoutElement::numberOfStrips(const Identifier& layerId) const { return m_etaDesign[layerHash(layerId)].totalStrips; }
inline int MMReadoutElement::numberOfStrips(int lay, bool /*measPhi*/) const {
if (lay > -1 && lay < (int)m_nStrips.size())
return m_nStrips[lay];
if (lay > -1 && lay < static_cast<int>(m_etaDesign.size()))
return m_etaDesign[lay].totalStrips;
else
return -1;
}
......
......@@ -193,14 +193,13 @@ namespace MuonGM {
//============================================================================
inline int MuonChannelDesign::channelNumber(const Amg::Vector2D& pos) const {
static const Amg::Vector2D x_axis{1.,0.};
int chNum{-1};
if (type == ChannelType::etaStrip && detType == DetType::MM) {
// ** MM strips: keeping cases outside the active area, but within the envelope,
// to avoid warnings from MuonPRDTest. Those channels are removed from digitization.
const Amg::Vector2D posInEta = m_rotMat.inverse()*pos;
const double xMid = (posInEta - firstPos()*x_axis).dot(m_stereoNormal) / m_stereoNormal.x();
const double xMid = (posInEta - firstPos()*Amg::Vector2D::UnitX()).dot(m_stereoNormal) / m_stereoNormal.x();
const int missedBottom = numberOfMissingBottomStrips();
// first position is always 1/2 pitch above the center of the first active strip
......@@ -356,8 +355,7 @@ namespace MuonGM {
if (st <= nMissedBottom || st > nMissedBottom + nch) return false;
// firstPos is 1/2 pitch above the center of the first active strip.
static const Amg::Vector2D x_axis{1.,0.};
pos = (firstPos() + inputPitch* (st - nMissedBottom - 1.5)) * x_axis;
pos = (firstPos() + inputPitch* (st - nMissedBottom - 1.5)) * Amg::Vector2D::UnitX();
} else {
/// sTGC and default case for eta strips
......
......@@ -200,7 +200,6 @@ namespace MuonGM {
/// Input width is defined as the distance between two channels
design.inputWidth = stripPitch * std::cos(design.stereoAngle());
m_nStrips[il] = design.totalStrips;
if (!design.hasStereoAngle()) { // eta layers
design.nch = design.totalStrips - design.nMissedBottomEta - design.nMissedTopEta;
design.setFirstPos(-0.5 * design.xSize() + stripPitch);
......@@ -275,7 +274,6 @@ namespace MuonGM {
/// Input width is defined as the distance between two channels
design.inputWidth = pitch * std::cos(design.stereoAngle());
m_nStrips[il] = design.totalStrips;
if (!design.hasStereoAngle()) { // eta layers
design.nch = design.totalStrips - design.nMissedBottomEta - design.nMissedTopEta;
design.setFirstPos(-0.5 * design.xSize() + pitch);
......@@ -337,7 +335,7 @@ namespace MuonGM {
if (gasgap < 1 || gasgap > m_nlayers) return false;
int strip = m_idHelper.channel(id);
return strip >= 1 && strip <= m_nStrips[gasgap - 1];
return strip >= 1 && strip <= m_etaDesign[gasgap - 1].totalStrips;
}
......
......@@ -10,15 +10,25 @@
#include <GeoModelKernel/GeoFullPhysVol.h>
#include <MuonReadoutGeometryR4/MdtReadoutElement.h>
#include <MuonReadoutGeometryR4/RpcReadoutElement.h>
#include <MuonReadoutGeometryR4/TgcReadoutElement.h>
#include <MuonReadoutGeometryR4/MmReadoutElement.h>
#include <MuonReadoutGeometryR4/sTgcReadoutElement.h>
#include <MuonReadoutGeometryR4/MuonChamber.h>
#include <MuonAlignmentDataR4/MdtAlignmentStore.h>
#include <MuonAlignmentDataR4/sTgcAlignmentStore.h>
#include <MuonAlignmentDataR4/MmAlignmentStore.h>
#include <MuonReadoutGeometry/MuonStation.h>
#include <MuonReadoutGeometry/MdtReadoutElement.h>
#include <MuonReadoutGeometry/RpcReadoutElement.h>
#include <MuonReadoutGeometry/sTgcReadoutElement.h>
#include <MuonReadoutGeometry/MMReadoutElement.h>
#include <MuonReadoutGeometry/MuonChannelDesign.h>
#include <AthenaKernel/IOVInfiniteRange.h>
......@@ -38,6 +48,7 @@ namespace {
return readOutVol->getAbsoluteTransform().inverse() *
readOutVol->getParent()->getX();
}
using SubDetAlignment = ActsGeometryContext::AlignmentStorePtr;
}
MuonReadoutGeomCnvAlg::MuonReadoutGeomCnvAlg(const std::string& name, ISvcLocator* pSvcLocator):
......@@ -90,8 +101,10 @@ StatusCode MuonReadoutGeomCnvAlg::execute(const EventContext& ctx) const {
PVLink world{createGeoWorld()};
detMgr->addTreeTop(world);
ATH_CHECK(buildMdt(geoContext, detMgr.get(), world));
ATH_CHECK(buildRpc(geoContext, detMgr.get(), world));
ATH_CHECK(buildSTGC(geoContext, detMgr.get(), world));
ATH_CHECK(buildMM(geoContext, detMgr.get(), world));
ATH_CHECK(buildRpc(geoContext, detMgr.get(), world));
ATH_CHECK(writeHandle.record(std::move(detMgr)));
return StatusCode::SUCCESS;
......@@ -249,10 +262,55 @@ StatusCode MuonReadoutGeomCnvAlg::buildRpc(const ActsGeometryContext& gctx,
return StatusCode::SUCCESS;
}
StatusCode MuonReadoutGeomCnvAlg::dumpAndCompare(const ActsGeometryContext& gctx,
const MuonGMR4::MmReadoutElement& refEle,
const MuonGM::MMReadoutElement& testEle) const {
if (!m_checkGeo) {
return StatusCode::SUCCESS;
}
ATH_MSG_VERBOSE("Compare basic readout transforms"<<std::endl
<<GeoTrf::toString(testEle.absTransform(),true)<<std::endl
<<GeoTrf::toString(refEle.localToGlobalTrans(gctx), true));
const MmIdHelper& idHelper{m_idHelperSvc->mmIdHelper()};
for (unsigned int gasGap = 1; gasGap <= refEle.nGasGaps(); ++ gasGap) {
const Identifier gapId = idHelper.channelID(refEle.identify(), refEle.multilayer(), gasGap, 1);
const Amg::Transform3D& refTrf{refEle.localToGlobalTrans(gctx, gapId)};
const Amg::Transform3D& testTrf{testEle.transform(gapId)};
if (!Amg::doesNotDeform(refTrf.inverse()*testTrf)) {
ATH_MSG_FATAL("The layer "<<m_idHelperSvc->toStringGasGap(gapId)<<" does not transform equally"
<<GeoTrf::toString(refTrf, true) <<" vs. "<<GeoTrf::toString(testTrf, true));
return StatusCode::FAILURE;
}
const MuonGMR4::StripDesign& stripDesign{refEle.stripLayer(gapId).design()};
for (int strip = stripDesign.firstStripNumber(); strip <= stripDesign.numStrips(); ++strip) {
const Identifier stripId = idHelper.channelID(refEle.identify(), refEle.multilayer(), gasGap, strip);
const Amg::Vector3D refStripPos{refEle.stripPosition(gctx, stripId)};
const Amg::Vector3D refStripDir{refEle.localToGlobalTrans(gctx, refEle.layerHash(stripId)).linear() * Amg::Vector3D::UnitX()};
Amg::Vector3D testStripPos{Amg::Vector3D::Zero()};
if (!testEle.stripGlobalPosition(stripId, testStripPos)) {
ATH_MSG_FATAL("Failed to retrieve strip position "<<m_idHelperSvc->toString(stripId));
return StatusCode::FAILURE;
}
const double dist = refStripDir.dot(refStripPos - testStripPos);
if (std::abs(dist) > 10. * Gaudi::Units::micrometer) {
ATH_MSG_FATAL("The strip "<<Amg::toString(testStripPos)<<" is not describing the same strip as "
<<Amg::toString(refStripPos)<<". Channel "<<m_idHelperSvc->toString(stripId)
<<" distance: "<<dist<<" "<<(dist / testEle.m_etaDesign[gasGap -1].inputWidth));
return StatusCode::FAILURE;
}
ATH_MSG_VERBOSE("Channel postion "<<m_idHelperSvc->toString(stripId)<<" match between legacy & new");
}
}
return StatusCode::SUCCESS;
}
StatusCode MuonReadoutGeomCnvAlg::dumpAndCompare(const ActsGeometryContext& gctx,
const MuonGMR4::RpcReadoutElement& refEle,
const MuonGM::RpcReadoutElement& testEle) const {
if (!msgLvl(MSG::VERBOSE)) {
if (!m_checkGeo) {
return StatusCode::SUCCESS;
}
ATH_MSG_VERBOSE("Compare basic readout transforms"<<std::endl
......@@ -292,10 +350,70 @@ StatusCode MuonReadoutGeomCnvAlg::dumpAndCompare(const ActsGeometryContext& gctx
}
return StatusCode::SUCCESS;
}
StatusCode MuonReadoutGeomCnvAlg::buildMM(const ActsGeometryContext& gctx,
MuonGM::MuonDetectorManager* mgr,
PVLink world) const {
SubDetAlignment alignItr = gctx.getStore(ActsTrk::DetectorType::Mm);
const auto alignStore = alignItr ?
static_cast<const MmAlignmentStore*>(alignItr->internalAlignment.get()) : nullptr;
const std::vector<const MuonGMR4::MmReadoutElement*> mmReadouts{m_detMgr->getAllMmReadoutElements()};
for (const MuonGMR4::MmReadoutElement* copyMe : mmReadouts) {
const Identifier reId = copyMe->identify();
GeoIntrusivePtr<const GeoVFullPhysVol> readOutVol{copyMe->getMaterialGeom()};
PVLink clonedVol{cloneVolume(const_pointer_cast<GeoVFullPhysVol>(readOutVol))};
GeoIntrusivePtr<GeoFullPhysVol> physVol{dynamic_pointer_cast<GeoFullPhysVol>(clonedVol)};
world->add(make_intrusive<GeoTransform>(copyMe->localToGlobalTrans(gctx)));
world->add(physVol);
auto newRE = std::make_unique<MuonGM::MMReadoutElement>(physVol,
m_idHelperSvc->stationNameString(reId),
copyMe->stationEta(),
copyMe->stationPhi(),
copyMe->multilayer(), mgr,
alignStore ? alignStore->passivation : nullptr);
/// Loop over the gas gaps & efine the
for (unsigned int gasGap = 0; gasGap < copyMe->nGasGaps(); ++gasGap) {
const MuonGMR4::StripLayer& stripLayer{copyMe->stripLayer(copyMe->createHash(0, gasGap +1))};
const MuonGMR4::StripDesign& designFrom{stripLayer.design()};
newRE->m_Xlg[gasGap] = stripLayer.toOrigin() *
Amg::getRotateZ3D(-designFrom.stereoAngle()) *
Amg::getRotateY3D(90. * Gaudi::Units::deg);
ATH_MSG_VERBOSE("Layer transform "<<gasGap<<" "<<GeoTrf::toString(newRE->m_Xlg[gasGap], true));
MuonGM::MuonChannelDesign& designTo{newRE->m_etaDesign[gasGap]};
designTo.defineTrapezoid(designFrom.shortHalfHeight(),
designFrom.longHalfHeight(),
designFrom.halfWidth(),
designFrom.stereoAngle());
designTo.type = MuonGM::MuonChannelDesign::ChannelType::etaStrip;
designTo.detType = MuonGM::MuonChannelDesign::DetType::MM;
designTo.inputPitch = designFrom.stripPitch();
designTo.inputWidth = designTo.inputPitch * std::cos(designTo.stereoAngle());
designTo.nMissedBottomEta = designTo.nMissedBottomStereo = designFrom.firstStripNumber() - 1;
designTo.totalStrips = designFrom.numStrips();
designTo.nch = designFrom.numStrips();
designTo.setFirstPos(designFrom.firstStripPos().x() + 0.5*designTo.inputPitch);
}
newRE->fillCache();
if (alignStore && alignStore->getBLine(reId)) {
newRE->setBLinePar(*alignStore->getBLine(reId));
}
ATH_CHECK(dumpAndCompare(gctx, *copyMe, *newRE));
mgr->addMMReadoutElement(std::move(newRE));
}
return StatusCode::SUCCESS;
}
StatusCode MuonReadoutGeomCnvAlg::buildSTGC(const ActsGeometryContext& gctx,
MuonGM::MuonDetectorManager* mgr,
PVLink world) const{
using SubDetAlignment = ActsGeometryContext::AlignmentStorePtr;
SubDetAlignment alignItr = gctx.getStore(ActsTrk::DetectorType::sTgc);
auto alignStore = alignItr ? static_cast<const sTgcAlignmentStore*>(alignItr->internalAlignment.get()) : nullptr;
......@@ -309,7 +427,7 @@ StatusCode MuonReadoutGeomCnvAlg::buildSTGC(const ActsGeometryContext& gctx,
world->add(physVol);
auto newRE = std::make_unique<MuonGM::sTgcReadoutElement>(physVol,
m_idHelperSvc->stationNameString(reId),
m_idHelperSvc->stationNameString(reId).substr(1),
copyMe->stationEta(),
copyMe->stationPhi(),
copyMe->multilayer(), mgr);
......@@ -342,7 +460,7 @@ StatusCode MuonReadoutGeomCnvAlg::buildSTGC(const ActsGeometryContext& gctx,
etaDesign.inputPitch = copyEtaDesign.stripPitch();
etaDesign.inputWidth = copyEtaDesign.stripWidth();
etaDesign.nch = copyEtaDesign.numStrips();
etaDesign.setFirstPos( (*copyEtaDesign.center(1)).x());
etaDesign.setFirstPos(copyEtaDesign.firstStripPos().x());
/// Initialize the phi design
const MuonGMR4::WireGroupDesign& copyPhiDesign{copyMe->wireDesign(layerHash)};
......@@ -362,7 +480,7 @@ StatusCode MuonReadoutGeomCnvAlg::buildSTGC(const ActsGeometryContext& gctx,
}
phiDesign.inputPitch = copyPhiDesign.stripPitch();
phiDesign.inputWidth = 0.015;
phiDesign.setFirstPos((*copyPhiDesign.center(1)).x()); // Position of 1st wire, accounts for staggering
phiDesign.setFirstPos(copyPhiDesign.firstStripPos().x()); // Position of 1st wire, accounts for staggering
// phiDesign.firstPitch = firstWireGroup[il]; // Number of Wires in 1st group, group staggering
//phiDesign.groupWidth = wireGroupWidth; // Number of Wires normal group
phiDesign.nGroups = copyPhiDesign.numStrips(); // Number of Wire Groups
......@@ -380,7 +498,6 @@ StatusCode MuonReadoutGeomCnvAlg::buildMdt(const ActsGeometryContext& gctx,
MuonGM::MuonDetectorManager* mgr,
PVLink world) const {
/// Access the B-Line and As-built parameters
using SubDetAlignment = ActsGeometryContext::AlignmentStorePtr;
SubDetAlignment alignItr = gctx.getStore(ActsTrk::DetectorType::Mdt);
const MdtAlignmentStore* alignStore = alignItr ?
static_cast<const MdtAlignmentStore*>(alignItr->internalAlignment.get()) : nullptr;
......@@ -474,7 +591,7 @@ StatusCode MuonReadoutGeomCnvAlg::buildMdt(const ActsGeometryContext& gctx,
StatusCode MuonReadoutGeomCnvAlg::dumpAndCompare(const ActsGeometryContext& gctx,
const MuonGMR4::MdtReadoutElement& refEle,
const MuonGM::MdtReadoutElement& testEle) const {
if (!msgLvl(MSG::VERBOSE)) {
if (!m_checkGeo) {
return StatusCode::SUCCESS;
}
......
......@@ -48,6 +48,11 @@ class MuonReadoutGeomCnvAlg : public AthReentrantAlgorithm {
MuonGM::MuonDetectorManager* mgr,
PVLink world) const;
StatusCode buildMM(const ActsGeometryContext& gctx,
MuonGM::MuonDetectorManager* mgr,
PVLink world) const;
StatusCode dumpAndCompare(const ActsGeometryContext& gctx,
const MuonGMR4::RpcReadoutElement& refEle,
......@@ -56,13 +61,19 @@ class MuonReadoutGeomCnvAlg : public AthReentrantAlgorithm {
StatusCode dumpAndCompare(const ActsGeometryContext& gctx,
const MuonGMR4::MdtReadoutElement& refEle,
const MuonGM::MdtReadoutElement& testEle) const;
StatusCode dumpAndCompare(const ActsGeometryContext& gctx,
const MuonGMR4::MmReadoutElement& refEle,
const MuonGM::MMReadoutElement& testEle) const;
ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
SG::WriteCondHandleKey<MuonGM::MuonDetectorManager> m_writeKey{this, "WriteKey", "MuonDetectorManager"};
SG::ReadCondHandleKeyArray<ActsTrk::DetectorAlignStore> m_alignStoreKeys{this, "AlignmentKeys", {}, "Alignment key"};
Gaudi::Property<bool> m_checkGeo{this, "checkGeo", false, "Checks the positions of the sensors"};
const MuonGMR4::MuonDetectorManager* m_detMgr{nullptr};
......
......@@ -172,21 +172,28 @@ if __name__=="__main__":
cfg.merge(setupHistSvcCfg(flags, out_file = args.outRootFile))
chambToTest = args.chambers if len([x for x in args.chambers if x =="all"]) ==0 else []
cfg.getCondAlgo("MuonDetectorManagerCondAlg").checkGeo = False
if flags.Detector.GeometryMDT:
cfg.merge(GeoModelMdtTestCfg(flags,
TestStations = [ch for ch in chambToTest if ch[0] == "B" or ch[0] == "E"],
ReadoutSideXML="ReadoutSides.xml"))
ReadoutSideXML="ReadoutSides.xml",
ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
if flags.Detector.GeometryRPC:
cfg.merge(GeoModelRpcTestCfg(flags, TestStations = [ch for ch in chambToTest if ch[0] == "B"]))
cfg.merge(GeoModelRpcTestCfg(flags, TestStations = [ch for ch in chambToTest if ch[0] == "B"],
ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
if flags.Detector.GeometryTGC:
cfg.merge(GeoModelTgcTestCfg(flags, TestStations = [ch for ch in chambToTest if ch[0] == "T"]))
cfg.merge(GeoModelTgcTestCfg(flags, TestStations = [ch for ch in chambToTest if ch[0] == "T"],
ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
if flags.Detector.GeometryMM:
cfg.merge(GeoModelMmTestCfg(flags, TestStations = [ch for ch in chambToTest if ch[0] == "M"]))
cfg.merge(GeoModelMmTestCfg(flags, TestStations = [ch for ch in chambToTest if ch[0] == "M"],
ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
if flags.Detector.GeometrysTGC:
cfg.merge(GeoModelsTgcTestCfg(flags, TestStations = [ch for ch in chambToTest if ch[0] == "S"]))
cfg.merge(GeoModelsTgcTestCfg(flags, TestStations = [ch for ch in chambToTest if ch[0] == "S"],
ExtraInputs=[( 'MuonGM::MuonDetectorManager' , 'ConditionStore+MuonDetectorManager' )]))
executeTest(cfg, num_events = args.nEvents)
......@@ -140,6 +140,8 @@ namespace MuonGMR4 {
const Amg::Vector2D& stripNormal() const;
/// Vector pointing along the strip
const Amg::Vector2D& stripDir() const;
/// Vector indicating the first strip position
const Amg::Vector2D& firstStripPos() const;
private:
void setStereoAngle(double stereo);
/// Resets the cache of the directions
......
......@@ -20,7 +20,7 @@ namespace MuonGMR4 {
inline const Amg::Vector2D& StripDesign::cornerTopRight() const { return m_topRight; }
inline const Amg::Vector2D& StripDesign::stripNormal() const { return m_stripNormal; }
inline const Amg::Vector2D& StripDesign::stripDir() const { return m_stripDir; }
inline const Amg::Vector2D& StripDesign::firstStripPos() const { return m_firstStripPos; }
SET_DIRECTION(edgeDirTop, m_dirTopEdge, m_topLeft, m_topRight)
SET_DIRECTION(edgeDirBottom, m_dirBotEdge, m_bottomLeft, m_bottomRight)
......
/*
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MUONREADOUTGEOMETRYR4_WIREGROUPDESIGN_ICC
#define MUONREADOUTGEOMETRYR4_WIREGROUPDESIGN_ICC
......@@ -15,7 +15,7 @@ namespace MuonGMR4 {
return Amg::Vector2D::Zero();
}
const wireGroup& wireGrp = m_groups[groupNum];
return StripDesign::stripPosition(0) +
return firstStripPos() +
(wireGrp.accumlWires + wireGrp.numWires/2)*stripPitch() * stripNormal();
}
inline CheckVector2D WireGroupDesign::wirePosition(unsigned int groupNum,
......@@ -33,7 +33,7 @@ namespace MuonGMR4 {
" [1-"<<wireGrp.numWires<<"] wires.");
return std::nullopt;
}
return std::make_optional<Amg::Vector2D>(StripDesign::stripPosition(0) +
return std::make_optional<Amg::Vector2D>(firstStripPos() +
(wireGrp.accumlWires + (wireNum - 1))*stripPitch() * stripNormal());
}
inline CheckVector2D WireGroupDesign::leftWireEdge(unsigned int groupNum,
......@@ -61,7 +61,7 @@ namespace MuonGMR4 {
}
inline int WireGroupDesign::stripNumber(const Amg::Vector2D& extPos) const {
std::optional<double> wirePitches = Amg::intersect<2>(StripDesign::stripPosition(0), stripDir(),
std::optional<double> wirePitches = Amg::intersect<2>(firstStripPos(), stripDir(),
extPos, - Amg::Vector2D::UnitX());
if (!wirePitches) {
return -1;
......
......@@ -127,6 +127,10 @@ class SmallRJetAnalysisConfig (ConfigBlock) :
info="whether to run JVT selection. The default is True.")
self.addOption ('runFJvtSelection', False, type=bool,
info="whether to run forward JVT selection. The default is False.")
self.addOption ('jvtWP', "FixedEffPt", type=str,
info="which Jvt WP to apply. The default is FixedEffPt.")
self.addOption ('fJvtWP', "Loose", type=str,
info="which fJvt WP to apply. The default is Loose.")
self.addOption ('runJvtEfficiency', True, type=bool,
info="whether to calculate the JVT efficiency. The default is True.")
self.addOption ('runFJvtEfficiency', False, type=bool,
......@@ -266,6 +270,14 @@ class SmallRJetAnalysisConfig (ConfigBlock) :
raise ValueError(
"Unsupported input type '{0}' for R=0.4 jets!".format(self.jetInput) )
if self.jvtWP not in ["FixedEffPt"]:
raise ValueError(
"Unsupported NNJvt WP '{0}'".format(self.jvtWP) )
if self.fJvtWP not in ["Loose", "Tight", "Tighter"]:
raise ValueError(
"Unsupported fJvt WP '{0}'".format(self.fJvtWP) )
if not config.isPhyslite() or self.recalibratePhyslite:
# Prepare the jet calibration algorithm
alg = config.createAlgorithm( 'CP::JetCalibrationAlg', 'JetCalibrationAlg'+postfix )
......@@ -343,11 +355,12 @@ class SmallRJetAnalysisConfig (ConfigBlock) :
# Set up the jet efficiency scale factor calculation algorithm
# Change the truthJetCollection property to AntiKt4TruthWZJets if preferred
if self.runJvtSelection :
assert self.jetInput=="EMPFlow", "NNJvt WPs and SFs only valid for PFlow jets"
alg = config.createAlgorithm('CP::AsgSelectionAlg', f'JvtSelectionAlg{postfix}')
config.addPrivateTool('selectionTool', 'CP::NNJvtSelectionTool')
alg.selectionTool.JetContainer = config.readName(self.containerName)
alg.selectionTool.WorkingPoint = "FixedEffPt"
alg.selectionTool.MaxPtForJvt = 60e3 if self.jetInput == "EMPFlow" else 120e3
alg.selectionTool.WorkingPoint = self.jvtWP
alg.selectionTool.MaxPtForJvt = 60e3
alg.selectionDecoration = "jvt_selection,as_char"
alg.particles = config.readName(self.containerName)
......@@ -355,8 +368,12 @@ class SmallRJetAnalysisConfig (ConfigBlock) :
alg = config.createAlgorithm( 'CP::JvtEfficiencyAlg', 'JvtEfficiencyAlg'+postfix )
config.addPrivateTool( 'efficiencyTool', 'CP::NNJvtEfficiencyTool' )
alg.efficiencyTool.JetContainer = config.readName(self.containerName)
alg.efficiencyTool.MaxPtForJvt = 60e3 if self.jetInput == "EMPFlow" else 120e3
alg.efficiencyTool.WorkingPoint = 'FixedEffPt'
alg.efficiencyTool.MaxPtForJvt = 60e3
alg.efficiencyTool.WorkingPoint = self.jvtWP
if config.geometry() is LHCPeriod.Run2:
alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/NNJvtSFFile_Run2_EMPFlow.root"
else:
alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/NNJvtSFFile_Run3_EMPFlow.root"
alg.selection = 'jvt_selection,as_char'
alg.scaleFactorDecoration = 'jvt_effSF_%SYS%'
alg.outOfValidity = 2
......@@ -368,20 +385,23 @@ class SmallRJetAnalysisConfig (ConfigBlock) :
config.addSelection (self.containerName, 'baselineJvt', 'jvt_selection,as_char', preselection=False)
if self.runFJvtSelection :
assert self.jetInput=="EMPFlow", "fJvt WPs and SFs only valid for PFlow jets"
alg = config.createAlgorithm('CP::AsgSelectionAlg', f'FJvtSelectionAlg{postfix}')
config.addPrivateTool('selectionTool', 'CP::FJvtSelectionTool')
alg.selectionTool.JetContainer = config.readName(self.containerName)
alg.selectionTool.WorkingPoint = "Loose"
alg.selectionTool.WorkingPoint = self.fJvtWP
alg.selectionDecoration = "fjvt_selection,as_char"
alg.particles = config.readName(self.containerName)
alg = config.createAlgorithm( 'CP::JvtEfficiencyAlg', 'ForwardJvtEfficiencyAlg' )
config.addSelection (self.containerName, 'baselineFJvt', 'fjvt_selection,as_char', preselection=False)
if self.runFJvtEfficiency and config.dataType() is not DataType.Data:
alg = config.createAlgorithm( 'CP::JvtEfficiencyAlg', 'FJvtEfficiencyAlg'+postfix )
config.addPrivateTool( 'efficiencyTool', 'CP::FJvtEfficiencyTool' )
alg.efficiencyTool.JetContainer = config.readName(self.containerName)
alg.efficiencyTool.WorkingPoint = 'Loose'
alg.efficiencyTool.WorkingPoint = self.fJvtWP
if config.geometry() is LHCPeriod.Run2:
alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/fJvtSFFile_Run2_EMPFlow.root"
else:
alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/fvtSFFile_Run3_EMPFlow.root"
alg.selection = 'fjvt_selection,as_char'
alg.scaleFactorDecoration = 'fjvt_effSF_%SYS%'
alg.outOfValidity = 2
......@@ -389,7 +409,8 @@ class SmallRJetAnalysisConfig (ConfigBlock) :
alg.skipBadEfficiency = False
alg.jets = config.readName (self.containerName)
alg.preselection = config.getPreselection (self.containerName, '')
config.addOutputVar (self.containerName, alg.scaleFactorDecoration, 'jvtEfficiency')
config.addOutputVar (self.containerName, alg.scaleFactorDecoration, 'fjvtEfficiency')
config.addSelection (self.containerName, 'baselineFJvt', 'fjvt_selection,as_char', preselection=False)
......@@ -669,6 +690,7 @@ def makeSmallRJetAnalysisConfig( seq, containerName, jetCollection,
jetInput, postfix = None,
runJvtUpdate = None, runNNJvtUpdate = None, runFJvtUpdate = None,
runJvtSelection = None, runFJvtSelection = None,
jvtWP = None, fJvtWP = None,
runJvtEfficiency = None, runFJvtEfficiency = None,
systematicsModelJES = None, systematicsModelJER = None):
"""Add algorithms for the R=0.4 jets.
......@@ -683,6 +705,8 @@ def makeSmallRJetAnalysisConfig( seq, containerName, jetCollection,
runFJvtUpdate -- Determines whether or not to update forward JVT on the jets
runJvtSelection -- Determines whether or not to run JVT selection on the jets
runFJvtSelection -- Determines whether or not to run forward JVT selection on the jets
jvtWP -- Defines the NNJvt WP to apply on the jets
fJvtWP -- Defines the fJvt WP to apply on the jets
runJvtEfficiency -- Determines whether or not to calculate the JVT efficiency
runFJvtEfficiency -- Determines whether or not to calculate the forward JVT efficiency
systematicsModelJES -- Which NP systematicsModelJES scheme should be used (All, Global, Category, Scenario)
......@@ -693,7 +717,6 @@ def makeSmallRJetAnalysisConfig( seq, containerName, jetCollection,
raise ValueError(
"Unsupported input type '{0}' for R=0.4 jets!".format(jetInput) )
config = SmallRJetAnalysisConfig (containerName, jetCollection, jetInput)
config.setOptionValue ('postfix', postfix)
config.setOptionValue ('runJvtUpdate', runJvtUpdate)
......@@ -701,6 +724,8 @@ def makeSmallRJetAnalysisConfig( seq, containerName, jetCollection,
config.setOptionValue ('runFJvtUpdate', runFJvtUpdate)
config.setOptionValue ('runJvtSelection', runJvtSelection)
config.setOptionValue ('runFJvtSelection', runFJvtSelection)
config.setOptionValue ('jvtWP', jvtWP)
config.setOptionValue ('fJvtWP', fJvtWP)
config.setOptionValue ('runJvtEfficiency', runJvtEfficiency)
config.setOptionValue ('runFJvtEfficiency', runFJvtEfficiency)
config.setOptionValue ('systematicsModelJES', systematicsModelJES)
......
/*
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef PARTICLEJETTOOLS_JETTRUTHLABELINGTOOL_H
......@@ -39,7 +39,7 @@ public:
void print() const override;
/// returns the name of large-R jet truth label
std::string getLargeRJetTruthLabelName() const {
const std::string& getLargeRJetTruthLabelName() const {
return m_truthLabelName;
};
......