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
  • ccaminch/athena
  • corentin/athena
  • miochoa/athena
  • berkeleylab/CharmPhysics/athena
  • cdiez/athena
  • cpollard/athena
  • hfox/athena
  • madurano/athena_gittutorial
  • msykora/athena
  • ckirfel/athena
  • jakoubek/athena
  • calfayan/athena
  • kjohns/athena
  • atlas/athena
  • toshi/athena
  • dguest/athena
  • fwinkl/athena
  • wlampl/athena
  • aundrus/athena
  • akraszna/athena
  • rhauser/athena
  • phwindis/athena
  • arnaez/athena
  • baines/athena
  • mmuskinj/athena
  • psommer/athena
  • bwynne/athena
  • tstreble/athena
  • ATLAS-EGamma/athena
  • yuxu/athena
  • toyamaza/athena
  • gemmeren/athena
  • karolos/athena
  • ssnyder/athena
  • wwalko/athena
  • emoyse/athena
  • pgadow/athena
  • solodkov/athena
  • jmontejo/athena
  • rbielski/athena
  • dcasper/athena
  • mrybar/athena
  • ychiu/athena
  • damazio/athena
  • christos/athena
  • yoyamagu/athena
  • rbianchi/athena
  • okuprash/athena
  • graemes/athena
  • sshaw/athena
  • shlomit/athena
  • smh/athena
  • hartj/athena
  • jcatmore/athena
  • ebuschma/athena
  • turra/athena
  • gunal/athena
  • ewelina/athena
  • tdado/athena
  • ligang/athena
  • sroe/athena
  • tadej/athena
  • lfiorini/athena
  • longjon/athena
  • abuckley/athena
  • jichen/athena
  • nikiforo/athena
  • jmasik/athena
  • fpastore/athena
  • harkusha/athena
  • pjacka/athena
  • mvozak/athena
  • tamartin/athena
  • leggett/athena
  • martindl/athena
  • almaloiz/athena
  • tbold/athena
  • mhodgkin/athena
  • tlari/athena
  • susinha/athena
  • nstyles/athena
  • filthaut/athena
  • mark/athena
  • peter/athena
  • cvarni/athena
  • cchan/athena
  • wleight/athena
  • nwarrack/athena
  • chays/athena
  • cshimmin/athena
  • dtovey/athena
  • sgeorge/athena
  • mihuebne/athena
  • yafu/athena
  • mgignac/athena
  • alfroch/athena
  • jsallen/athena-high-pt-ms-jets
  • mstamenk/athena
  • dkar/athena
  • okepka/athena
  • wiedenat/athena
  • tkohno/athena
  • khoo/athena
  • maklein/athena
  • cohm/athena
  • janovak/athena
  • omajersk/athena
  • dbakshig/athena
  • tmkrtchy/athena
  • fernando/athena
  • scheiric/athena
  • gingrich/athena
  • pleskot/athena
  • jobalz/athena
  • schaarsc/athena
  • ebergeas/athena
  • ekasimi/athena
  • afaulkne/athena
  • ponyisi/athena
  • ekuwertz/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
  • clseitz/athena
  • krumnack/athena
  • bmindur/athena
  • ppostola/athena
  • efilmer/athena
  • shanisch/athena
  • ncalace/athena
  • jpanduro/athena
  • aad/athena
  • ssarikay/athena
  • gpanizzo/athena
  • rcoelhol/athena
  • hyamauch/athena
  • stelzer/athena
  • ssottoco/athena
  • turnerm/athena
  • tupham/athena
  • sutt/athena
  • rkopelia/athena
  • cmcginn/athena
  • nkrengel/athena
  • tsulaia/athena
  • bernius/athena
  • vcairo/athena
  • ldc/athena
  • stsuno/athena
  • jmacdona/athena
  • yunju/athena
  • mehlhase/athena
  • mbandier/athena
  • dzanzi/athena
  • jdandoy/athena
  • jufische/athena
  • kzoch/athena
  • kwhalen/athena
  • nasbah/athena
  • bmorgan/athena
  • msaimper/athena
  • amete/athena
  • williams/athena
  • rcarney/athena
  • shhirose/athena
  • cheidegg/athena
  • heng/athena
  • kkohler/athena
  • hhibi/athena
  • cdeutsch/athena
  • ynoguchi/athena
  • coccaro/athena
  • campanel/athena
  • loch/athena
  • wbalunas/athena
  • hoide/athena
  • xju/athena
  • nova/athena
  • yuchou/athena
  • todorova/athena
  • hrussell/athena
  • sjiggins/athena
  • lidiaz/athena
  • bgokturk/athena
  • aytul/athena
  • kegraham/athena
  • jbiswal/athena
  • kpachal/athena
  • bouhova/athena
  • guerrero/athena
  • alwang/athena
  • dhayden/athena
  • mverissi/athena
  • mvanadia/athena
  • fmeloni/athena
  • alopezso/athena
  • igrabows/athena
  • mvessell/athena
  • ssantpur/athena
  • tvarol/athena
  • kenelson/athena
  • dshope/athena
  • upatel/athena
  • korona/athena
  • mhank/athena
  • cowagner/athena
  • anperrev/athena
  • tursom/athena
  • dbogavac/athena
  • eramakot/athena
  • tnobe/athena
  • derue/athena
  • fsforza/athena
  • koffas/athena
  • angianni/athena
  • fgiuli/athena
  • ballbroo/athena
  • diehl/athena
  • myexley/athena
  • chinderk/athena
  • davidek/athena
  • tphamleh/athena
  • falonso/athena
  • ekajomov/athena-general
  • sarbiolv/athena
  • hansenph/athena
  • salvator/athena
  • hirose/athena
  • mfujimot/athena
  • stapiaar/athena
  • masato/athena
  • jmendes/athena
  • jhaley/athena
  • nwenke/athena
  • ffabbri/athena
  • stavrop/athena
  • agbet/athena
  • tpelzer/athena
  • dbabal/athena
  • gia/athena
  • hmildner/athena
  • juesseiv/athena
  • kkrizka/athena
  • cdelitzs/athena
  • dwallace/athena
  • eschanet/athena
  • temoskal/athena
  • ckitsaki/athena
  • asonay/athena
  • lferencz/athena
  • iaizenbe/athena
  • czhou/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
  • nicholas/athena
  • elmsheus/athena
  • markowen/athena
  • fuhe/athena
  • eparrish/athena
  • dakoch/athena
  • mhance/athena
  • esoldato/athena
  • asoukhar/athena
  • aranzazu/athena
  • jkempste/athena
  • ndegroot/athena
  • lihan/athena
  • tjunkerm/athena
  • aporeba/athena
  • sschramm/athena
  • ginaciog/athena
  • verducci/athena
  • mdelmast/athena
  • martis/athena
  • anmrodri/athena
  • mswiatlo/athena
  • bcarlson/athena
  • pliu/athena
  • ssaha/athena
  • gabarone/athena
  • scamarda/athena
  • lstocker/athena
  • fastcalosim_test/athena
  • guindon/athena
  • mxia/athena
  • omeshkov/athena
  • rlongo/athena
  • amoussa/athena
  • mdonasci/athena
  • chelling/athena
  • soumya/athena
  • conde/athena
  • mmittal/athena
  • hmaguire/athena
  • ffollega/athena
  • gialas/athena
  • fcostanz/athena
  • ruyuan/athena
  • sberlend/athena
  • shion/athena
  • acts/athena
  • zsoumaim/athena
  • cgutscho/athena
  • sschmitt/athena
  • dwilbern/athena
  • nifomin/athena
  • evarnes/athena
  • laforge/athena
  • guescini/athena
  • akotsoke/athena
  • jkremer/athena
  • eriefel/athena
  • haozturk/athena
  • susy-hackers/athena
  • kkoeneke/athena
  • llorente/athena
  • fizisist/athena
  • rpoggi/athena
  • istin/athena
  • rkarnam/athena
  • acanesse/athena
  • chenlian/athena
  • fengyu/athena
  • ysmirnov/athena_old
  • cmerlass/athena
  • ivivarel/athena
  • amulski/athena
  • navarrjo/athena
  • pkramer/athena
  • bulekov/athena
  • vcavalie/athena
  • sanchevi/athena
  • yanlin/athena
  • restevam/athena
  • bauerpa/athena
  • thsjurse/athena
  • smwang/athena
  • sefernan/athena
  • mmlynars/athena
  • iyeletsk/athena
  • itrandaf/athena
  • mmazza/athena
  • jgonski/athena
  • almgadm/athena
  • wobisch/athena
  • csebasti/athena
  • jhinds/athena
  • tiyang/athena
  • mwielers/athena
  • mtchijov/athena
  • lapereir/athena
  • lucam/athena
  • lmiller/athena
  • emmat/athena
  • kciesla/athena
  • aleopold/athena
  • zuysal/athena
  • rbalasub/athena
  • pekman/athena
  • wmccorma/athena
  • kkreul/athena
  • masaito/athena
  • somadutt/athena
  • jstupak/athena
  • salderwe/athena
  • adye/athena
  • ycoadou/athena
  • ilongari/athena
  • simmons/athena
  • wtaylor/athena
  • pinamont/athena
  • gcallea/athena
  • ssahin/athena
  • kbelobor/athena
  • jzeng/athena
  • fbartels/athena
  • aoneill/athena
  • kghorban/athena
  • cschiavi/athena
  • dmaximov/athena
  • kasai/athena
  • jraine/athena
  • mcfayden/athena
  • scarra/athena
  • ljeanty/athena
  • brottler/athena
  • khanov/athena
  • ecarlson/athena
  • aelmouss/athena
  • abandyop/athena
  • rozeny/athena
  • joheinri/athena
  • nbelyaev/athena
  • gotero/athena
  • bigliett/athena
  • rebeca/athena
  • doglioni/athena
  • aohatl/athena
  • alaperto/athena
  • pmoskvit/athena
  • bhonan/athena
  • amarzin/athena
  • begalli/athena
  • rgarg/athena
  • dpudzha/athena
  • yajun/athena
  • mpokidov/athena
  • paulama/athena
  • mtesta/athena
  • vcroft/athena
  • jajimene/athena
  • atlidali/athena
  • torrence/athena
  • lbozianu/athena
  • wprzygod/athena
  • sgalantz/athena
  • barak/athena
  • demelian/athena
  • roward/athena
  • csander/athena
  • tofitsch/athena
  • hacooke/athena
  • atsirigo/athena
  • mmiralle/athena
  • amoroso/athena
  • elrossi/athena
  • salnikov/athena
  • alory/athena
  • ozaplati/athena
  • pbokan/athena
  • jsabater/athena
  • jdevivi/athena
  • pottgen/athena
  • ruth/athena
  • cappelt/athena
  • ymino/athena
  • xchen/athena
  • klin/athena
  • trinn/athena
  • xiaoning/athena
  • nishu/athena
  • ratkin/athena
  • paramon/athena
  • apetukho/athena
  • enarayan/athena
  • nelsonc/athena
  • exot-27/athena
  • juhofer/athena
  • bleban/athena
  • qhu/athena
  • dpizzi/athena
  • ztarem/athena
  • acassim/athena
  • mmarjano/athena
  • bburghgr/athena
  • sampson/athena
  • pagessin/athena
  • mkrivos/athena
  • hessey/athena
  • ychow/athena
  • nviauxma/athena
  • watsona/athena
  • wfawcett/athena
  • ibordule/athena
  • LichtenbergGroup/athena
  • perj/athena
  • mleblanc/athena
  • ztao/athena
  • jreich/athena
  • othielma/athena
  • wgeorge/athena
  • jdegens/athena
  • pmendesa/athena
  • hasada/athena
  • sridouan/athena
  • kristin/athena
  • bachacou/athena
  • alainb/athena
  • xiaohu/athena
  • yake/athena
  • ludovica/athena
  • ssu/athena
  • yama/athena
  • angerami/athena
  • jlsmith/athena
  • rnayak/athena
  • asalzbur/athena
  • ktsuri/athena
  • jezequel/athena
  • hschwart/athena
  • musafdar/athena
  • pebaron/athena-weights
  • mproffit/athena
  • amendesj/athena
  • gproto/athena
  • lhelary/athena
  • csamoila/athena
  • rerrabai/athena
  • tiany/athena
  • malgren/athena
  • mprincip/athena
  • spolacek/athena
  • aczirkos/athena
  • kyamaguc/athena
  • bmondal/athena
  • lbeemste/athena
  • tboeckh/athena
  • grabanal/athena
  • asantra/athena
  • jroloff/athena
  • silvinha/athena
  • jreidels/athena
  • slawlor/athena
  • holau/athena
  • mdhlamin/athena
  • emily/athena
  • bozek/athena
  • lkrauth/athena
  • carlod/athena
  • tdiasdov/athena
  • bbrueers/athena
  • iramirez/athena
  • idinu/athena
  • mgrabois/athena
  • mtian/athena
  • bcole/athena
  • dhirsch/athena
  • ecelebi/athena
  • oducu/athena
  • hmoyanog/athena-4-mr
  • jjwilkin/athena
  • roishi/athena
  • ggustavi/athena
  • ygo/athena
  • yuanchan/athena
  • exochell/athena
  • skorn/athena
  • scalvet/athena
  • sbiryuko/athena
  • diwillia/athena
  • honguyen/athena
  • jwspence/athena
  • cgarner/athena
  • calpigia/athena
  • jizamora/athena
  • yangx/athena
  • changqia/athena
  • atsiamis/athena
  • adimitri/athena
  • dhangal/athena
  • rysawada/athena
  • atlidbs/athena
  • cmarcon/athena
  • iene/athena
  • kpetukho/athena
  • tqiu/athena
  • tbisanz/athena
  • dopasqua/athena
  • athaler/athena
  • jspah/athena
  • tzenis/athena
  • jkretz/athena
  • jcardena/athena
  • hzuchen/athena
  • lveloce/athena
  • oshukrun/athena
  • maliev/athena
  • ryamaguc/athena
  • mumohdso/athena2
  • iwang/athena
  • fdelrio/athena
  • tsano/athena
  • okumura/athena
  • sagara17/athena
  • mbiros/athena
  • mumohdso/athena
  • arennie/athena
  • dmunozpe/athena
  • valentem/athena
  • atate/athena
  • rhayes/athena
  • evguillo/athena
  • koshimiz/athena
  • dossantn/athena
  • caforio/athena
  • zhijie/athena
  • zearnsha/athena
  • suyounas/athena
  • bnachman/athena
  • hlin/athena
  • maly/athena
  • mtost/athena
  • yuzhan/athena
  • lunedic/athena
  • rjoshi/athena
  • machitis/athena
  • crougier/athena
  • mimarine/athena
  • lvannoli/athena
  • thompson/athena
  • ndebiase/athena
  • saclawso/athena
  • omezhens/athena
  • dounwuch/athena
  • cprat/athena
  • nkakati/athena
  • jonierma/athena
  • martinpa/athena
  • echeu/athena
  • hhanif/athena
  • csauer/athena
  • mischott/athena
  • sahinsoy/athena
  • inaryshk/athena
  • jodamp/athena
  • tiknight/athena
  • wendlanb/athena
  • lkeszegh/athena
  • knikolop/athena
  • fedin/athena
  • adik/athena
  • xchu/athena
  • jaoliver/athena
  • angrigor/athena
  • echeremu/athena
  • lbaltes/athena
  • pbellos/athena
  • ntamir/athena
  • idrivask/athena
  • aikoulou/athena
  • sadykov/athena
  • algilber/athena
  • ignesi/athena
  • haweber/athena
  • eschopf/athena
  • pyanezca/athena
  • sgurdasa/athena
  • hiito/athena
  • pamachad/athena
  • tavandaa/athena
  • pbhattar/athena
  • tteixeir/athena
  • veellajo/athena
  • mdrozdov/athena
  • bsaifudd/athena
  • nheatley/athena
  • wolter/athena
  • hsimpson/athena
  • fdibello/athena
  • fsili/athena
  • mrenda/athena
  • dparedes/athena
  • mzhai/athena
  • minaenko/athena
  • rkusters/athena
  • phkenned/athena
  • chchau/athena
  • zhangr/athena
  • jburzyns/athena
  • zyan/athena
  • emmarsha/athena
  • edweik/athena
  • zmarshal/athena
  • slai/athena
  • awilhahn/athena
  • agaa/athena
  • llaatu/athena
  • leevans/athena
  • javanden/athena
  • zfeng/athena
  • stsigari/athena
  • kkrowpma/athena
  • srdas/athena
  • adonofri/athena
  • yuanda/athena
  • atropina/athena
  • atlaspmb/athena
  • cleonido/athena
  • zifeng/athena
  • metsai/athena
  • drousso/athena
  • seggebre/athena
  • ademaria/athena
  • axiong/athena
  • arombola/athena
  • ijuarezr/athena
  • eyamashi/athena
  • mnoury/athena
  • kchoi/athena
  • dgillber/athena
  • saktas/athena
  • amdesai/athena
  • zang/athena
  • berkeleylab/lowmutracking/athena
  • matakagi/athena
  • qibin/athena
  • nlopezca/athena
  • fbendebb/athena
  • acanbay/athena
  • jferrand/athena
  • bshresth/athena
  • tbuanes/athena
  • hawatson/athena
  • cbuitrag/athena
  • otheiner/athena-official
  • klassen/athena
  • egodden/athena
  • hpotti/athena
  • chonghao/athena
  • mfarring/athena
  • dzengerj/athena
  • parodi/athena
  • vtudorac/athena
  • lmontana/athena
  • bballard/athena
  • zhuyi/athena
  • knakkali/athena
  • dcieri/athena
  • buboehm/athena
  • cimcp/athena
  • weixi/athena
  • adaribay/athena
  • asansar/athena
  • cantel/athena
  • iliadis/athena
  • duperrin/athena
  • kbenkend/athena
  • mfewell/athena
  • frenner/athena
  • dkoeck/athena
  • jburr/athena
  • isotarri/athena
  • bstanisl/athena
  • eegidiop/athena
  • czodrows/athena
  • blumen/athena
  • yulei/athena
  • smitani/athena
  • miholzbo/athena
  • alsala/athena
  • olangrek/athena
  • clantz/athena
  • amincer/athena
  • gshatri/athena
  • jgargan/athena
  • jmharris/athena
  • gripelli/athena
  • hpang/athena
  • otheiner/athena
  • ewatton/athena
  • mleigh/athena
  • deniso/athena
  • preselection-hackathon/athena
  • tizuo/athena
  • rushioda/athena
  • sfranche/athena
  • smeriano/athena
  • mfernoux/athena
  • bernardo/athena
  • chandler/athena
  • jnitschk/athena
  • viruelas/athena
  • pebaron/athena-td
  • anghosh/ef-anindya
  • ksugizak/athena
  • skaur/athena
  • yusano/athena
  • wsherman/athena
  • hriani/athena
  • jgombas/athena
  • davetisy/athena
  • rtagami/athena
  • vcepaiti/athena
  • apsallid/athena
  • yochi/athena
  • sroygara/athena
  • abunka/athena
  • pakontax/athena
  • chji/athena
  • yuanj/athena
  • agavrily/athena
  • dmclaugh/athena
  • almay/athena
  • giagu/athena
  • mcgensvc/athena
  • dmahon/athena
  • qberthet/athena
  • cjmeyer/athena
  • yuwen/athena
  • islazyk/athena
  • mshapiro/athena
  • rdinardo/athena
  • ekay/athena
  • mbarel/athena
  • dkobylia/athena
  • cgrefe/athena
  • baitbenc/athena
  • dakiyama/athena
  • osalin/athena
  • glamprin/athena
  • mlanzacb/athena
  • minlin/athena
  • wsfreund/athena
  • szambito/athena
  • beringer/athena
  • hwilkens/athena
  • kazhang/athena
  • pebaron/athena
  • schaffer/athena
  • enagy/athena
  • menke/athena
  • tkharlam/athena
  • mduehrss/athena
  • yyap/athena
  • mspalla/athena
  • mavogel/athena
  • carquin/athena
  • spagan/athena
  • fcalosim/athena
  • smobius/athena
  • osunnebo/athena
  • okiverny/athena
  • rateixei/athena
  • dportill/athena
  • desilva/athena
  • chhayes/athena
  • jelena/athena
  • satom/athena
  • lmijovic/athena
  • junpei/athena
  • jwalder/athena
  • sanmay/athena
  • mcarnesa/athena
  • jahreda/athena
  • tilebeam/athena
  • jedebevc/athena
  • jstark/athena
  • kiabelin/athena
  • silu/athena
  • vtskhaya/athena
  • delsart/athena
  • krbjoerk/athena
  • mtogawa/athena
  • jtanaka/athena
  • cyoung/athena
  • haoran/athena
  • luxin/athena
  • yifany/athena
  • danning/athena
  • maslawin/athena
  • almeidvi/athena
  • minghui/athena
  • beddall/athena
  • faser/offline/athena
  • dcasperfaser/athena
  • vmartin/athena
  • srettie/athena
  • cfan/athena
  • kazheng/athena
  • mmontell/athena
  • sudha/athena
  • kgupta/athena
  • lhenkelm/athena
  • beltran/athena-fork
  • pajones/athena
  • anbaraja/athena
  • ssinha/athena
  • lgagnon/athena
  • serodrig/athena
  • dpanchal/athena
  • kkawade/athena
  • chiodini/athena
  • amorenos/athena
  • jshahini/athena
  • joana/athena
  • mtanasin/athena
  • lfeligio/athena
  • apalazzo/athena
  • vbuxbaum/athena
  • jaofferm/athena
  • kburka/athena
  • gonzalri/athena
  • mdidenko/athena
  • desengup/athena
  • gottino/athena
  • ehaines/athena
  • rmazini/athena
  • sabidi/athena
  • gavrilen/athena
  • qidong/athena
  • dwkim/athena
  • bkerridg/athena
  • jingjing/athena
  • cdimitri/athena
  • hazeng/athena
  • ktackman/athena
  • sgaid/athena
  • yche/athena
  • yoyeh/athena
  • ktopolni/athena
  • dabattul/athena
  • attrtcal/athena
  • thmaurin/athena
  • mischott/athena-22
  • bochen/athena
  • asciandr/athena
  • chjiang/athena
  • meiqi/athena
  • pclark/athena
  • lbazzano/athena
  • rushioda/athena-3
  • krdona/athena
  • kvidalgu/athena
  • nlad/athena
  • dtorresa/athena
  • xinfei/athena
  • hmoyanog/athena
  • jcurran/athena
  • maboelel/athena
  • aaikot/athena
  • aackerma/athena
  • yingjun/athena
  • lesplend/athena
  • mschefer/athena
  • rmakhman/athena
  • aivina/athena
  • xinhui/athena
  • zhiliang/athena
  • kazheng/athena-physics-val-2023
  • zoduan/athena
  • bdixit/athena
  • shhan/athena
  • sfrances/athena
  • liuk/athena
  • jlue/athena
  • alsidley/athena
  • ragrabar/athena
  • asehrawa/athena
  • xingguo/athena
  • kyjones/topoetcone-removal
  • niabicht/athena
  • yunagai/athena
  • shahzad/athena
  • keener/athena
  • mhoppesc/athena
  • llewitt/athena
  • lcalic/athena-backup
  • greynold/athena
  • yinmiao/athena
  • bschlag/athena
  • kazheng/athena-workingpoint
  • agentry/athena
  • adohnalo/athena
  • bruckman/athena
  • drankin/athena
  • asmaga/athena
  • hvanders/athena
  • ladamczy/test
  • nkang/athena
  • kbhide/athena
  • tbeumker/athenatest
  • tbeumker/athena
  • berkeleylab/acts/athena
  • losanti/athena-23
  • weitao/athena
  • losanti/athena
  • jiturriz/athena
  • vmaksimo/athena
  • dmankad/athena-idle
  • kyjones/trigger-example
  • menu-hackathon/athena
  • wsong/athena
  • dawerner/athena
  • toobauma/athena
  • edreyer/athena
  • fisopkov/athena
  • seggebre/athena-fluencemap-modification
  • gtarna/athena
  • lprimomo/athena
  • smanzoni/athena
  • adimri/athena
  • SecVtx-Lancaster/Athena
  • maparo/athena
  • shmukher/athena
  • aackerma/atlas-athena
  • pgraveli/athena
  • jcrosby/athena
  • lrambell/athena
  • wstanek/athena
  • atlas-sa-uct/athena
  • tovsiann/athena
  • eullmank/athena
  • ppotepa/athena
  • rsnyder/athena
  • skita/athena
  • zgao/athena
  • mhemmett/athena
  • lroos/athena
  • achakrav/athena
  • rashbypi/athena
  • kgoto/athena
  • xmapekul/athena
  • evitale/athena
  • arej/athena
  • thmaurin/athena-sim-flavour
  • ivyas/athena
  • epasqual/athena
  • lkretsch/athena
  • npond/athena
  • aleksand/athena
  • jebohm/athena
  • mbiyabi/athena
  • cvittori/athena
  • hluk/athena
  • mihe/athena
  • dbiswas/athena
  • aralves/athena
  • dkoeck/anniathenafork
  • mkareem/athena
  • croland/athena
  • tslee/athena
  • cgarvey/athena
  • rgupta/athena
  • mhaacke/athena
  • pkumari/athena
  • feickert/athena
  • kesedlac/athena
  • ctosciri/athena-old
  • ctosciri/athena
  • gfrattar/athena
  • ricunnin/athena
  • asoflau/athena
  • agerwin/athena
  • bdixit/masking-strip-modules
  • bscheuer/athena
  • jfeng2/athena
  • gwilliam/athena
  • gtolkach/athena
  • svanstro/athena
  • gaofeng/athena
  • ksudo/athena
  • rhiguchi/athena
  • etoyoda/athena
  • vaustrup/athena
  • kosuzuki/athena
  • rmizuhik/athena
  • hart/athena
  • tpaschoa/athena
  • tnakagaw/athena
  • kkanke/athena
  • amakita/athena
  • anayaz/athena
  • maoki/athena
  • miyamada/athena
  • rishikaw/athena
  • whopkins/athena
  • dduda/athena
  • aagaard/athena
  • evalient/athena
  • ferusso/athena
  • smweber/athena-run-3
  • shudong/athena
  • smweber/athena
  • evalient/athena-dnn-calculator
  • zyan/athena-muon-calib-stream
  • zyan/athena-muon-calib
  • dellacqu/athena
  • strom/athena-dms
  • glagafon/project-nimber-1
  • strom/athena
  • aowang/athena
  • sbellman/athena
  • jsallen/athena
  • brosser/athena
  • ooncel/athena
  • macretar/athena
  • leguo/athena
  • jhoya/athena
  • skadir/athena-sadaf
  • osotosan/athena
  • tygeorge/athena
  • glagafon/handi-project
  • wuxi/athena
  • syan/athena-syan
  • mnorfolk/athena
  • glagafon/handi-project-1
  • hasun/athena
  • schernau/athena
  • will/athena
  • aborbely/athena
  • seinfant/athena
  • axgallen/athena-qualification-task
  • karakawa/athena
  • taogawa/athena
  • mmaroun/ravina-fork
  • axgallen/athena
  • dmankad/athena-gen
  • romar/athena
  • vlysenko/athena
  • ktariq/athena
  • dhagan/athena
  • tmlinare/athena
  • agarabag/athena
  • zuzak/athena
  • mahorstm/athena
  • ibamwidh/athena
  • ipolishc/athena
  • tizhang/athena
  • frfische/athena
  • atishelm/athena
  • jolamber/athena
  • ykhoulak/myathena
  • yil/athena
  • xilin/athena
  • jlue/athena-latest
  • huayu/athena
  • chuanye/athena
  • nkua-atlas/athena
  • dntounis/athena
  • tayoshid/athena
  • kifarman/athena
  • lderamo/athena
  • movincen/athena
  • nischmit/athena
  • steinber/athena-main
  • dtruncal/athena
  • kazheng/athena-acts
  • dongyi/athena
  • tdingley/athena
  • hasegawa/athena
  • openc/athena
  • mnowak/athena
  • malvesca/athena
  • glagafon/dq-optimize
  • ladamczy/athena
  • lcalic/athena
  • mhufnage/athena
  • lsultana/obsolete_athena
  • lsultana/athena
  • ekajomov/athena-fork-fix
  • kfung/athena
  • anfortma/athena
  • alveltma/athena
  • alpleban/athena
  • rqian/athena
  • yonoda/athena
  • pebaron/athena-leprem
  • anstein/athena
  • mmaheshw/athena
  • jdavidso/athena
  • edcritel/athena
  • gbird/athena
  • mfurukaw/athena
  • midandre/athena
  • anhodges/athena
  • kyjones/athena
  • bglik/athena
  • mvivasal/athena
  • asbrooks/athena
  • mveen/athena
  • sokkerma/athena
  • mmlynars/athena-v-2
  • fcurcio/athena
  • lboccard/athena
  • jmcgowan/athena
  • joroemer/athena
  • tburatov/athena
  • ivyoung/athena
  • dmankad/athena
  • tayoshid/athena-test
  • drasslof/athena
  • jodafons/athena
  • ctaybi/athena
  • sanchezj/athena-2022
  • tmclachl/athena
  • jiddon/athena
  • sdemiran/athena
  • anburger/athena
  • apfleger/athena
  • sdahbi/athena
  • goblirsc/athena
  • sidoti/athena
  • fwinkel/athena
  • sanchezj/athena
  • izahir/athena
  • mmoors/athena
  • jwkraus/athena
  • rvinasco/athena
  • obut/athena
  • esimpson/athena
  • rhaberle/athena
  • dta/athena_old
  • jhowarth/athena
  • klleras/athena
  • jecouthu/athena
  • janders/athena
  • jchapman/athena
  • mungo/athena
  • dtrischu/athena
  • avallier/athena
  • fhenry/athena
  • fmontere/athena
  • sfuenzal/athena
  • awharton/Athena
  • misantan/athena
  • zalegria/athena
  • zhaotong/athena
  • shaoguan/athena
  • acordeir/athena-ed
  • gdigrego/athena
  • amelo/athena
  • pdougan/athena
  • peiyan/athena
  • nbruscin/athena
  • backes/athena
  • mkholoda/athena
  • fkirfel/athena
  • caiy/athena
  • tayoshid/athena-2024
  • kchu/athena
  • bcervato/athena
  • esampson/athena-idart
  • gmascare/athena
  • shpeng/athena-2
  • gmercado/athena
  • rhowen/athena
  • gfacini/athena
  • fwinkl2/athena
  • yvolkotr/athena
  • esampson/athena-idart-2
  • djlewis/athena
  • costanzo/athena
  • nharriso/athena
  • pibutti/athena
  • esampson/athena-otp
  • yuematsu/athena
  • bmoser/athena
  • esampson/athena-june-otp
  • alpleban/athena-met
  • astefl/athena
  • bdong/athena
  • wcastigl/athena
  • yilin/athena
  • thitchin/athena
  • ksahan/athena
  • zhanhang/athena
  • msasada/athena
  • sosarkar/athena-again
  • lbarrade/athena
  • zhangbo/athena
  • seth/athena
  • okolay/athena
  • agheata/athena
  • txu/athena
  • robouque/athena
  • mlyukova/athena
  • nsurijr/athena
  • esampson/june-2-otp
  • wema/athena
  • damperia/athena-acts
  • dbaronmo/athena
  • acamplan/athena
  • boudreau/athena
  • martyniu/athena
  • eballabe/athena
  • vsasse/athena
  • domatter/athena
  • bngair/met-significance-r-22
  • ksakura/athena
  • menadeem/athena
  • atymchys/athena
  • yanqiw/athena
  • linghua/athena
  • bhuth/athena
  • bngair/me-tsig-athena
  • vkost/athena
  • rhicks/athena
  • arelycg/athena
  • skadir/athena
  • juscerri/athena
  • sosarkar/athena
  • biliu/athena
  • beltran/athena
  • sgoswami/athena
  • mwessels/athena
  • dreikher/athena
  • hshaddix/athena
  • ddicroce/athena
  • bdebjani/athena
  • lwinkler/athena
  • fladias/athena
  • cleong/athena
  • elham/athena
  • emoon/athena
  • sdiefenb/athena-onnx-tutorial
  • mhabedan/athena
  • haren/athena
  • mads/athena
  • nkrogh/athena
  • dwilson/athena
  • lsanfili/athena
  • fivone/athena
  • scane/athena
  • thart/athena
  • lifoster/athena
  • echerepa/athena
  • baer/athena
  • dahumphr/athena
  • alancast/athena
  • kenakamu/athena
  • dcamarer/athena
  • glagafon/athena
  • eskorda/athena
  • salopez/athena
  • glagafon/aaaathena
  • haotianl/athena
  • rshibata/athena
  • glagafon/glagafon-dq
  • lburke/athena
  • pizhang/athena
  • rvavrick/athena
  • ukhurshi/athena
  • therwig/athena
  • htsoi/athena
  • delitez/athena
  • casadop/athena
  • pachabri/athena
  • mwitkows/athena
  • ezaya/athena
  • lcorazzi/athena
  • achamber/athena
  • mmantina/athena
  • jaburles/athena
  • rmole/athena
  • hzhuang/athena
  • lmonaco/athena
  • gserenis/athena
  • mamirono/athena
  • jkrupa/athena
  • semami/athena
  • mfornasi/athena
  • rpozzi/athena
  • jinglis/athena
  • fdattola/athena
  • uepstein/athena
  • abesir/athena
  • ljerala/athena
  • cmavungu/athena
  • belderto/athena
  • lechols/athena
  • htorre/athena
  • jlittle/athena
  • lopezzot/athena
  • jajohnso/athena
  • tneep/athena
  • robouque/athena-20241115
  • lbrown/athena
  • fsiegert/athena
  • wguerin/athena
  • epompapa/athena
  • rmole/athena-personal-fork
  • kfang/athena-fork-kyfang
  • jackersc/athena
  • wenjingw/athena
  • ashirazi/athena
  • kgrimm/athena-kgrimm
  • wasu/athena
  • prmitra/athena
  • aslobodk/athena
  • toheintz/athena
  • amoreira/athena
  • nihartma/athena
  • kdipetri/athena
  • gfazzino/athena
  • goetz/athena-acts
  • muschmid/athena
  • yazhou/athena
  • wlai/athena
  • alarnold/athena
  • djuarezg/athena
  • falves/athena
  • mdacunha/athena
  • alecrhys/athena
  • mborodin/athena
  • novotnyp/athena
  • rohasan/athena
  • asickles/athena
  • lvicenik/athena
  • ibenaoum/athena
  • adsalvad/athena
  • tflee/athena
  • christog/athena
  • zetao/athena
  • kkazakov/athena
  • frcastig/athena
  • mfarzali/athena
  • llarson/athena
  • jusilva/athena
  • ehampshi/athena
  • exochell/my-athena
  • tomoya/athena-low-pt-muon-rec
  • pusharma/athena
  • gpinheir/athena
  • mojeda/athena
  • jecifuen/athena
  • hshaddix/athena-hshaddix
  • jlieberm/athena
  • vchabala/athena
  • nsur/athena-lund
  • chhultqu/athena
  • jlai/athena
  • nshtokha/athena
  • misavic/athena
  • yuxuanz/local-athena
  • camccrac/athena
  • sizumiya/athena
  • yukari/athena
  • pmourafr/athena
  • akraus/athena
  • sawyer/athena
  • mnegrini/athena
  • zhubacek/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • mfilipig/athena
  • zrokavec/athena
  • fdejean/athena
  • rkavak/athena
  • gipoddar/athena
  • ssuravar/athena
  • mtancock/athena-2
  • gsalvi/athena
  • beyeo/athena
  • sutuncay/athena
  • vpires/athena-vasco
  • ywng/athena
  • fballi/athena
1575 results
Show changes
Commits on Source (183)
Showing
with 706 additions and 196 deletions
Calorimeter/CaloCalibHitRec
......@@ -820,7 +820,6 @@ Calculation of energy fraction caused by particles of different types
void CaloCalibClusterMomentsMaker2::get_calib_frac(const std::map<unsigned int,int>& truthBarcodeToPdgCodeMap,
const MyClusInfo& clusInfo, std::vector<double> &engFrac) const
{
static unsigned int nWarnings = 0;
engFrac.assign(kCalibFracMax, 0.0);
if(clusInfo.engCalibIn.engTot <= 0.0) return;
// each MyClusInfo has a map of particle's barcode and particle calibration deposits in given cluster
......@@ -829,10 +828,7 @@ void CaloCalibClusterMomentsMaker2::get_calib_frac(const std::map<unsigned int,i
int pdg_id = 0;
try { pdg_id = truthBarcodeToPdgCodeMap.at(barcode); }
catch (const std::out_of_range& e){
if (nWarnings < 10 ){
ATH_MSG_WARNING("truthBarcodeToPdgCodeMap cannot find an entry with barcode " << barcode);
nWarnings++;
}
ATH_MSG_WARNING("truthBarcodeToPdgCodeMap cannot find an entry with barcode " << barcode);
continue;
}
......
......@@ -16,14 +16,9 @@ class CaloBadChannel {
CaloBadChannel( BitWord rawStatus) : m_word(rawStatus) {}
CaloBadChannel() : m_word(0) {}
CaloBadChannel(const CaloBadChannel& rBad) {m_word=rBad.m_word;}
CaloBadChannel(const CaloBadChannel& rBad) = default;
CaloBadChannel(const CaloBadChannel* pBad) {m_word=pBad->m_word;}
CaloBadChannel& operator= (const CaloBadChannel& rBad) {
if (this != &rBad) {
m_word = rBad.m_word;
}
return *this;
}
CaloBadChannel& operator= (const CaloBadChannel& rBad) = default;
bool statusOK( ProblemType pb) const {
BitWord mask = 1 << (PosType) pb;
......
......@@ -82,9 +82,13 @@ class CaloLocalHadCoeff {
/**
* @brief Copy constructor
*/
LocalHadDimension(const LocalHadDimension &other);
LocalHadDimension& operator= (const LocalHadDimension &other);
LocalHadDimension(const LocalHadDimension &other) = default;
LocalHadDimension& operator= (const LocalHadDimension &other) = default;
/**
* @brief Move constructor
*/
LocalHadDimension( LocalHadDimension &&) noexcept = default;
LocalHadDimension& operator= ( LocalHadDimension &&) noexcept = default;
// access methods
/// return dimension type
......@@ -157,8 +161,10 @@ class CaloLocalHadCoeff {
/**
* @brief Copy constructor
*/
LocalHadArea(const LocalHadArea &other);
LocalHadArea& operator= (const LocalHadArea &other);
LocalHadArea(const LocalHadArea &other) = default;
LocalHadArea& operator= (const LocalHadArea &other) = default;
LocalHadArea( LocalHadArea &&other) noexcept = default;
LocalHadArea& operator= ( LocalHadArea &&other) noexcept = default;
/// return area type
inline unsigned int getType() const { return m_type; }
......@@ -220,8 +226,11 @@ class CaloLocalHadCoeff {
/**
* @brief Copy constructor.
*/
CaloLocalHadCoeff(const CaloLocalHadCoeff &other);
CaloLocalHadCoeff& operator= (const CaloLocalHadCoeff &other);
CaloLocalHadCoeff(const CaloLocalHadCoeff &other) = default;
CaloLocalHadCoeff& operator= (const CaloLocalHadCoeff &other) = default;
//Move operators
CaloLocalHadCoeff(CaloLocalHadCoeff &&) noexcept = default;
CaloLocalHadCoeff& operator= (CaloLocalHadCoeff &&) noexcept = default;
//
// general access methods
......
......@@ -21,32 +21,6 @@
LocalHadDimension ->
*************************************************************************** */
// copy constructor
CaloLocalHadCoeff::LocalHadDimension::LocalHadDimension(const CaloLocalHadCoeff::LocalHadDimension &other)
: m_title (other.m_title),
m_type (other.m_type),
m_nbins (other.m_nbins),
m_xmin (other.m_xmin),
m_xmax (other.m_xmax),
m_dx (other.m_dx),
m_xbins (other.m_xbins)
{
}
CaloLocalHadCoeff::LocalHadDimension&
CaloLocalHadCoeff::LocalHadDimension::operator= (const CaloLocalHadCoeff::LocalHadDimension &other)
{
if (this != &other) {
m_title = other.m_title;
m_type = other.m_type;
m_nbins = other.m_nbins;
m_xmin = other.m_xmin;
m_xmax = other.m_xmax;
m_dx = other.m_dx;
m_xbins = other.m_xbins;
}
return *this;
}
// return bin number for cluster variable
int CaloLocalHadCoeff::LocalHadDimension::getBin(float &x) const
......@@ -157,32 +131,6 @@ bool CaloLocalHadCoeff::isFilled(const int bin) const
/* ***************************************************************************
LocalHadArea ->
*************************************************************************** */
// copy constructor
CaloLocalHadCoeff::LocalHadArea::LocalHadArea(const CaloLocalHadCoeff::LocalHadArea &other)
: m_title (other.m_title),
m_type (other.m_type),
m_npars (other.m_npars),
m_offset (other.m_offset),
m_length (other.m_length),
m_dims (other.m_dims),
m_dims_loc (other.m_dims_loc)
{
}
CaloLocalHadCoeff::LocalHadArea&
CaloLocalHadCoeff::LocalHadArea::operator=(const CaloLocalHadCoeff::LocalHadArea &other)
{
if (this != &other) {
m_title = other.m_title;
m_type = other.m_type;
m_npars = other.m_npars;
m_offset = other.m_offset;
m_length = other.m_length;
m_dims = other.m_dims;
m_dims_loc = other.m_dims_loc;
}
return *this;
}
// add new dimension to the area
void CaloLocalHadCoeff::LocalHadArea::addDimension(CaloLocalHadCoeff::LocalHadDimension &dim)
......@@ -214,27 +162,9 @@ CaloLocalHadCoeff
// default constructor
CaloLocalHadCoeff::CaloLocalHadCoeff()
{
}
// copy constructor
CaloLocalHadCoeff::CaloLocalHadCoeff(const CaloLocalHadCoeff &other)
: m_title (other.m_title),
m_CoeffSet (other.m_CoeffSet),
m_AreaSet (other.m_AreaSet)
{
}
CaloLocalHadCoeff& CaloLocalHadCoeff::operator=(const CaloLocalHadCoeff &other)
{
if (this != &other) {
m_AreaSet = other.m_AreaSet;
m_CoeffSet = other.m_CoeffSet;
m_title = other.m_title;
}
return *this;
static_assert(std::is_nothrow_move_constructible<CaloLocalHadCoeff>::value);
static_assert(std::is_nothrow_move_constructible<LocalHadArea>::value);
static_assert(std::is_nothrow_move_constructible<LocalHadDimension>::value);
}
......
......@@ -40,10 +40,7 @@ public:
}
CaloTopoTmpHashCell(const CaloTopoTmpHashCell &other)
{
m_clusterCell = other.m_clusterCell;
}
CaloTopoTmpHashCell(const CaloTopoTmpHashCell &other) = default;
CaloTopoTmpHashCell(T* clusterCell)
......@@ -58,13 +55,7 @@ public:
return (m_clusterCell == other.m_clusterCell);
}
CaloTopoTmpHashCell & operator=(const CaloTopoTmpHashCell & other)
{
if ( this != &other ) {
m_clusterCell = other.m_clusterCell;
}
return *this;
}
CaloTopoTmpHashCell & operator=(const CaloTopoTmpHashCell & other) = default;
T * getCaloTopoTmpClusterCell() const
{
......
......@@ -187,7 +187,7 @@ public:
/// \name vector constructors (no Allocators)
//@{
ElementLinkVector() : ElementLinkVectorBase() { }
ElementLinkVector();
ElementLinkVector(size_type n, const ElemLink& link) :
ElementLinkVectorBase(), m_shortRefs(n, ElemLinkRef(link))
......@@ -217,7 +217,7 @@ public:
ElementLinkVectorBase( vec ),
m_shortRefs(vec.m_shortRefs), m_hostDObjs(vec.m_hostDObjs) { }
ElementLinkVector(ElemLinkVec&& vec) :
ElementLinkVector(ElemLinkVec&& vec) noexcept :
ElementLinkVectorBase( std::move(vec) ),
m_shortRefs(std::move(vec.m_shortRefs)),
m_hostDObjs(std::move(vec.m_hostDObjs)) { }
......@@ -233,7 +233,7 @@ public:
return *this;
}
ElementLinkVector& operator= (ElemLinkVec&& vec)
ElementLinkVector& operator= (ElemLinkVec&& vec) noexcept
{
if (this != &vec) {
m_persKeys = std::move(vec.m_persKeys);
......@@ -416,6 +416,10 @@ private:
}; // class ElementLinkVector
template <typename DOBJ>
ElementLinkVector<DOBJ>::ElementLinkVector() : ElementLinkVectorBase() {
}
/*
* The following piece of code makes the Reflex dictionary think of
* "ElementLinkVector< T, DataProxyStorage< T >,
......
......@@ -672,6 +672,9 @@ void test3 (SGTest::TestStore& store)
TestStore::sgkey_t sgkey = store.stringToKey ("foocont3", fooclid);
//Add check to see if Element link optimized for std::vector expansion
static_assert(std::is_nothrow_move_constructible<ElementLink<FooCont>>::value);
FooCont* foocont3 = new FooCont;
for (int i=0; i < 4; i++)
foocont3->push_back (new Foo(i+200));
......
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ASG_DATA_HANDLES_HANDLE_KEY_ARRAY_H
#define ASG_DATA_HANDLES_HANDLE_KEY_ARRAY_H
#ifndef XAOD_STANDALONE
#include <StoreGate/HandleKeyArray.h>
#else
#include "AsgDataHandles/VarHandleKeyArray.h"
namespace SG {
/**
* @class SG::HandleKeyArray<T>
* @brief class to hold an array of HandleKeys
*
* See StoreGate/HandleKeyArray for details.
*
* This currently (13 Aug 20) contains a number of commented out
* members that were part of the original handle implementation, but
* have not yet been implemented in the standalone version. The plan
* is to either implement or remove them, depending on what is needed
* in AnalysisBase as we add more packages.
*/
template <class T_Handle, class T_HandleKey/*, Gaudi::DataHandle::Mode MODE*/>
class HandleKeyArray : public VarHandleKeyArrayCommon< T_HandleKey > {
public:
// /**
// * @brief default Constructor from a HandleKeyArray
// */
// HandleKeyArray(){}
// /**
// * @brief Constructor from a HandleKeyArray that takes a vector
// * of ReadHandleKeys
// * @param v vector of HandleKey
// */
// HandleKeyArray( const std::vector<T_HandleKey>& v ) :
// VarHandleKeyArrayCommon<T_HandleKey> ( v ) {}
// /**
// * @brief Constructor from a HandleKeyArray that takes an
// * initializer list of HandleKeys
// * @param l initializer list of HandleKey
// */
// HandleKeyArray( std::initializer_list<T_HandleKey> l ):
// VarHandleKeyArrayCommon<T_HandleKey> {l} {}
// /**
// * @brief Constructor from a HandleKeyArray that takes an
// * initializer list of std::strings.
// * @param l initializer list of std::strings used to create the
// * HandleKeys
// */
// HandleKeyArray( std::initializer_list<std::string> key_names):
// VarHandleKeyArrayCommon<T_HandleKey> {key_names} {}
/**
* @brief auto-declaring Property Constructor from a HandleKeyArray
* that takes an initializer list of std::strings, and associates the WHKA
* with the specified Property name
* @param name name of Property
* @param l initializer list of std::strings used to create the
* HandleKeys
* @param doc documentation string
*/
template <class OWNER>
inline HandleKeyArray( OWNER* owner,
std::string name,
std::initializer_list<std::string> l,
std::string doc="") :
VarHandleKeyArrayCommon<T_HandleKey> {l} {
owner->declareProperty(std::move(name), *this, std::move(doc));
}
// /**
// * @brief return the type (Read/Write/Update) of handle
// */
// Gaudi::DataHandle::Mode mode() const { return MODE; }
/**
* @brief create a vector of Handles from the HandleKeys
* in the array
*/
std::vector< T_Handle > makeHandles() const {
std::vector< T_Handle > hndl;
typename std::vector<T_HandleKey>::const_iterator itr;
for (itr = this->begin(); itr != this->end(); ++itr) {
hndl.push_back ( T_Handle( *itr) );
}
return hndl;
}
// /**
// * @brief create a vector of Handles from the HandleKeys
// * in the array, with explicit EventContext.
// */
// std::vector< T_Handle > makeHandles (const EventContext& ctx) const
// {
// std::vector< T_Handle > hndl;
// typename std::vector<T_HandleKey>::const_iterator itr;
// for (itr = this->begin(); itr != this->end(); ++itr) {
// hndl.push_back ( T_Handle( *itr, ctx) );
// }
// return hndl;
// }
};
} // namespace SG
namespace asg
{
namespace detail
{
template<typename T> struct GetStringHelper;
template<typename T1,typename T2> struct GetStringHelper<SG::HandleKeyArray<T1,T2> >
: public GetStringHelper<std::vector<T2> >
{
};
template<typename T> struct SetStringHelper;
template<typename T1,typename T2> struct SetStringHelper<SG::HandleKeyArray<T1,T2> >
: public SetStringHelper<std::vector<T2> >
{
};
}
}
#endif
#endif
......@@ -50,12 +50,12 @@ public:
//
// /**
// * @brief Default constructor.
// *
// * The handle will not be usable until a non-blank key is assigned.
// */
// ReadHandle();
/**
* @brief Default constructor.
*
* The handle will not be usable until a non-blank key is assigned.
*/
ReadHandle() = default;
/**
......@@ -134,6 +134,14 @@ public:
const_pointer_type get (const EventContext& ctx) const;
/**
* @brief Is the referenced object present in SG?
*
* Const method; the handle does not change as a result of this.
*/
bool isPresent() const;
/**
* @brief Is the referenced object present in SG?
* @param key SG key to test.
......
......@@ -174,6 +174,18 @@ ReadHandle<T>::get (const EventContext& /*ctx*/) const
}
/**
* @brief Is the referenced object present in SG?
*
* Const method; the handle does not change as a result of this.
*/
template <class T>
bool ReadHandle<T>::isPresent() const
{
return isPresent_impl (key());
}
/**
* @brief Is the referenced object present in SG?
* @param key SG key to test.
......
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ASG_DATA_HANDLES_READ_HANDLE_KEY_ARRAY_H
#define ASG_DATA_HANDLES_READ_HANDLE_KEY_ARRAY_H
#ifndef XAOD_STANDALONE
#include "StoreGate/ReadHandleKeyArray.h"
#else
#include "AsgDataHandles/HandleKeyArray.h"
#include "AsgDataHandles/ReadHandleKey.h"
#include "AsgDataHandles/ReadHandle.h"
namespace SG {
/**
* @class SG::ReadHandleKeyArray<T>
* @brief class to hold an array of ReadHandleKeys
*
* See StoreGate/ReadHandleKeyArray for details.
*
* This currently (13 Aug 20) contains a commented out template
* argument that was part of the original handle implementation, but
* has not yet been implemented in the standalone version. The plan
* is to either implement or remove them, depending on what is
* needed in AnalysisBase as we add more packages.
*/
template <class T>
using ReadHandleKeyArray = HandleKeyArray<ReadHandle<T>, ReadHandleKey<T>/*, Gaudi::DataHandle::Reader*/ >;
} // namespace SG
#endif
#endif
......@@ -42,6 +42,13 @@ namespace SG {
{
public:
/**
* @brief Default constructor.
*
* The handle will not be usable until a non-blank key is assigned.
*/
VarHandleBase() = default;
/**
* @brief Constructor from a VarHandleKey.
* @param key The key object holding the clid/key/store.
......
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ASG_DATA_HANDLES_VAR_HANDLE_KEY_ARRAY_H
#define ASG_DATA_HANDLES_VAR_HANDLE_KEY_ARRAY_H
#ifndef XAOD_STANDALONE
#include <StoreGate/VarHandleKeyArray.h>
#else
/**
* @file StoreGate/VarHandleKeyArray.h
* @author Nils Krumnack <Nils.Erik.Krumnack@cern.h>
* @author C. Leggett (for original version)
* @brief Base class for VarHandleKeyArray for reading from StoreGate.
*/
#include <AsgMessaging/StatusCode.h>
#include <vector>
#include <string>
namespace SG {
/**
* @class SG::VarHandleKeyArray<T>
* @brief untemplated base class for VarHandleKeyArrays
*
* See StoreGate/VarHandleKeyArray for details.
*
* This currently (13 Aug 20) contains a number of commented out
* members that were part of the original handle implementation, but
* have not yet been implemented in the standalone version. The plan
* is to either implement or remove them, depending on what is needed
* in AnalysisBase as we add more packages.
*/
class VarHandleKeyArray {
public:
VarHandleKeyArray(){};
virtual ~VarHandleKeyArray() = default;
// virtual StatusCode assign(const std::vector<std::string>& vs)=0;
virtual std::string toString() const = 0;
// virtual Gaudi::DataHandle::Mode mode() const = 0;
// virtual std::vector<SG::VarHandleKey*> keys() const = 0;
// virtual void renounce() = 0;
// virtual bool renounced() const = 0;
// virtual void declare(IDataHandleHolder*) = 0;
// virtual void setOwner( IDataHandleHolder* o ) = 0;
// virtual const IDataHandleHolder* owner() const = 0;
// virtual IDataHandleHolder* owner() = 0;
};
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// mixin class for common functionality
//
/**
* @class SG::VarHandleKeyArrayCommon<T>
* @brief mixin base class for VarHandleKeyArrays, inheriting from
* std::vector as well as VarHandleKeyArray to provide vector-like
* access
*
* See StoreGate/VarHandleKeyArrayCommon for details.
*
* This currently (13 Aug 20) contains a number of commented out
* members that were part of the original handle implementation, but
* have not yet been implemented in the standalone version. The plan
* is to either implement or remove them, depending on what is needed
* in AnalysisBase as we add more packages.
*
*/
template <class Base>
class VarHandleKeyArrayCommon : public VarHandleKeyArray,
public std::vector<Base> {
public:
/**
* @brief default base Constructor of mixin
*
*/
VarHandleKeyArrayCommon() : std::vector<Base>() {};
/**
* @brief base Constructor from a VarHandleKeyArray that takes a vector
* @param v vector of Read/Write/UpdateHandleKey
*/
VarHandleKeyArrayCommon( const std::vector<Base>& v ):
std::vector<Base>(v) {};
/**
* @brief base Constructor from a VarHandleKeyArray that takes an
* initializer list of VarHandleKeys
* @param l initializer list of Read/Write/UpdateHandleKey
*/
VarHandleKeyArrayCommon( std::initializer_list<Base> l ):
std::vector<Base>{l} {};
/**
* @brief base Constructor from a VarHandleKeyArray that takes an
* initializer list of std::strings.
* @param l initializer list of std::strings used to create the
* VarHandleKeys
*/
VarHandleKeyArrayCommon( std::initializer_list<std::string> l ) {
for (auto &e : l) {
this->push_back( Base{e} );
}
}
/**
* @brief forward the initialization to the member VarHandleKeys
* @param used If false, then this handle is not to be used.
* Instead of normal initialization, the key will be cleared.
*/
StatusCode initialize (bool used = true);
// /**
// * @brief Set the contents of the VarHandleKeyArray from a
// * vector of std::strings
// * @param vs vector of initializer strings
// */
// virtual StatusCode assign(const std::vector<std::string>& vs) override;
/**
* @brief string representation of the VarHandleKeyArray
*/
virtual std::string toString() const override;
// /**
// * @brief create array of all base VarHandleKeys in the Array
// */
// virtual std::vector<SG::VarHandleKey*> keys() const override;
// /**
// * @brief if called, handles will not be declared in the algorithm I/O
// */
// virtual void renounce() override { m_isRenounced = true; }
// /**
// * @brief query renounced state
// **/
// virtual bool renounced() const override { return m_isRenounced; }
// virtual void declare( IDataHandleHolder* ) override;
// virtual void setOwner( IDataHandleHolder* o ) override { m_owner = o; }
// virtual const IDataHandleHolder* owner() const override { return m_owner; }
// virtual IDataHandleHolder* owner() override { return m_owner; }
private:
// bool m_isRenounced{ false };
// IDataHandleHolder* m_owner{ nullptr };
};
} // namespace SG
namespace std {
ostream& operator<<(ostream& s, const SG::VarHandleKeyArray& m);
}
#include "AsgDataHandles/VarHandleKeyArray.icc"
#endif
#endif
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#include <sstream>
namespace SG {
/**
* @brief forward the initialization to the member VarHandleKeys
* @param used If false, then this handle is not to be used.
* Instead of normal initialization, the key will be cleared.
*/
template <class Base>
inline
StatusCode VarHandleKeyArrayCommon<Base>::initialize (bool used /*= true*/) {
StatusCode sc(StatusCode::SUCCESS);
if (used) {
// IDataHandleHolder* const owner = this->owner();
for (Base& b : *this) {
// if (owner != nullptr) {
// b.setOwner(owner);
// }
if ( b.initialize().isFailure() ) {
sc = StatusCode::FAILURE;
}
}
}
else {
this->clear();
}
return sc;
}
// //
// // Set the VarHandleKey from a string
// //
// template <class Base>
// inline
// StatusCode VarHandleKeyArrayCommon<Base>::assign(const std::vector<std::string>& vs) {
// StatusCode sc(StatusCode::SUCCESS);
// this->clear();
// for (auto & s : vs) {
// Base b;
// if (!b.assign(s)) {
// sc = StatusCode::FAILURE;
// } else {
// // Skip blank keys
// if (b.key() != "") {
// this->push_back(b);
// }
// }
// }
// return sc;
// }
//
// string representation of VarHandleKeyArray
//
template <class Base>
inline
std::string VarHandleKeyArrayCommon<Base>::toString() const {
std::ostringstream ost;
typename std::vector<Base>::const_iterator itr;
itr = this->begin();
size_t sz = this->size();
for ( size_t i=0; i < sz; ++i, ++itr) {
// ost << "'" << itr->objKey() << "'";
ost << "'" << itr->key() << "'";
if (i != sz-1) {
ost << ",";
}
}
return ost.str();
}
// //
// // create array of all base VarHandleKeys in the Array
// //
// template <class Base>
// inline
// std::vector<SG::VarHandleKey*> VarHandleKeyArrayCommon<Base>::keys() const {
// std::vector<SG::VarHandleKey*> keys;
// for (const SG::VarHandleKey& k : *this) {
// // FIXME: This is a rule violation, but we can't really fix it without
// // changing the IDataHandleHolder base class from Gaudi.
// SG::VarHandleKey* k_nc ATLAS_THREAD_SAFE = const_cast<SG::VarHandleKey*>(&k);
// keys.push_back (k_nc);
// }
// return keys;
// }
// template <class Base>
// inline
// void VarHandleKeyArrayCommon<Base>::declare(IDataHandleHolder* owner) {
// if ( renounced() ) {
// return;
// }
// for (auto k: keys() ) {
// owner->declare ( *k );
// k->setOwner( owner );
// }
// }
}
......@@ -141,11 +141,11 @@ public:
// pointer_type operator->();
// /**
// * @brief Dereference the pointer.
// * Returns the cached pointer. Throws ExcNullWriteHandle if null.
// */
// reference_type operator*();
/**
* @brief Dereference the pointer.
* Returns the cached pointer. Throws ExcNullWriteHandle if null.
*/
reference_type operator*();
// /**
......@@ -168,10 +168,10 @@ public:
// pointer_type cachedPtr();
// /**
// * @brief Can the handle be successfully dereferenced?
// */
// virtual bool isValid() override final;
/**
* @brief Can the handle be successfully dereferenced?
*/
bool isValid();
//************************************************************************
......@@ -179,11 +179,11 @@ public:
//
// /**
// * @brief Record a const object to the store.
// * @param data The object to record.
// */
// StatusCode record (std::unique_ptr<T> data);
/**
* @brief Record a const object to the store.
* @param data The object to record.
*/
StatusCode record (std::unique_ptr<T> data);
// /**
......@@ -231,22 +231,22 @@ public:
// StatusCode recordNonConst (SG::DataObjectSharedPtr<T> data);
// /**
// * @brief Record an object to the store.
// * @param data The object to record.
// * @param returnExisting Allow an existing object?
// *
// * Unlike record(), this does not change the handle object.
// * That means that one will not be able to get the object back
// * by dereferencing the handle.
// * Returns the object placed in the store, or nullptr if there
// * was an error.
// * If there was already an object in the store with the given key,
// * then return null, unless @c returnExisting is true, in which case
// * return success. In either case, @c data is destroyed.
// */
// const_pointer_type put (std::unique_ptr<T> data,
// bool returnExisting = false) const;
/**
* @brief Record an object to the store.
* @param data The object to record.
* @param returnExisting Allow an existing object?
*
* Unlike record(), this does not change the handle object.
* That means that one will not be able to get the object back
* by dereferencing the handle.
* Returns the object placed in the store, or nullptr if there
* was an error.
* If there was already an object in the store with the given key,
* then return null, unless @c returnExisting is true, in which case
* return success. In either case, @c data is destroyed.
*/
const_pointer_type put (std::unique_ptr<T> data/*,
bool returnExisting = false*/) const;
// /**
......@@ -630,6 +630,9 @@ private:
// /// set it const on the record, but instead set this and do the
// /// setConst in the destructor.
// SG::DataProxy* m_lockAuxPending = nullptr;
/// the cached pointer we recorded
T *m_ptr {nullptr};
};
......
......@@ -171,17 +171,19 @@ WriteHandle<T>::~WriteHandle()
// }
// /**
// * @brief Dereference the pointer.
// * Returns the cached pointer. Throws ExcNullWriteHandle if null.
// */
// template <class T>
// inline
// typename WriteHandle<T>::reference_type
// WriteHandle<T>::operator*()
// {
// return *WriteHandle<T>::checkedCachedPtr();
// }
/**
* @brief Dereference the pointer.
* Returns the cached pointer. Throws ExcNullWriteHandle if null.
*/
template <class T>
inline
typename WriteHandle<T>::reference_type
WriteHandle<T>::operator*()
{
if (m_ptr == nullptr)
throw std::runtime_error ("dereferenced handle is null: " + key());
return *m_ptr;
}
// /**
......@@ -222,32 +224,35 @@ WriteHandle<T>::~WriteHandle()
// }
// /**
// * @brief Can the handle be successfully dereferenced?
// */
// template <class T>
// inline
// bool WriteHandle<T>::isValid()
// {
// return this->m_ptr != nullptr;
// }
/**
* @brief Can the handle be successfully dereferenced?
*/
template <class T>
inline
bool WriteHandle<T>::isValid()
{
return this->m_ptr != nullptr;
}
//************************************************************************
// Record.
// /**
// * @brief Record a const object to the store.
// * @param data The object to record.
// */
// template <class T>
// inline
// StatusCode
// WriteHandle<T>::WriteHandle::record (std::unique_ptr<T> data)
// {
// return this->doRecord (std::move(data), true, false);
// }
/**
* @brief Record a const object to the store.
* @param data The object to record.
*/
template <class T>
inline
StatusCode
WriteHandle<T>::WriteHandle::record (std::unique_ptr<T> data)
{
m_ptr = data.get();
if (xAOD::TActiveStore::store()->record (std::move (data), key()).isFailure())
return StatusCode::FAILURE;
return StatusCode::SUCCESS;
}
// /**
......@@ -276,6 +281,7 @@ StatusCode
WriteHandle<T>::WriteHandle::record (std::unique_ptr<T> data,
std::unique_ptr<AUXSTORE> auxstore)
{
m_ptr = data.get();
if (xAOD::TActiveStore::store()->record (std::move (auxstore), key() + "Aux.").isFailure())
return StatusCode::FAILURE;
if (xAOD::TActiveStore::store()->record (std::move (data), key()).isFailure())
......@@ -330,29 +336,31 @@ WriteHandle<T>::WriteHandle::record (std::unique_ptr<T> data,
// }
// /**
// * @brief Record an object to the store.
// * @param data The object to record.
// * @param returnExisting Allow an existing object?
// *
// * Unlike record(), this does not change the handle object.
// * That means that one will not be able to get the object back
// * by dereferencing the handle.
// * Returns the object placed in the store, or nullptr if there
// * was an error.
// * If there was already an object in the store with the given key,
// * then return null, unless @c returnExisting is true, in which case
// * return success. In either case, @c data is destroyed.
// */
// template <class T>
// inline
// typename WriteHandle<T>::const_pointer_type
// WriteHandle<T>::put (std::unique_ptr<T> data,
// bool returnExisting /*= false*/) const
// {
// IProxyDict* store = nullptr;
// return doPut (nullptr, std::move(data), returnExisting, store);
// }
/**
* @brief Record an object to the store.
* @param data The object to record.
* @param returnExisting Allow an existing object?
*
* Unlike record(), this does not change the handle object.
* That means that one will not be able to get the object back
* by dereferencing the handle.
* Returns the object placed in the store, or nullptr if there
* was an error.
* If there was already an object in the store with the given key,
* then return null, unless @c returnExisting is true, in which case
* return success. In either case, @c data is destroyed.
*/
template <class T>
inline
typename WriteHandle<T>::const_pointer_type
WriteHandle<T>::put (std::unique_ptr<T> data/*,
bool returnExisting / *= false*/) const
{
const_pointer_type result = data.get();
if (xAOD::TActiveStore::store()->record (std::move (data), key()).isFailure())
throw std::runtime_error ("failed to record object: " + key());
return result;
}
// /**
......
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#ifdef XAOD_STANDALONE
#include "AsgDataHandles/VarHandleKeyArray.h"
// namespace Gaudi {
// namespace Parsers {
// /**
// * @brief Gaudi function used to initialize a property from a string.
// * @param v The object to initialize.
// * @param s The string from which to initialize.
// *
// * Used during Gaudi property handling to set object @c v from the string @c s.
// * Note that @c s is a representation of the property setting; thus, in the
// * case of setting a property from a string, @c s will contain quote marks.
// */
// StatusCode
// GAUDI_API
// parse(SG::VarHandleKeyArray& v, const std::string& s)
// {
// std::vector<std::string> vp;
// StatusCode sc = Gaudi::Parsers::parse(vp, s);
// if (sc.isSuccess())
// sc = v.assign( vp );
// return sc;
// }
// } //> ns Parsers
// namespace Utils {
// /**
// * @brief Gaudi function used to convert a property to a string.
// * @param v The object to convert.
// * @param o Stream to which to do the conversion.
// *
// * Used during Gaudi property handling to get a string representation of @c v.
// * Note that if the representation is a string, it should be surrounded
// * by quote marks.
// */
// std::ostream&
// GAUDI_API
// toStream(const SG::VarHandleKeyArray& v, std::ostream& o)
// {
// o << "[" << v.toString() << "]";
// return o;
// }
// } //> ns Utils
// } //> ns Gaudi
namespace std {
ostream& operator<<(ostream& s, const SG::VarHandleKeyArray& m) {
s << "[" << m.toString() << "]";
return s;
}
}
#endif
......@@ -12,6 +12,7 @@
#include <AsgTools/AsgTool.h>
#include <AsgExampleTools/IDataHandleTestTool.h>
#include <AsgDataHandles/ReadHandleKey.h>
#include <AsgDataHandles/ReadHandleKeyArray.h>
#include <AsgDataHandles/ReadDecorHandleKey.h>
#include <AsgDataHandles/WriteHandleKey.h>
......@@ -52,9 +53,11 @@ namespace asg
#ifndef SIMULATIONBASE
SG::ReadHandleKey<xAOD::MuonContainer> m_readKey {this, "readKey", "Muons", "regular read key"};
SG::ReadDecorHandleKey<xAOD::MuonContainer> m_readDecorKey {this, "readDecorKey", "Muons.pt", "read decor key"};
SG::ReadHandleKeyArray<xAOD::MuonContainer> m_readKeyArray {this, "readKeyArray", {}, "array read key"};
SG::WriteHandleKey<xAOD::MuonContainer> m_writeKey {this, "writeKey", "", "regular write key"};
#endif
bool m_readFailure {false};
bool m_readArray {false};
bool m_readDecorFailure {false};
std::string m_doWriteName;
};
......
......@@ -35,6 +35,7 @@ namespace asg
{
declareProperty ("readFailure", m_readFailure, "whether to expect a read failure");
declareProperty ("readDecorFailure", m_readDecorFailure, "whether to expect a read decoration failure");
declareProperty ("readArray", m_readArray, "whether to read from the array");
declareProperty ("doWriteName", m_doWriteName, "if we should write, the name we expect to write to");
}
......@@ -55,6 +56,7 @@ namespace asg
ANA_CHECK (m_readDecorKey.initialize ());
if (!m_writeKey.empty())
ANA_CHECK (m_writeKey.initialize ());
ANA_CHECK (m_readKeyArray.initialize());
#endif
return StatusCode::SUCCESS;
}
......@@ -73,10 +75,12 @@ namespace asg
auto readHandle = makeHandle (m_readKey);
if (m_readFailure == true)
{
EXPECT_FALSE (readHandle.isPresent());
EXPECT_EQ (nullptr, readHandle.get());
EXPECT_FALSE (readHandle.isValid());
} else
{
EXPECT_TRUE (readHandle.isPresent());
EXPECT_EQ (muonsStore, readHandle.get());
EXPECT_TRUE (readHandle.isValid());
}
......@@ -91,6 +95,16 @@ namespace asg
EXPECT_EQ (acc (*testMuon), readDecorHandle (*testMuon));
}
if (m_readArray)
{
EXPECT_EQ (1u, m_readKeyArray.size());
auto handles = m_readKeyArray.makeHandles();
EXPECT_EQ (muonsStore, handles[0].get());
} else
{
EXPECT_EQ (0u, m_readKeyArray.size());
}
if (!m_doWriteName.empty())
{
auto writeHandle = makeHandle (m_writeKey);
......