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
  • tnommens/athena
  • ewallin/athena
  • tvazquez/athena
  • averbyts/athena
  • gascott/athena
  • yuhui/athena
  • shbansal/athena
  • lserkin/athena
  • corentin/athena
  • ccaminch/athena
  • berkeleylab/CharmPhysics/athena
  • cdiez/athena
  • miochoa/athena
  • cpollard/athena
  • hfox/athena
  • ckirfel/athena
  • madurano/athena_gittutorial
  • msykora/athena
  • jakoubek/athena
  • calfayan/athena
  • kjohns/athena
  • atlas/athena
  • toshi/athena
  • fwinkl/athena
  • wlampl/athena
  • aundrus/athena
  • dguest/athena
  • akraszna/athena
  • rhauser/athena
  • karolos/athena
  • phwindis/athena
  • jmontejo/athena
  • arnaez/athena
  • baines/athena
  • damazio/athena
  • mmuskinj/athena
  • okuprash/athena
  • psommer/athena
  • smh/athena
  • bwynne/athena
  • tstreble/athena
  • turra/athena
  • ATLAS-EGamma/athena
  • tdado/athena
  • yuxu/athena
  • tadej/athena
  • toyamaza/athena
  • abuckley/athena
  • gemmeren/athena
  • ssnyder/athena
  • jmasik/athena
  • wwalko/athena
  • pjacka/athena
  • tamartin/athena
  • emoyse/athena
  • pgadow/athena
  • tbold/athena
  • solodkov/athena
  • mhodgkin/athena
  • rbielski/athena
  • nstyles/athena
  • dcasper/athena
  • mark/athena
  • mrybar/athena
  • ychiu/athena
  • rbianchi/athena
  • christos/athena
  • graemes/athena
  • yoyamagu/athena
  • sshaw/athena
  • nikiforo/athena
  • fpastore/athena
  • shlomit/athena
  • hartj/athena
  • harkusha/athena
  • jcatmore/athena
  • mvozak/athena
  • ebuschma/athena
  • leggett/athena
  • martindl/athena
  • gunal/athena
  • almaloiz/athena
  • ewelina/athena
  • tlari/athena
  • ligang/athena
  • susinha/athena
  • sroe/athena
  • filthaut/athena
  • lfiorini/athena
  • peter/athena
  • longjon/athena
  • cvarni/athena
  • jichen/athena
  • wleight/athena
  • cshimmin/athena
  • nwarrack/athena
  • mihuebne/athena
  • chays/athena
  • dtovey/athena
  • jsallen/athena-high-pt-ms-jets
  • cchan/athena
  • sgeorge/athena
  • yafu/athena
  • dkar/athena
  • tkohno/athena
  • mgignac/athena
  • wiedenat/athena
  • janovak/athena
  • khoo/athena
  • alfroch/athena
  • maklein/athena
  • cohm/athena
  • tmkrtchy/athena
  • omajersk/athena
  • gingrich/athena
  • dbakshig/athena
  • schaarsc/athena
  • fernando/athena
  • mstamenk/athena
  • ponyisi/athena
  • scheiric/athena
  • ravinab/athena
  • pleskot/athena
  • ekuwertz/athena
  • jobalz/athena
  • okepka/athena
  • merrenst/athena
  • ebergeas/athena
  • goetz/athena
  • ekasimi/athena
  • dpopov/athena
  • afaulkne/athena
  • xai/athena
  • mdanning/athena
  • achishol/athena
  • egramsta/athena
  • hye/athena
  • alaurier/athena
  • clseitz/athena
  • mtoscani/athena
  • astruebi/athena
  • krumnack/athena
  • bmindur/athena
  • shanisch/athena
  • ncalace/athena
  • ppostola/athena
  • aad/athena
  • efilmer/athena
  • gpanizzo/athena
  • stelzer/athena
  • jpanduro/athena
  • rcoelhol/athena
  • ssottoco/athena
  • tupham/athena
  • ssarikay/athena
  • turnerm/athena
  • sutt/athena
  • nkrengel/athena
  • cmcginn/athena
  • rkopelia/athena
  • hyamauch/athena
  • stsuno/athena
  • bernius/athena
  • tsulaia/athena
  • yunju/athena
  • vcairo/athena
  • mbandier/athena
  • mehlhase/athena
  • ldc/athena
  • dzanzi/athena
  • jmacdona/athena
  • jufische/athena
  • jdandoy/athena
  • kzoch/athena
  • amete/athena
  • nasbah/athena
  • kwhalen/athena
  • rcarney/athena
  • bmorgan/athena
  • hhibi/athena
  • msaimper/athena
  • williams/athena
  • coccaro/athena
  • shhirose/athena
  • kkohler/athena
  • loch/athena
  • ynoguchi/athena
  • cdeutsch/athena
  • cheidegg/athena
  • campanel/athena
  • heng/athena
  • nova/athena
  • wbalunas/athena
  • todorova/athena
  • hoide/athena
  • xju/athena
  • sjiggins/athena
  • yuchou/athena
  • bgokturk/athena
  • hrussell/athena
  • lidiaz/athena
  • aytul/athena
  • guerrero/athena
  • jbiswal/athena
  • mverissi/athena
  • kpachal/athena
  • kegraham/athena
  • bouhova/athena
  • alopezso/athena
  • alwang/athena
  • dhayden/athena
  • mvessell/athena
  • ssantpur/athena
  • mvanadia/athena
  • omeshkov/athena
  • kenelson/athena
  • upatel/athena
  • soumya/athena
  • fmeloni/athena
  • dshope/athena
  • igrabows/athena
  • tvarol/athena
  • ruyuan/athena
  • korona/athena
  • dbogavac/athena
  • anperrev/athena
  • mhank/athena
  • cowagner/athena
  • eramakot/athena
  • tnobe/athena
  • tursom/athena
  • fgiuli/athena
  • fsforza/athena
  • chinderk/athena
  • angianni/athena
  • derue/athena
  • falonso/athena
  • koffas/athena
  • ballbroo/athena
  • diehl/athena
  • tphamleh/athena
  • myexley/athena
  • hansenph/athena
  • ekajomov/athena-general
  • salvator/athena
  • sarbiolv/athena
  • davidek/athena
  • hirose/athena
  • stavrop/athena
  • mfujimot/athena
  • stapiaar/athena
  • nwenke/athena
  • masato/athena
  • jhaley/athena
  • jmendes/athena
  • ffabbri/athena
  • tpelzer/athena
  • agbet/athena
  • cdelitzs/athena
  • dbabal/athena
  • juesseiv/athena
  • gia/athena
  • hmildner/athena
  • dwallace/athena
  • kkrizka/athena
  • temoskal/athena
  • asonay/athena
  • eschanet/athena
  • iaizenbe/athena
  • ckitsaki/athena
  • jiawei/athena
  • lferencz/athena
  • czhou/athena
  • mromano/athena
  • jteoh/athena
  • pmeiring/athena
  • rustem/athena
  • liberato/athena
  • sswatman/athena
  • jbeirer/athena
  • miqueits/athena
  • nielsenj/athena
  • wachan/athena
  • elmsheus/athena
  • ranovotn/athena
  • eparrish/athena
  • markowen/athena
  • asquith/athena
  • esoldato/athena
  • nicholas/athena
  • fuhe/athena
  • dakoch/athena
  • mhance/athena
  • jkempste/athena
  • asoukhar/athena
  • aranzazu/athena
  • ndegroot/athena
  • lihan/athena
  • ginaciog/athena
  • tjunkerm/athena
  • aporeba/athena
  • verducci/athena
  • martis/athena
  • sschramm/athena
  • mswiatlo/athena
  • mdelmast/athena
  • ssaha/athena
  • anmrodri/athena
  • bcarlson/athena
  • pliu/athena
  • gabarone/athena
  • lstocker/athena
  • fastcalosim_test/athena
  • scamarda/athena
  • mxia/athena
  • guindon/athena
  • rlongo/athena
  • mdonasci/athena
  • chelling/athena
  • amoussa/athena
  • conde/athena
  • hmaguire/athena
  • gialas/athena
  • mmittal/athena
  • ffollega/athena
  • sschmitt/athena
  • cgutscho/athena
  • sberlend/athena
  • acts/athena
  • fcostanz/athena
  • shion/athena
  • dwilbern/athena
  • nifomin/athena
  • eriefel/athena
  • zsoumaim/athena
  • evarnes/athena
  • laforge/athena
  • haozturk/athena
  • guescini/athena
  • akotsoke/athena
  • jkremer/athena
  • susy-hackers/athena
  • kkoeneke/athena
  • llorente/athena
  • istin/athena
  • acanesse/athena
  • rpoggi/athena
  • fizisist/athena
  • fengyu/athena
  • rkarnam/athena
  • chenlian/athena
  • cmerlass/athena
  • ysmirnov/athena_old
  • navarrjo/athena
  • ivivarel/athena
  • amulski/athena
  • pkramer/athena
  • bulekov/athena
  • vcavalie/athena
  • sanchevi/athena
  • bauerpa/athena
  • smwang/athena
  • sefernan/athena
  • yanlin/athena
  • jgonski/athena
  • restevam/athena
  • mmazza/athena
  • thsjurse/athena
  • mmlynars/athena
  • iyeletsk/athena
  • wobisch/athena
  • itrandaf/athena
  • almgadm/athena
  • csebasti/athena
  • jhinds/athena
  • tiyang/athena
  • mwielers/athena
  • mtchijov/athena
  • lapereir/athena
  • zuysal/athena
  • emmat/athena
  • lmiller/athena
  • pekman/athena
  • aleopold/athena
  • lucam/athena
  • somadutt/athena
  • kciesla/athena
  • rbalasub/athena
  • salderwe/athena
  • masaito/athena
  • wmccorma/athena
  • ycoadou/athena
  • kkreul/athena
  • jstupak/athena
  • ilongari/athena
  • simmons/athena
  • adye/athena
  • wtaylor/athena
  • kbelobor/athena
  • jzeng/athena
  • pinamont/athena
  • ssahin/athena
  • aoneill/athena
  • dmaximov/athena
  • fbartels/athena
  • gcallea/athena
  • kghorban/athena
  • ljeanty/athena
  • cschiavi/athena
  • kasai/athena
  • jraine/athena
  • mcfayden/athena
  • scarra/athena
  • brottler/athena
  • ecarlson/athena
  • khanov/athena
  • aelmouss/athena
  • rozeny/athena
  • joheinri/athena
  • nbelyaev/athena
  • gotero/athena
  • aohatl/athena
  • abandyop/athena
  • rebeca/athena
  • amarzin/athena
  • doglioni/athena
  • alaperto/athena
  • rgarg/athena
  • bhonan/athena
  • bigliett/athena
  • begalli/athena
  • dpudzha/athena
  • pmoskvit/athena
  • yajun/athena
  • mpokidov/athena
  • paulama/athena
  • lbozianu/athena
  • mtesta/athena
  • jajimene/athena
  • demelian/athena
  • atlidali/athena
  • vcroft/athena
  • torrence/athena
  • hacooke/athena
  • barak/athena
  • wprzygod/athena
  • sgalantz/athena
  • tofitsch/athena
  • roward/athena
  • salnikov/athena
  • atsirigo/athena
  • mmiralle/athena
  • amoroso/athena
  • csander/athena
  • elrossi/athena
  • alory/athena
  • ozaplati/athena
  • pbokan/athena
  • pottgen/athena
  • jsabater/athena
  • klin/athena
  • jdevivi/athena
  • ymino/athena
  • xchen/athena
  • ruth/athena
  • trinn/athena
  • xiaoning/athena
  • nishu/athena
  • cappelt/athena
  • apetukho/athena
  • paramon/athena
  • bleban/athena
  • nelsonc/athena
  • ratkin/athena
  • dpizzi/athena
  • ztarem/athena
  • juhofer/athena
  • exot-27/athena
  • enarayan/athena
  • qhu/athena
  • mkrivos/athena
  • acassim/athena
  • bburghgr/athena
  • sampson/athena
  • ychow/athena
  • hessey/athena
  • nviauxma/athena
  • mmarjano/athena
  • pagessin/athena
  • watsona/athena
  • ibordule/athena
  • jreich/athena
  • wfawcett/athena
  • LichtenbergGroup/athena
  • ztao/athena
  • othielma/athena
  • perj/athena
  • mleblanc/athena
  • jdegens/athena
  • wgeorge/athena
  • hasada/athena
  • sridouan/athena
  • pmendesa/athena
  • alainb/athena
  • bachacou/athena
  • xiaohu/athena
  • kristin/athena
  • yake/athena
  • ludovica/athena
  • musafdar/athena
  • jlsmith/athena
  • ktsuri/athena
  • yama/athena
  • ssu/athena
  • angerami/athena
  • rnayak/athena
  • pebaron/athena-weights
  • asalzbur/athena
  • jezequel/athena
  • hschwart/athena
  • mproffit/athena
  • amendesj/athena
  • gproto/athena
  • csamoila/athena
  • malgren/athena
  • lhelary/athena
  • spolacek/athena
  • tiany/athena
  • mprincip/athena
  • rerrabai/athena
  • bmondal/athena
  • lbeemste/athena
  • asantra/athena
  • grabanal/athena
  • aczirkos/athena
  • kyamaguc/athena
  • silvinha/athena
  • jreidels/athena
  • tboeckh/athena
  • holau/athena
  • jroloff/athena
  • mdhlamin/athena
  • bozek/athena
  • slawlor/athena
  • lkrauth/athena
  • iramirez/athena
  • emily/athena
  • carlod/athena
  • tdiasdov/athena
  • bcole/athena
  • mtian/athena
  • bbrueers/athena
  • ecelebi/athena
  • mgrabois/athena
  • oducu/athena
  • idinu/athena
  • hmoyanog/athena-4-mr
  • dhirsch/athena
  • roishi/athena
  • ygo/athena
  • exochell/athena
  • yuanchan/athena
  • jjwilkin/athena
  • skorn/athena
  • ggustavi/athena
  • sbiryuko/athena
  • scalvet/athena
  • honguyen/athena
  • diwillia/athena
  • jizamora/athena
  • cgarner/athena
  • changqia/athena
  • jwspence/athena
  • calpigia/athena
  • atsiamis/athena
  • yangx/athena
  • dhangal/athena
  • adimitri/athena
  • rysawada/athena
  • cmarcon/athena
  • atlidbs/athena
  • kpetukho/athena
  • iene/athena
  • tqiu/athena
  • tbisanz/athena
  • dopasqua/athena
  • jspah/athena
  • athaler/athena
  • tzenis/athena
  • jkretz/athena
  • jcardena/athena
  • hzuchen/athena
  • lveloce/athena
  • oshukrun/athena
  • ryamaguc/athena
  • maliev/athena
  • tsano/athena
  • mumohdso/athena2
  • fdelrio/athena
  • sagara17/athena
  • mbiros/athena
  • iwang/athena
  • mumohdso/athena
  • dmunozpe/athena
  • okumura/athena
  • rhayes/athena
  • arennie/athena
  • valentem/athena
  • evguillo/athena
  • atate/athena
  • koshimiz/athena
  • dossantn/athena
  • caforio/athena
  • zhijie/athena
  • zearnsha/athena
  • maly/athena
  • bnachman/athena
  • hlin/athena
  • suyounas/athena
  • mtost/athena
  • rjoshi/athena
  • machitis/athena
  • yuzhan/athena
  • lunedic/athena
  • lvannoli/athena
  • crougier/athena
  • thompson/athena
  • mimarine/athena
  • dounwuch/athena
  • ndebiase/athena
  • nkakati/athena
  • saclawso/athena
  • omezhens/athena
  • echeu/athena
  • jonierma/athena
  • cprat/athena
  • martinpa/athena
  • hhanif/athena
  • csauer/athena
  • mischott/athena
  • sahinsoy/athena
  • inaryshk/athena
  • tiknight/athena
  • jodamp/athena
  • wendlanb/athena
  • angrigor/athena
  • fedin/athena
  • xchu/athena
  • knikolop/athena
  • lkeszegh/athena
  • pbellos/athena
  • lbaltes/athena
  • adik/athena
  • jaoliver/athena
  • idrivask/athena
  • echeremu/athena
  • aikoulou/athena
  • ignesi/athena
  • ntamir/athena
  • eschopf/athena
  • sadykov/athena
  • pyanezca/athena
  • haweber/athena
  • sgurdasa/athena
  • pamachad/athena
  • algilber/athena
  • hiito/athena
  • pbhattar/athena
  • tavandaa/athena
  • tteixeir/athena
  • wolter/athena
  • mdrozdov/athena
  • bsaifudd/athena
  • veellajo/athena
  • fsili/athena
  • nheatley/athena
  • mzhai/athena
  • fdibello/athena
  • dparedes/athena
  • hsimpson/athena
  • zyan/athena
  • minaenko/athena
  • emmarsha/athena
  • chchau/athena
  • mrenda/athena
  • edweik/athena
  • rkusters/athena
  • zhangr/athena
  • jburzyns/athena
  • phkenned/athena
  • zmarshal/athena
  • leevans/athena
  • slai/athena
  • awilhahn/athena
  • agaa/athena
  • javanden/athena
  • zfeng/athena
  • kkrowpma/athena
  • llaatu/athena
  • stsigari/athena
  • metsai/athena
  • zifeng/athena
  • srdas/athena
  • adonofri/athena
  • atropina/athena
  • yuanda/athena
  • atlaspmb/athena
  • arombola/athena
  • cleonido/athena
  • drousso/athena
  • seggebre/athena
  • ademaria/athena
  • ijuarezr/athena
  • kchoi/athena
  • mnoury/athena
  • eyamashi/athena
  • dgillber/athena
  • saktas/athena
  • zang/athena
  • amdesai/athena
  • axiong/athena
  • matakagi/athena
  • berkeleylab/lowmutracking/athena
  • qibin/athena
  • nlopezca/athena
  • fbendebb/athena
  • acanbay/athena
  • jferrand/athena
  • bshresth/athena
  • tbuanes/athena
  • hpotti/athena
  • cbuitrag/athena
  • otheiner/athena-official
  • klassen/athena
  • egodden/athena
  • mfarring/athena
  • hawatson/athena
  • parodi/athena
  • chonghao/athena
  • vtudorac/athena
  • knakkali/athena
  • bballard/athena
  • dzengerj/athena
  • dcieri/athena
  • lmontana/athena
  • buboehm/athena
  • zhuyi/athena
  • cimcp/athena
  • adaribay/athena
  • asansar/athena
  • weixi/athena
  • cantel/athena
  • jburr/athena
  • iliadis/athena
  • kbenkend/athena
  • duperrin/athena
  • dkoeck/athena
  • isotarri/athena
  • frenner/athena
  • czodrows/athena
  • mfewell/athena
  • eegidiop/athena
  • bstanisl/athena
  • blumen/athena
  • yulei/athena
  • smitani/athena
  • alsala/athena
  • miholzbo/athena
  • olangrek/athena
  • amincer/athena
  • clantz/athena
  • mleigh/athena
  • hpang/athena
  • otheiner/athena
  • gshatri/athena
  • jmharris/athena
  • gripelli/athena
  • jgargan/athena
  • ewatton/athena
  • tizuo/athena
  • deniso/athena
  • rushioda/athena
  • sfranche/athena
  • preselection-hackathon/athena
  • bernardo/athena
  • mfernoux/athena
  • smeriano/athena
  • pebaron/athena-td
  • chandler/athena
  • jnitschk/athena
  • viruelas/athena
  • ksugizak/athena
  • yusano/athena
  • anghosh/ef-anindya
  • skaur/athena
  • hriani/athena
  • davetisy/athena
  • jgombas/athena
  • vcepaiti/athena
  • wsherman/athena
  • yochi/athena
  • rtagami/athena
  • pakontax/athena
  • apsallid/athena
  • sroygara/athena
  • yuanj/athena
  • agavrily/athena
  • chji/athena
  • dmclaugh/athena
  • mcgensvc/athena
  • abunka/athena
  • dmahon/athena
  • qberthet/athena
  • giagu/athena
  • yuwen/athena
  • almay/athena
  • cjmeyer/athena
  • ekay/athena
  • islazyk/athena
  • mshapiro/athena
  • mbarel/athena
  • dkobylia/athena
  • glamprin/athena
  • baitbenc/athena
  • rdinardo/athena
  • osalin/athena
  • dakiyama/athena
  • minlin/athena
  • mlanzacb/athena
  • szambito/athena
  • cgrefe/athena
  • hwilkens/athena
  • kazhang/athena
  • wsfreund/athena
  • yyap/athena
  • beringer/athena
  • pebaron/athena
  • enagy/athena
  • schaffer/athena
  • menke/athena
  • mspalla/athena
  • mduehrss/athena
  • tkharlam/athena
  • fcalosim/athena
  • mavogel/athena
  • spagan/athena
  • smobius/athena
  • carquin/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
  • tilebeam/athena
  • mcarnesa/athena
  • jahreda/athena
  • kiabelin/athena
  • jedebevc/athena
  • vtskhaya/athena
  • jstark/athena
  • delsart/athena
  • mtogawa/athena
  • silu/athena
  • jtanaka/athena
  • krbjoerk/athena
  • cyoung/athena
  • haoran/athena
  • luxin/athena
  • yifany/athena
  • maslawin/athena
  • danning/athena
  • faser/offline/athena
  • minghui/athena
  • srettie/athena
  • almeidvi/athena
  • dcasperfaser/athena
  • beddall/athena
  • mmontell/athena
  • cfan/athena
  • kazheng/athena
  • vmartin/athena
  • sudha/athena
  • beltran/athena-fork
  • kgupta/athena
  • lgagnon/athena
  • pajones/athena
  • lhenkelm/athena
  • dpanchal/athena
  • anbaraja/athena
  • serodrig/athena
  • ssinha/athena
  • amorenos/athena
  • joana/athena
  • kkawade/athena
  • jshahini/athena
  • chiodini/athena
  • vbuxbaum/athena
  • apalazzo/athena
  • mtanasin/athena
  • kburka/athena
  • lfeligio/athena
  • gonzalri/athena
  • ehaines/athena
  • desengup/athena
  • jaofferm/athena
  • gavrilen/athena
  • rmazini/athena
  • gottino/athena
  • mdidenko/athena
  • sabidi/athena
  • qidong/athena
  • dwkim/athena
  • cdimitri/athena
  • bkerridg/athena
  • hazeng/athena
  • jingjing/athena
  • ktackman/athena
  • sgaid/athena
  • yche/athena
  • yoyeh/athena
  • ktopolni/athena
  • dabattul/athena
  • attrtcal/athena
  • thmaurin/athena
  • mischott/athena-22
  • asciandr/athena
  • bochen/athena
  • chjiang/athena
  • meiqi/athena
  • lbazzano/athena
  • rushioda/athena-3
  • krdona/athena
  • pclark/athena
  • kvidalgu/athena
  • nlad/athena
  • dtorresa/athena
  • aackerma/athena
  • hmoyanog/athena
  • aaikot/athena
  • yingjun/athena
  • jcurran/athena
  • xinfei/athena
  • maboelel/athena
  • mschefer/athena
  • lesplend/athena
  • xinhui/athena
  • aivina/athena
  • kazheng/athena-physics-val-2023
  • rmakhman/athena
  • shhan/athena
  • zoduan/athena
  • zhiliang/athena
  • liuk/athena
  • jlue/athena
  • bdixit/athena
  • sfrances/athena
  • ragrabar/athena
  • alsidley/athena
  • kyjones/topoetcone-removal
  • niabicht/athena
  • yunagai/athena
  • asehrawa/athena
  • xingguo/athena
  • keener/athena
  • shahzad/athena
  • mhoppesc/athena
  • llewitt/athena
  • kazheng/athena-workingpoint
  • bschlag/athena
  • lcalic/athena-backup
  • greynold/athena
  • yinmiao/athena
  • agentry/athena
  • bruckman/athena
  • adohnalo/athena
  • nkang/athena
  • drankin/athena
  • kbhide/athena
  • tbeumker/athenatest
  • hvanders/athena
  • ladamczy/test
  • asmaga/athena
  • berkeleylab/acts/athena
  • tbeumker/athena
  • weitao/athena
  • jiturriz/athena
  • losanti/athena-23
  • losanti/athena
  • dmankad/athena-idle
  • menu-hackathon/athena
  • wsong/athena
  • dawerner/athena
  • kyjones/trigger-example
  • vmaksimo/athena
  • toobauma/athena
  • fisopkov/athena
  • lprimomo/athena
  • seggebre/athena-fluencemap-modification
  • edreyer/athena
  • SecVtx-Lancaster/Athena
  • maparo/athena
  • gtarna/athena
  • smanzoni/athena
  • pgraveli/athena
  • adimri/athena
  • shmukher/athena
  • aackerma/atlas-athena
  • wstanek/athena
  • jcrosby/athena
  • tovsiann/athena
  • lrambell/athena
  • ppotepa/athena
  • rsnyder/athena
  • atlas-sa-uct/athena
  • eullmank/athena
  • achakrav/athena
  • zgao/athena
  • skita/athena
  • kgoto/athena
  • mhemmett/athena
  • xmapekul/athena
  • lroos/athena
  • thmaurin/athena-sim-flavour
  • evitale/athena
  • arej/athena
  • rashbypi/athena
  • npond/athena
  • ivyas/athena
  • lkretsch/athena
  • epasqual/athena
  • jebohm/athena
  • aleksand/athena
  • mbiyabi/athena
  • hluk/athena
  • aralves/athena
  • cvittori/athena
  • dbiswas/athena
  • dkoeck/anniathenafork
  • mihe/athena
  • mkareem/athena
  • rgupta/athena
  • tslee/athena
  • pkumari/athena
  • croland/athena
  • cgarvey/athena
  • feickert/athena
  • kesedlac/athena
  • mhaacke/athena
  • ctosciri/athena-old
  • asoflau/athena
  • ctosciri/athena
  • agerwin/athena
  • bscheuer/athena
  • bdixit/masking-strip-modules
  • gwilliam/athena
  • ricunnin/athena
  • gfrattar/athena
  • gtolkach/athena
  • ksudo/athena
  • jfeng2/athena
  • svanstro/athena
  • gaofeng/athena
  • kosuzuki/athena
  • rhiguchi/athena
  • rmizuhik/athena
  • vaustrup/athena
  • hart/athena
  • kkanke/athena
  • etoyoda/athena
  • tnakagaw/athena
  • whopkins/athena
  • amakita/athena
  • maoki/athena
  • tpaschoa/athena
  • anayaz/athena
  • dduda/athena
  • miyamada/athena
  • rishikaw/athena
  • aagaard/athena
  • ferusso/athena
  • evalient/athena
  • smweber/athena-run-3
  • shudong/athena
  • smweber/athena
  • evalient/athena-dnn-calculator
  • zyan/athena-muon-calib
  • zyan/athena-muon-calib-stream
  • dellacqu/athena
  • sbellman/athena
  • glagafon/project-nimber-1
  • strom/athena-dms
  • strom/athena
  • jsallen/athena
  • leguo/athena
  • brosser/athena
  • aowang/athena
  • ooncel/athena
  • jhoya/athena
  • macretar/athena
  • osotosan/athena
  • skadir/athena-sadaf
  • tygeorge/athena
  • glagafon/handi-project
  • wuxi/athena
  • syan/athena-syan
  • hasun/athena
  • will/athena
  • glagafon/handi-project-1
  • mnorfolk/athena
  • axgallen/athena-qualification-task
  • seinfant/athena
  • karakawa/athena
  • aborbely/athena
  • schernau/athena
  • taogawa/athena
  • dmankad/athena-gen
  • ktariq/athena
  • mmaroun/ravina-fork
  • axgallen/athena
  • tmlinare/athena
  • vlysenko/athena
  • agarabag/athena
  • romar/athena
  • dhagan/athena
  • tizhang/athena
  • mahorstm/athena
  • ibamwidh/athena
  • zuzak/athena
  • ipolishc/athena
  • frfische/athena
  • atishelm/athena
  • jolamber/athena
  • xilin/athena
  • jlue/athena-latest
  • ykhoulak/myathena
  • nkua-atlas/athena
  • huayu/athena
  • yil/athena
  • chuanye/athena
  • dntounis/athena
  • kifarman/athena
  • tayoshid/athena
  • lderamo/athena
  • movincen/athena
  • steinber/athena-main
  • nischmit/athena
  • dongyi/athena
  • dtruncal/athena
  • tdingley/athena
  • hasegawa/athena
  • kazheng/athena-acts
  • malvesca/athena
  • mnowak/athena
  • ladamczy/athena
  • glagafon/dq-optimize
  • openc/athena
  • lcalic/athena
  • mhufnage/athena
  • lsultana/obsolete_athena
  • ekajomov/athena-fork-fix
  • lsultana/athena
  • alveltma/athena
  • rqian/athena
  • yonoda/athena
  • anfortma/athena
  • kfung/athena
  • alpleban/athena
  • mmaheshw/athena
  • jdavidso/athena
  • anstein/athena
  • pebaron/athena-leprem
  • edcritel/athena
  • gbird/athena
  • anhodges/athena
  • midandre/athena
  • bglik/athena
  • kyjones/athena
  • mvivasal/athena
  • mfurukaw/athena
  • sokkerma/athena
  • asbrooks/athena
  • mveen/athena
  • fcurcio/athena
  • lboccard/athena
  • jmcgowan/athena
  • mmlynars/athena-v-2
  • tburatov/athena
  • tayoshid/athena-test
  • dmankad/athena
  • joroemer/athena
  • jodafons/athena
  • ivyoung/athena
  • sdemiran/athena
  • drasslof/athena
  • tmclachl/athena
  • anburger/athena
  • ctaybi/athena
  • sanchezj/athena-2022
  • jiddon/athena
  • sdahbi/athena
  • sidoti/athena
  • fwinkel/athena
  • apfleger/athena
  • mmoors/athena
  • goblirsc/athena
  • izahir/athena
  • obut/athena
  • jwkraus/athena
  • rhaberle/athena
  • sanchezj/athena
  • rvinasco/athena
  • esimpson/athena
  • dta/athena_old
  • klleras/athena
  • jhowarth/athena
  • janders/athena
  • jecouthu/athena
  • jchapman/athena
  • mungo/athena
  • dtrischu/athena
  • avallier/athena
  • fhenry/athena
  • fmontere/athena
  • sfuenzal/athena
  • zhaotong/athena
  • misantan/athena
  • zalegria/athena
  • shaoguan/athena
  • gdigrego/athena
  • awharton/Athena
  • acordeir/athena-ed
  • pdougan/athena
  • nbruscin/athena
  • amelo/athena
  • caiy/athena
  • peiyan/athena
  • kchu/athena
  • backes/athena
  • mkholoda/athena
  • fkirfel/athena
  • tayoshid/athena-2024
  • gfacini/athena
  • esampson/athena-idart
  • fwinkl2/athena
  • shpeng/athena-2
  • bcervato/athena
  • yvolkotr/athena
  • gmascare/athena
  • gmercado/athena
  • rhowen/athena
  • esampson/athena-idart-2
  • costanzo/athena
  • esampson/athena-otp
  • djlewis/athena
  • pibutti/athena
  • nharriso/athena
  • esampson/athena-june-otp
  • alpleban/athena-met
  • yilin/athena
  • astefl/athena
  • yuematsu/athena
  • zhanhang/athena
  • bmoser/athena
  • wcastigl/athena
  • bdong/athena
  • ksahan/athena
  • lbarrade/athena
  • msasada/athena
  • thitchin/athena
  • seth/athena
  • agheata/athena
  • zhangbo/athena
  • txu/athena
  • robouque/athena
  • sosarkar/athena-again
  • okolay/athena
  • mlyukova/athena
  • esampson/june-2-otp
  • nsurijr/athena
  • wema/athena
  • dbaronmo/athena
  • damperia/athena-acts
  • eballabe/athena
  • boudreau/athena
  • martyniu/athena
  • vsasse/athena
  • acamplan/athena
  • ksakura/athena
  • bngair/met-significance-r-22
  • bhuth/athena
  • bngair/me-tsig-athena
  • domatter/athena
  • vkost/athena
  • rhicks/athena
  • menadeem/athena
  • atymchys/athena
  • yanqiw/athena
  • arelycg/athena
  • linghua/athena
  • mwessels/athena
  • skadir/athena
  • sgoswami/athena
  • juscerri/athena
  • biliu/athena
  • beltran/athena
  • ddicroce/athena
  • dreikher/athena
  • sosarkar/athena
  • fladias/athena
  • bdebjani/athena
  • hshaddix/athena
  • lwinkler/athena
  • cleong/athena
  • emoon/athena
  • elham/athena
  • sdiefenb/athena-onnx-tutorial
  • haren/athena
  • mhabedan/athena
  • mads/athena
  • nkrogh/athena
  • dwilson/athena
  • fivone/athena
  • lsanfili/athena
  • scane/athena
  • thart/athena
  • echerepa/athena
  • dahumphr/athena
  • baer/athena
  • dcamarer/athena
  • lifoster/athena
  • kenakamu/athena
  • alancast/athena
  • haotianl/athena
  • glagafon/aaaathena
  • rshibata/athena
  • glagafon/athena
  • eskorda/athena
  • salopez/athena
  • rvavrick/athena
  • lburke/athena
  • glagafon/glagafon-dq
  • ukhurshi/athena
  • pizhang/athena
  • therwig/athena
  • htsoi/athena
  • delitez/athena
  • mwitkows/athena
  • pachabri/athena
  • ezaya/athena
  • lcorazzi/athena
  • casadop/athena
  • jaburles/athena
  • mmantina/athena
  • lmonaco/athena
  • hzhuang/athena
  • achamber/athena
  • mamirono/athena
  • rmole/athena
  • jkrupa/athena
  • rpozzi/athena
  • mfornasi/athena
  • gserenis/athena
  • semami/athena
  • jinglis/athena
  • uepstein/athena
  • fdattola/athena
  • belderto/athena
  • abesir/athena
  • ljerala/athena
  • jlittle/athena
  • cmavungu/athena
  • lechols/athena
  • lopezzot/athena
  • htorre/athena
  • jajohnso/athena
  • robouque/athena-20241115
  • fsiegert/athena
  • tneep/athena
  • wenjingw/athena
  • lbrown/athena
  • wguerin/athena
  • jackersc/athena
  • rmole/athena-personal-fork
  • kfang/athena-fork-kyfang
  • prmitra/athena
  • epompapa/athena
  • ashirazi/athena
  • nihartma/athena
  • wasu/athena
  • toheintz/athena
  • kgrimm/athena-kgrimm
  • amoreira/athena
  • kdipetri/athena
  • aslobodk/athena
  • yazhou/athena
  • goetz/athena-acts
  • gfazzino/athena
  • muschmid/athena
  • djuarezg/athena
  • falves/athena
  • alarnold/athena
  • mborodin/athena
  • mdacunha/athena
  • wlai/athena
  • rohasan/athena
  • alecrhys/athena
  • asickles/athena
  • novotnyp/athena
  • adsalvad/athena
  • lvicenik/athena
  • zetao/athena
  • christog/athena
  • ibenaoum/athena
  • mfarzali/athena
  • tflee/athena
  • frcastig/athena
  • pusharma/athena
  • llarson/athena
  • ehampshi/athena
  • kkazakov/athena
  • jusilva/athena
  • tomoya/athena-low-pt-muon-rec
  • gpinheir/athena
  • exochell/my-athena
  • mojeda/athena
  • hshaddix/athena-hshaddix
  • jecifuen/athena
  • nsur/athena-lund
  • vchabala/athena
  • jlieberm/athena
  • chhultqu/athena
  • misavic/athena
  • nshtokha/athena
  • jlai/athena
  • camccrac/athena
  • pmourafr/athena
  • yuxuanz/local-athena
  • yukari/athena
  • zhubacek/athena
  • akraus/athena
  • sizumiya/athena
  • mfilipig/athena
  • sawyer/athena
  • mnegrini/athena
  • fdejean/athena
  • rkavak/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • ssuravar/athena
  • zrokavec/athena
  • mtancock/athena-2
  • gipoddar/athena
  • gsalvi/athena
  • beyeo/athena
  • sutuncay/athena
  • vpires/athena-vasco
  • ywng/athena
  • fballi/athena
  • stlin/athena
1576 results
Show changes
Showing
with 152 additions and 544 deletions
......@@ -39,10 +39,7 @@ StatusCode sTgcReadoutElement::initElement() {
ATH_MSG_FATAL("Layer "<<m_pars.stripLayers[layer]<<" has a very strange hash. Expect "<<layer);
return StatusCode::FAILURE;
}
ATH_CHECK(insertTransform(m_pars.stripLayers[layer].hash(),
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
return toStation(store) * fromGapToChamOrigin(hash);
}));
ATH_CHECK(insertTransform<sTgcReadoutElement>(m_pars.stripLayers[layer].hash()));
}
for (unsigned int layer = 0; layer < m_pars.wireGroupLayers.size(); ++layer) {
IdentifierHash layHash{layer};
......@@ -50,10 +47,7 @@ StatusCode sTgcReadoutElement::initElement() {
ATH_MSG_FATAL("Layer "<<m_pars.wireGroupLayers[layer]<<" has a very strange hash. Expect "<<layer);
return StatusCode::FAILURE;
}
ATH_CHECK(insertTransform(m_pars.wireGroupLayers[layer].hash(),
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
return toStation(store) * fromGapToChamOrigin(hash);
}));
ATH_CHECK(insertTransform<sTgcReadoutElement>(m_pars.wireGroupLayers[layer].hash()));
}
for (unsigned int layer = 0; layer < m_pars.padLayers.size(); ++layer) {
IdentifierHash layHash{layer};
......@@ -61,10 +55,7 @@ StatusCode sTgcReadoutElement::initElement() {
ATH_MSG_FATAL("Layer "<<m_pars.padLayers[layer]<<" has a very strange hash. Expect "<<layer);
return StatusCode::FAILURE;
}
ATH_CHECK(insertTransform(m_pars.padLayers[layer].hash(),
[this](const DetectorAlignStore* store, const IdentifierHash& hash){
return toStation(store) * fromGapToChamOrigin(hash);
}));
ATH_CHECK(insertTransform<sTgcReadoutElement>(m_pars.padLayers[layer].hash()));
}
ActsGeometryContext gctx{};
m_gasGapPitch = (center(gctx, createHash(1, sTgcIdHelper::sTgcChannelTypes::Strip, 0)) -
......
......@@ -36,8 +36,8 @@ else()
atlas_install_python_modules( python/*.py python/scripts python/AthFile POST_BUILD_CMD ${ATLAS_FLAKE8} )
atlas_install_scripts( bin/acmd.py bin/checkFile.py bin/checkPlugins.py
bin/checkSG.py bin/checkMetaSG.py bin/checkTP.py bin/checkxAOD.py
bin/diff-athfile bin/diff-jobo-cfg.py bin/diffConfigs.py
bin/diffPoolFiles.py bin/dlldep.py bin/dso-stats.py bin/dump-athfile.py
bin/diff-jobo-cfg.py bin/diffConfigs.py
bin/diffPoolFiles.py bin/dlldep.py bin/dso-stats.py
bin/dumpAthfilelite.py bin/filter-and-merge-d3pd.py bin/getMetadata.py
bin/gprof2dot bin/issues bin/magnifyPoolFile.py
bin/apydep.py bin/pool_extractFileIdentifier.py
......@@ -54,7 +54,6 @@ else()
atlas_add_alias( filter-and-merge-d3pd "filter-and-merge-d3pd.py" )
atlas_add_alias( diffPoolFiles "diffPoolFiles.py" )
atlas_add_alias( print_auditor_callgraph "print_auditor_callgraph.py" )
atlas_add_alias( dump-athfile "dump-athfile.py" )
atlas_add_alias( pyroot "pyroot.py" )
atlas_add_alias( checkxAOD "checkxAOD.py" )
atlas_add_alias( checkSG "checkSG.py" )
......
#!/usr/bin/env python
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: diff-athfile.py
# @purpose: simple command-line utility to diff metadata in two files.
# Uses PyUtils.AthFile.fopen. Based on dump-athfile.py.
# @author: Graeme Stewart <graeme.andrew.stewart@cern.ch>
# @date: Jan 2012
#
# @example:
# @code
# diff-athfile.py aod.1.pool.root aod.2.pool.root
# @endcode
#
import sys
import os
from optparse import OptionParser
if __name__ == "__main__":
parser = OptionParser(usage="usage: %prog [options] my.1.file my.2.file")
parser.add_option( "-o",
"--output",
dest = "oname",
default = 'athfile-infos.ascii',
help = "Name of the output file which will contain the informations gathered during AthFile processing. These informations will be stored into a python-shelve file." )
parser.add_option( '--evtmax',
dest = 'evtmax',
default = 1,
type = int,
help = 'Maximum number of events to process in the file(s)')
parser.add_option( "-q",
"--quiet",
dest = "quiet",
default = False,
action = "store_true",
help = 'Quiet output - only print differences')
(options, args) = parser.parse_args()
fnames = []
if len(args) > 0:
fnames = [ arg for arg in args if arg[0] != "-" ]
pass
if len(fnames) != 2:
str(parser.print_help() or "")
sys.exit(1)
sc = 0
import PyUtils.AthFile as af
msg = af.msg
if options.quiet:
from logging import WARNING
msg.setLevel(WARNING)
fhandles = {}
try:
for fname in fnames:
fhandles[fname] = af.fopen(fname, evtmax=options.evtmax)
msg.info(':'*80)
msg.info('Opened file %s.', fname)
# Ignore the following keys, which are bound to be different:
# 'file_md5sum', 'file_name', 'file_type', 'file_guid',
simpleCompKeys = ('nentries','run_number', 'run_type', 'evt_number', 'evt_type', 'lumi_block',
'beam_energy', 'beam_type',
'stream_tags', 'stream_names', 'geometry', 'conditions_tag',)
bitByBitKeys = ('metadata',)
for k in simpleCompKeys:
if fhandles[fnames[0]].infos[k] == fhandles[fnames[1]].infos[k]:
msg.info('%s equal in %s and %s: %s', k, fnames[0], fnames[1], fhandles[fnames[0]].infos[k])
else:
msg.warning('%s not equal in %s and %s: %s != %s',
k, fnames[0], fnames[1], fhandles[fnames[0]].infos[k], fhandles[fnames[1]].infos[k])
sc = 1
for k in bitByBitKeys:
# First check dictionary keys are the same
skeys = list(fhandles[fnames[0]].infos[k].keys())
skeys1 = list(fhandles[fnames[1]].infos[k].keys())
skeys.sort()
skeys1.sort()
if skeys != skeys1:
msg.warning('%s keys not equal for %s and %s: %s != %s',
k, fnames[0], fnames[1], skeys, skeys1)
sc = 1
else:
msg.info('%s keys are equal for %s and %s: %s',
k, fnames[0], fnames[1], skeys)
for subk in skeys:
if fhandles[fnames[0]].infos[k][subk] == fhandles[fnames[1]].infos[k][subk]:
# Here suppress the very long value output
msg.info('%s element %s values are equal for %s and %s: (value suppressed)',
k, subk, fnames[0], fnames[1])
else:
msg.warning('%s element %s values are not equal for %s and %s: %s != %s',
k, subk, fnames[0], fnames[1], fhandles[fnames[0]].infos[k][subk],
fhandles[fnames[1]].infos[k][subk])
sc = 1
msg.info(':'*80)
except Exception as e:
msg.error("Caught exception [%s] !!", str(e.__class__))
msg.error("What:\n%s\n%s\n%s",e,
sys.exc_info()[0],
sys.exc_info()[1])
import traceback
msg.error(traceback.print_exc())
sc = 2
pass
except Exception:
msg.error("Caught something !! (don't know what)")
msg.error("\n%s\n%s",sys.exc_info()[0], sys.exc_info()[1])
sc = 2
pass
if options.oname:
oname = options.oname
msg.info("saving report into [%s]...", oname)
if os.path.exists(oname):
os.rename(oname, oname+'.bak')
af.server.save_cache(oname)
msg.info("Bye.")
sys.exit(sc)
#!/usr/bin/env python
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file: dump-athfile.py
# @purpose: simple command-line utility wrapping PyUtils.AthFile.fopen
# @author: Sebastien Binet <binet@cern.ch>
# @date: May 2009
#
# @example:
# @code
# dump-athfile aod.pool.root
# dump-athfile daq.data
# dump-athfile /castor/cern.ch/user/j/johndoe/aod.pool.root
# dump-athfile somedir/*/*.pool
# @endcode
#
from __future__ import print_function
__author__ = "Sebastien Binet <binet@cern.ch>"
import sys
import os
from optparse import OptionParser
if __name__ == "__main__":
parser = OptionParser(usage="usage: %prog [options] [-f] my.file")
parser.add_option( "-f",
"--file",
dest = "fname",
help = "The path to the POOL/BS file to analyze" )
parser.add_option( "-o",
"--output",
dest = "oname",
default = 'athfile-infos.ascii',
help = "Name of the output file which will contain the informations gathered during AthFile processing. These informations will be stored into a python-shelve file." )
parser.add_option( '--evtmax',
dest = 'evtmax',
default = 1,
type = int,
help = 'Maximum number of events to process in the file(s)')
parser.add_option( '--debug',
dest = 'debug',
default = False,
action='store_true',
help = 'enable debugging informations')
(options, args) = parser.parse_args()
if options.debug:
os.environ['ATHFILE_DEBUG'] = '1'
os.environ['PYUTILS_SHUTUP_DEBUG'] = '1'
pass
fnames = []
if len(args) > 0:
fnames = [ arg for arg in args if arg[0] != "-" ]
pass
if options.fname is None and len(fnames) == 0:
str(parser.print_help() or "")
sys.exit(1)
if options.fname is not None:
fname = os.path.expandvars(os.path.expanduser(options.fname))
fnames.append(fname)
fnames = list(set(fnames))
sc = 0
import PyUtils.AthFile as af
msg = af.msg
infos = []
try:
infos = af.pfopen(fnames, evtmax=options.evtmax)
except Exception as e:
msg.error("Caught exception [%s] !!", str(e.__class__))
msg.error("What:\n%s\n%s\n%s",e,
sys.exc_info()[0],
sys.exc_info()[1])
sc = 1
pass
except Exception:
msg.error("Caught something !! (don't know what)")
msg.error("\n%s\n%s",sys.exc_info()[0], sys.exc_info()[1])
sc = 10
pass
if sc != 0:
msg.info("Bye.")
sys.exit(sc)
pass
for f in infos:
file_size = f.infos['file_size']/1024./1024.
if file_size < 0: file_size = None
else: file_size = str(file_size)+' MB'
msg.info(':'*80)
msg.info('::::: summary :::::')
fmt = ' - %-15s: %s'
print (fmt % ('file md5', f.infos['file_md5sum']))
print (fmt % ('file name', f.infos['file_name']))
print (fmt % ('file type', f.infos['file_type']))
print (fmt % ('file size', file_size))
print (fmt % ('file guid', f.infos['file_guid']))
print (fmt % ('nentries', f.infos['nentries']))
print (fmt % ('run number', f.infos['run_number']))
print (fmt % ('run type', f.infos['run_type']))
print (fmt % ('evt number', f.infos['evt_number']))
print (fmt % ('evt type', f.infos['evt_type']))
print (fmt % ('mc channel #', f.infos['mc_channel_number']))
print (fmt % ('lumi block', f.infos['lumi_block']))
print (fmt % ('beam energy', f.infos['beam_energy']))
print (fmt % ('beam type', f.infos['beam_type']))
print (fmt % ('stream tags', f.infos['stream_tags']))
print (fmt % ('stream names', f.infos['stream_names']))
print (fmt % ('geometry', f.infos['geometry']))
print (fmt % ('conditions tag', f.infos['conditions_tag']))
_metadata = f.infos['metadata']
if _metadata is not None:
# ATEAM-162: determine if this is 25ns or 50ns sub-campaign
DigitizationParameters = _metadata['/Digitization/Parameters'] if '/Digitization/Parameters' in _metadata.keys() else {}
if DigitizationParameters is not None and 'bunchSpacing' in DigitizationParameters.keys() and 'BeamIntensityPattern' in DigitizationParameters.keys() :
bunchSlotLength = DigitizationParameters['bunchSpacing']
pattern = DigitizationParameters['BeamIntensityPattern']
if pattern is not None:
firstBunch = pattern.index(1.0)
bunchCountInTwoFirstSlots = pattern[firstBunch:firstBunch+2].count(1.0)
if bunchCountInTwoFirstSlots == 1:
campaign = '50 ns'
elif bunchCountInTwoFirstSlots == 2:
campaign = '25 ns'
else:
campaign = None
print (fmt % ('bunch spacing', campaign + ' i.e. ..., ' + str(pattern[firstBunch:firstBunch+4])[1:-1] + ', ...'))
_metadata = _metadata.keys() if isinstance(_metadata,dict) else None
print (fmt % ('meta data', _metadata))
msg.info(':'*80)
if len(infos) > 1:
print ("")
pass # loop over infos
if options.oname:
oname = options.oname
msg.info("saving report into [%s]...", oname)
if os.path.exists(oname):
os.rename(oname, oname+'.bak')
af.server.save_cache(oname)
msg.info("Bye.")
sys.exit(sc)
......@@ -77,9 +77,10 @@ def main():
choices=["tiny", "lite", "full", "peeker"],
help="""\
This flag provides the user capability to select the amount of
metadata retrieved. There three options:
metadata retrieved. There are four options:
tiny (only those values used in PyJobTransforms),
lite (same output as dump-athfile)
lite
peeker
and full ( all available data found)
""",
)
......
......@@ -121,9 +121,10 @@ def _main():
metavar='MODE',
type=str,
choices=['tiny', 'lite', 'full', 'peeker', 'iov'],
help="This flag provides the user capability to select the amount of metadata retrieved. There three options: "
help="This flag provides the user capability to select the amount of metadata retrieved. There are five options: "
"tiny (only those values used in PyJobTransforms), "
"lite (same output as dump-athfile), "
"lite, "
"peeker, "
"full (all available data found), "
"and iov (full+iov details)" )
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
# hook for PyUtils.scripts package
......@@ -9,7 +9,6 @@ acmdlib.register('chk-rflx', 'PyUtils.scripts.check_reflex')
acmdlib.register('diff-pool', 'PyUtils.scripts.diff_pool_files')
acmdlib.register('diff-root', 'PyUtils.scripts.diff_root_files')
acmdlib.register('dump-root', 'PyUtils.scripts.dump_root_file')
acmdlib.register('ath-dump', 'PyUtils.scripts.ath_dump')
acmdlib.register('gen-klass', 'PyUtils.scripts.gen_klass')
acmdlib.register('merge-files', 'PyUtils.scripts.merge_files')
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# @file PyUtils.scripts.ath_dump
# @purpose entry point for ath-dump command, the dump-athfile cousin
# @author Sebastien Binet
# @date January 2010
from __future__ import print_function
__author__ = "Sebastien Binet"
__doc__ = "entry point for ath-dump command, the dump-athfile cousin"
### imports -------------------------------------------------------------------
import PyUtils.acmdlib as acmdlib
@acmdlib.command(name='ath-dump')
@acmdlib.argument('files', nargs='+',
help='path to POOL or BS file(s) to analyse')
@acmdlib.argument('-o', '--output',
default='athfile-infos.ascii',
help="""Name of the output file which will contain the
informations gathered during AthFile processing.
These informations will be stored into a python-shelve file.
""")
@acmdlib.argument('--evtmax',
default=1,
type=int,
help="""Maximum number of events to process in each file""")
def main(args):
"""simple command-line utility wrapping PyUtils.AthFile.fopen
"""
exitcode = 0
fnames = args.files
if isinstance(fnames, str):
fnames = [fnames]
import sys
import os
import os.path as osp
for i,f in enumerate(fnames):
fnames[i] = osp.expandvars(osp.expanduser(f))
import PyUtils.AthFile as af
msg = af.msg
for fname in fnames:
try:
f = af.fopen(fname, evtmax=args.evtmax)
msg.info(':'*80)
msg.info('::::: summary :::::')
fmt = ' - %-15s: %s'
print (fmt % ('file md5', f.infos['file_md5sum']))
print (fmt % ('file name', f.infos['file_name']))
print (fmt % ('file type', f.infos['file_type']))
print (fmt % ('file guid', f.infos['file_guid']))
print (fmt % ('nentries', f.infos['nentries']))
print (fmt % ('run number', f.infos['run_number']))
print (fmt % ('run type', f.infos['run_type']))
print (fmt % ('evt number', f.infos['evt_number']))
print (fmt % ('evt type', f.infos['evt_type']))
print (fmt % ('lumi block', f.infos['lumi_block']))
print (fmt % ('beam energy', f.infos['beam_energy']))
print (fmt % ('beam type', f.infos['beam_type']))
print (fmt % ('stream tags', f.infos['stream_tags']))
print (fmt % ('stream names', f.infos['stream_names']))
print (fmt % ('geometry', f.infos['geometry']))
print (fmt % ('conditions tag', f.infos['conditions_tag']))
_metadata = f.infos['metadata']
_metadata = _metadata.keys() if isinstance(_metadata,dict) else None
print (fmt % ('meta data', _metadata))
msg.info(':'*80)
except Exception as e:
msg.error("Caught exception [%s] !!", str(e.__class__))
msg.error("What:\n%s\n%s\n%s",e,
sys.exc_info()[0],
sys.exc_info()[1])
import traceback
traceback.print_exc()
exitcode = 1
pass
except Exception:
msg.error("Caught something !! (don't know what)")
msg.error("\n%s\n%s",sys.exc_info()[0], sys.exc_info()[1])
exitcode = 10
pass
if len(fnames) > 1:
print ("")
pass # loop over fileNames
if args.output:
oname = args.output
msg.info("saving report into [%s]...", oname)
if osp.exists(oname):
os.rename(oname, oname+'.bak')
af.server.save_cache(oname)
msg.info("Bye.")
return exitcode
......@@ -5,82 +5,77 @@
#define ActsGeoUtils_TransformCache_H
#include <shared_mutex>
#include <type_traits>
#include <ActsGeoUtils/Defs.h>
#include <ActsGeometryInterfaces/IDetectorElement.h>
#include <Identifier/IdentifierHash.h>
#include <CxxUtils/CachedUniquePtr.h>
namespace ActsTrk {
/*** @brief: The TransformCache holds the local -> global transformations associated with a tracking surface
* from the Readout geometry. The cache establishes the connection with the ActsGeometryContext or more
* precisely with its DetectorAlignStore to provide the transformations of an aligned surface.
* As soon as the alignment store is accessed, the nominal surface is released from memory.
* In order to be used for each detector technology, the virtual <fetchTransform> needs to
* be defined further downstream. The method is called everytime when a new cache is invoked. */
class TransformCache {
public:
/** @brief: Functional to initialize the cache for a given alignment. Ideally, this functional is defined
* by each of the MuonReadoutElement and calls the protected
*
* Amg::Transform3D toStation(ActsTrk::RawGeomAlignStore* alignStore) const
*
* method which is applying the alignment transformations via the GeoModel kernel. The IdentifierHash
* encodes the active sensor number within the MuonReadoutElement. Hence, it can be used
* to find the transformation to go from the origin of the GeoModel detector coordinate system
* to the origin of the sensor coordinate system.
*/
using TransformMaker = std::function<Amg::Transform3D(const ActsTrk::DetectorAlignStore* store, const IdentifierHash& hash)>;
public:
TransformCache(const IdentifierHash& cacheHash,
const DetectorType type);
TransformCache(const TransformCache& other) = delete;
TransformCache& operator=(const TransformCache& other) = delete;
virtual ~TransformCache();
/** @brief Returns the sensor hash of this transformation cache */
IdentifierHash hash() const;
/** @brief Returns the parent IDetectorElement owning the cache*/
virtual const IDetectorElement* parent() const = 0;
/** @brief Returns the matching transformation from the alignment store.
* If a nullptr is given, then it's equivalent to the case that the transformation
* is pointing to a perfectly aligned surface. In this case, the internal nominal
* transformation cache is invoked.
* */
const Amg::Transform3D& getTransform(const DetectorAlignStore* store) const;
#ifndef SIMULATIONBASE
/** @brief returns the cached transform from the Acts Geometry context */
const Amg::Transform3D& transform(const Acts::GeometryContext& gctx) const;
#endif
/** @brief resets the nominal cache associated with the detector element*/
void releaseNominalCache() const;
/** @brief returns the detector type of the cache*/
DetectorType detectorType() const;
protected:
virtual Amg::Transform3D fetchTransform(const DetectorAlignStore* store) const = 0;
private:
const IdentifierHash m_hash{0};
const DetectorType m_type{DetectorType::UnDefined};
using TicketCounter = DetectorAlignStore::TrackingAlignStore;
const unsigned int m_clientNo{TicketCounter::drawTicket(m_type)};
mutable std::shared_mutex m_mutex ATLAS_THREAD_SAFE{};
mutable CxxUtils::CachedUniquePtrT<Amg::Transform3D> m_nomCache ATLAS_THREAD_SAFE{};
};
template<typename CachingDetectorEle>
class TransformCacheDetEle: public TransformCache {
public:
/** @brief: Standard constructor taking the hash of the sensor element and
* and the TransformMaker expressed usually as a lambda function
**/
TransformCache(const IdentifierHash& hash,
TransformMaker maker,
const IDetectorElement* parentEle);
TransformCache(const IdentifierHash& hash,
std::shared_ptr<const TransformMaker> maker,
const IDetectorElement* parentEle);
/** @brief: Delete copy constructor & assignment operator*/
TransformCache(const TransformCache& other) = delete;
TransformCache& operator=(const TransformCache& other) = delete;
/** @brief Destructor releasing the ticket for later reuse*/
~TransformCache();
TransformCacheDetEle(const IdentifierHash& hash,
const CachingDetectorEle* parentEle);
/** @brief Returns the matching transformation from the alignment store.
* If a nullptr is given, then it's equivalent to the case that the transformation
* is pointing to a perfectly aligned surface. In this case, the internal nominal
* transformation cache is invoked.
* */
const Amg::Transform3D& getTransform(const DetectorAlignStore* store) const;
/** @brief Returns the sensor hash of this transformation cache */
IdentifierHash hash() const;
/** @brief Returns the transform maker function of this transformation cache*/
const TransformMaker& transformMaker() const;
/** @brief Returns the parent IDetectorElement owning the cache*/
const IDetectorElement* parent() const;
/** @brief resets the nominal cache associated with the detector element*/
void releaseNominalCache() const;
const IDetectorElement* parent() const override final;
private:
const IDetectorElement* m_parent{nullptr};
const DetectorType m_type{m_parent->detectorType()};
using TicketCounter = DetectorAlignStore::TrackingAlignStore;
const unsigned int m_clientNo{TicketCounter::drawTicket(m_type)};
IdentifierHash m_hash{0};
std::shared_ptr<const TransformMaker> m_transform{};
mutable std::shared_mutex m_mutex ATLAS_THREAD_SAFE{};
mutable CxxUtils::CachedUniquePtrT<Amg::Transform3D> m_nomCache ATLAS_THREAD_SAFE{};
Amg::Transform3D fetchTransform(const DetectorAlignStore* store) const override final;
const CachingDetectorEle* m_parent{nullptr};
};
inline bool operator<(const std::unique_ptr<TransformCache>& a,
const std::unique_ptr<TransformCache>& b) {
return a->hash() < b->hash();
}
inline bool operator<(const IdentifierHash& a,
const std::unique_ptr<TransformCache>& b) {
return a < b->hash();
}
inline bool operator<(const std::unique_ptr<TransformCache>& a,
const IdentifierHash& b) {
return a->hash() < b;
}
using TransformCacheSet = std::set<std::unique_ptr<TransformCache>, std::less<>>;
}
#include <ActsGeoUtils/TransformCache.icc>
#endif
\ No newline at end of file
......@@ -13,7 +13,7 @@ namespace ActsTrk {
if (alignStore) {
const Amg::Transform3D* cache = alignStore->trackingAlignment->getTransform(m_clientNo);
if (cache) return *cache;
const Amg::Transform3D& trf{alignStore->trackingAlignment->setTransform(m_clientNo, (*m_transform)(alignStore, m_hash))};
const Amg::Transform3D& trf{alignStore->trackingAlignment->setTransform(m_clientNo, fetchTransform(alignStore))};
/// If an external alignment store is presented release the nominal transformation
releaseNominalCache();
return trf;
......@@ -21,12 +21,32 @@ namespace ActsTrk {
/// Fall back solution to go onto the nominal cache
if (!m_nomCache) {
std::unique_lock guard{m_mutex};
m_nomCache.set(std::make_unique<Amg::Transform3D>((*m_transform)(nullptr, m_hash)));
m_nomCache.set(std::make_unique<Amg::Transform3D>(fetchTransform(alignStore)));
return (*m_nomCache);
}
std::shared_lock guard{m_mutex};
return (*m_nomCache);
}
inline IdentifierHash TransformCache::hash() const { return m_hash; }
#ifndef SIMULATIONBASE
ATH_FLATTEN
inline const Amg::Transform3D& TransformCache::transform(const Acts::GeometryContext& anygctx) const {
const ActsGeometryContext* gctx = anygctx.get<const ActsGeometryContext*>();
// unpack the alignment store from the context
return getTransform(gctx->getStore(m_type).get());
}
#endif
}
template<typename CachingDetectorEle>
TransformCacheDetEle<CachingDetectorEle>::TransformCacheDetEle(const IdentifierHash& hash,
const CachingDetectorEle* parentEle):
TransformCache(hash, parentEle->detectorType()),
m_parent{parentEle} {}
template<typename CachingDetectorEle>
const IDetectorElement* TransformCacheDetEle<CachingDetectorEle>::parent() const {
return m_parent;
}
}
#endif
\ No newline at end of file
......@@ -13,9 +13,7 @@ namespace ActsTrk{
const TransformCache* SurfaceCache::transformCache() const { return m_transformCache; }
const Acts::Transform3& SurfaceCache::transform(const Acts::GeometryContext& anygctx) const {
const ActsGeometryContext* gctx = anygctx.get<const ActsGeometryContext*>();
// unpack the alignment store from the context
return m_transformCache->getTransform(gctx->getStore(m_transformCache->parent()->detectorType()).get());
return m_transformCache->transform(anygctx);
}
const Acts::Surface& SurfaceCache::surface() const {
if (!m_surface) THROW_EXCEPTION("Surface has not been set before");
......
......@@ -10,25 +10,15 @@ namespace ActsTrk {
TicketCounter::giveBackTicket(m_type, m_clientNo);
}
TransformCache::TransformCache(const IdentifierHash& hash,
TransformMaker maker,
const IDetectorElement* parentEle):
TransformCache(hash,std::make_unique<TransformMaker>(maker), parentEle) {}
TransformCache::TransformCache(const IdentifierHash& hash,
std::shared_ptr<const TransformMaker> maker,
const IDetectorElement* parentEle):
m_parent{parentEle},
const DetectorType type):
m_hash{hash},
m_transform{maker}{}
m_type{type} {}
const IDetectorElement* TransformCache::parent() const {
return m_parent;
}
void TransformCache::releaseNominalCache() const {
std::unique_lock guard{m_mutex};
m_nomCache.release();
const GeoVDetectorElement* vParent =dynamic_cast<const GeoVDetectorElement*>(m_parent);
const GeoVDetectorElement* vParent = dynamic_cast<const GeoVDetectorElement*>(parent());
if (vParent) vParent->getMaterialGeom()->clearPositionInfo();
}
IdentifierHash TransformCache::hash() const { return m_hash; }
const TransformCache::TransformMaker& TransformCache::transformMaker() const { return *m_transform; }
DetectorType TransformCache::detectorType() const { return m_type; }
}
......@@ -34,11 +34,11 @@ class SurfaceBounds;
}
class ActsTrackingGeometrySvc;
class IdentityHelper;
/// @class ActsDetectorElement
///
class ActsDetectorElement : public ActsTrk::IDetectorElement, public GeoVDetectorElement {
public:
using DetectorType = ActsTrk::DetectorType;
......@@ -98,10 +98,11 @@ public:
/// is based on.
const GeoVDetectorElement *upstreamDetectorElement() const;
Amg::Transform3D transform(const ActsTrk::DetectorAlignStore* store) const;
private:
DetectorType m_type{DetectorType::UnDefined};
ActsTrk::TransformCache m_trfCache;
ActsTrk::TransformCacheDetEle<ActsDetectorElement> m_trfCache{0, this};
/// Detector element as variant
const GeoVDetectorElement *m_detElement{nullptr};
/// Boundaries of the detector element
......@@ -112,9 +113,16 @@ private:
std::shared_ptr<Acts::Surface> m_surface{};
std::vector<std::shared_ptr<const Acts::Surface>> m_surfaces{};
std::unique_ptr<const Amg::Transform3D> m_trtTrf{};
Identifier m_explicitIdentifier{};
};
namespace ActsTrk{
template <> inline Amg::Transform3D
TransformCacheDetEle<ActsDetectorElement>::fetchTransform(const DetectorAlignStore* store) const{
return m_parent->transform(store);
}
}
#endif
......@@ -51,35 +51,6 @@ constexpr double length_unit = 1_mm;
ActsDetectorElement::ActsDetectorElement(const InDetDD::SiDetectorElement &detElem) :
GeoVDetectorElement{detElem.getMaterialGeom()},
m_type{detElem.isPixel() ? DetectorType::Pixel : DetectorType::Sct},
m_trfCache{0,[this,&detElem](const DetectorAlignStore* store, const IdentifierHash&) {
const InDetDD::SiDetectorDesign &design = detElem.design();
const Trk::SurfaceBounds::BoundsType boundsType = detElem.bounds().type();
// extra shift for split row modules
Amg::Transform3D extraTransform{Amg::CLHEPTransformToEigen(detElem.recoToHitTransform())};
if (boundsType == Trk::SurfaceBounds::Rectangle &&
typeid(design) == typeid(InDetDD::StripBoxDesign) ) {
extraTransform = design.moduleShift() * extraTransform;
} else if (boundsType == Trk::SurfaceBounds::Annulus) {
// need to rotate pi/2 to reproduce ABXY orientation, phiS so that phi=0
// is center and symmetric
const double phiShift = M_PI_2 - static_cast<const InDetDD::StripStereoAnnulusDesign&>(design).stereo();
const Amg::Vector2D origin2D = static_cast<const Acts::AnnulusBounds&>(m_surface->bounds()).moduleOrigin();
const Amg::Translation3D transl{origin2D.x(), origin2D.y(), 0};
const Amg::Transform3D originTrf{transl * Amg::getRotateZ3D(-phiShift)};
extraTransform = extraTransform * originTrf.inverse();
}
GeoAlignmentStore* alignStore = store ? store->geoModelAlignment.get() : nullptr;
Amg::Transform3D l2g = m_detElement->getMaterialGeom()->getAbsoluteTransform(alignStore) * extraTransform;
// need to make sure translation has correct units
l2g.translation() *= 1.0 / CLHEP::mm * length_unit;
return l2g;
},this},
m_detElement{&detElem} {
......@@ -118,8 +89,7 @@ ActsDetectorElement::ActsDetectorElement(const InDetDD::SiDetectorElement &detEl
} else if (boundsType == Trk::SurfaceBounds::Annulus) {
const InDetDD::SiDetectorDesign &design = detElem.design();
const auto *annulus =
dynamic_cast<const InDetDD::StripStereoAnnulusDesign *>(&design);
const auto *annulus = dynamic_cast<const InDetDD::StripStereoAnnulusDesign *>(&design);
if (annulus == nullptr) {
throw std::domain_error("ActsDetectorElement got inconsistent surface");
}
......@@ -157,8 +127,8 @@ ActsDetectorElement::ActsDetectorElement(const Acts::Transform3 &trf,
const Identifier &id) :
GeoVDetectorElement{detElem.getMaterialGeom()},
m_type{DetectorType::Trt},
m_trfCache{0,[trf](const DetectorAlignStore* , const IdentifierHash&) { return trf; },this},
m_detElement{&detElem},
m_trtTrf{std::make_unique<Amg::Transform3D>(trf)},
m_explicitIdentifier(id) {
// we know this is a straw
......@@ -189,14 +159,6 @@ ActsDetectorElement::ActsDetectorElement(const Acts::Transform3 &trf,
ActsDetectorElement::ActsDetectorElement(const InDetDD::HGTD_DetectorElement &detElem, const Identifier &id) :
GeoVDetectorElement{detElem.getMaterialGeom()},
m_type{DetectorType::Hgtd},
m_trfCache{0, [this](const DetectorAlignStore* store, const IdentifierHash&) {
GeoAlignmentStore* geoModelStore = store ? store->geoModelAlignment.get() : nullptr;
Amg::Transform3D l2g = m_detElement->getMaterialGeom()->getAbsoluteTransform(geoModelStore);
// need to make sure translation has correct units
l2g.translation() *= 1.0 / CLHEP::mm * length_unit;
return l2g;
}, this},
m_detElement{&detElem},
m_thickness{detElem.thickness()},
m_explicitIdentifier{id} {
......@@ -222,6 +184,48 @@ ActsDetectorElement::ActsDetectorElement(const InDetDD::HGTD_DetectorElement &de
}
}
Amg::Transform3D ActsDetectorElement::transform(const ActsTrk::DetectorAlignStore* store) const {
GeoAlignmentStore* geoModelStore = store ? store->geoModelAlignment.get() : nullptr;
Amg::Transform3D l2g{Amg::Transform3D::Identity()};
switch (m_type) {
case DetectorType::Hgtd:{
l2g= m_detElement->getMaterialGeom()->getAbsoluteTransform(geoModelStore);
break;
} case DetectorType::Trt: {
l2g = (*m_trtTrf);
break;
}
/// Pixel or Sct
default: {
const auto& detElem = static_cast<const InDetDD::SiDetectorElement&>(*m_detElement);
const InDetDD::SiDetectorDesign&design = detElem.design();
const Trk::SurfaceBounds::BoundsType boundsType = detElem.bounds().type();
// extra shift for split row modules
Amg::Transform3D extraTransform{Amg::CLHEPTransformToEigen(detElem.recoToHitTransform())};
if (boundsType == Trk::SurfaceBounds::Rectangle &&
typeid(design) == typeid(InDetDD::StripBoxDesign) ) {
extraTransform = design.moduleShift() * extraTransform;
} else if (boundsType == Trk::SurfaceBounds::Annulus) {
// need to rotate pi/2 to reproduce ABXY orientation, phiS so that phi=0
// is center and symmetric
const double phiShift = M_PI_2 - static_cast<const InDetDD::StripStereoAnnulusDesign&>(design).stereo();
const Amg::Vector2D origin2D = static_cast<const Acts::AnnulusBounds&>(m_surface->bounds()).moduleOrigin();
const Amg::Translation3D transl{origin2D.x(), origin2D.y(), 0};
const Amg::Transform3D originTrf{transl * Amg::getRotateZ3D(-phiShift)};
extraTransform = extraTransform * originTrf.inverse();
}
l2g = m_detElement->getMaterialGeom()->getAbsoluteTransform(geoModelStore) * extraTransform;
}
};
// need to make sure translation has correct units
l2g.translation() *= 1.0 / CLHEP::mm * length_unit;
return l2g;
}
IdentityHelper ActsDetectorElement::identityHelper() const {
if (detectorType() == DetectorType::Pixel || detectorType() == DetectorType::Sct) {
return IdentityHelper(static_cast<const InDetDD::SiDetectorElement *>(m_detElement));
......@@ -231,11 +235,7 @@ IdentityHelper ActsDetectorElement::identityHelper() const {
}
const Acts::Transform3 &ActsDetectorElement::transform(const Acts::GeometryContext &anygctx) const {
// any cast to known context type
const ActsGeometryContext *gctx = anygctx.get<const ActsGeometryContext *>();
// unpack the alignment store from the context
return m_trfCache.getTransform(gctx->getStore(detectorType()).get());
return m_trfCache.transform(anygctx);
}
unsigned int ActsDetectorElement::storeAlignedTransforms(const ActsTrk::DetectorAlignStore& store) const {
......