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
  • britzger/athena
  • hanl/athena
  • derendar/athena
  • gipezzul/athena
  • robertma/athena
  • epender/athena
  • mmineev/athena
  • phkoenig/athena
  • gnn4itkteam/athena
  • pleier/athena
  • nguseyno/athena
  • gtateno/athena
  • nekumari/athena
  • pavel/athena
  • avasyuko/athena
  • aburke/athena
  • jiling/athena
  • reznicek/athena
  • herrmant/athena
  • lmcelhin/athena
  • jcordeir/athena
  • averbyts/athena
  • tnommens/athena
  • ewallin/athena
  • xuh/athena
  • shbansal/athena
  • gascott/athena
  • tvazquez/athena
  • yuhui/athena
  • lserkin/athena
  • corentin/athena
  • ccaminch/athena
  • berkeleylab/CharmPhysics/athena
  • hfox/athena
  • miochoa/athena
  • cdiez/athena
  • msykora/athena
  • cpollard/athena
  • madurano/athena_gittutorial
  • jakoubek/athena
  • ckirfel/athena
  • calfayan/athena
  • kjohns/athena
  • dguest/athena
  • atlas/athena
  • toshi/athena
  • aundrus/athena
  • akraszna/athena
  • fwinkl/athena
  • karolos/athena
  • wlampl/athena
  • jmontejo/athena
  • damazio/athena
  • okuprash/athena
  • rhauser/athena
  • smh/athena
  • turra/athena
  • phwindis/athena
  • tdado/athena
  • arnaez/athena
  • tadej/athena
  • abuckley/athena
  • baines/athena
  • jmasik/athena
  • mmuskinj/athena
  • pjacka/athena
  • psommer/athena
  • tamartin/athena
  • bwynne/athena
  • tbold/athena
  • mhodgkin/athena
  • tstreble/athena
  • nstyles/athena
  • ATLAS-EGamma/athena
  • mark/athena
  • gemmeren/athena
  • yuxu/athena
  • toyamaza/athena
  • ssnyder/athena
  • wwalko/athena
  • emoyse/athena
  • rbianchi/athena
  • pgadow/athena
  • solodkov/athena
  • graemes/athena
  • rbielski/athena
  • sshaw/athena
  • dcasper/athena
  • mrybar/athena
  • shlomit/athena
  • ychiu/athena
  • hartj/athena
  • christos/athena
  • jcatmore/athena
  • ebuschma/athena
  • yoyamagu/athena
  • gunal/athena
  • nikiforo/athena
  • ewelina/athena
  • fpastore/athena
  • ligang/athena
  • harkusha/athena
  • sroe/athena
  • mvozak/athena
  • leggett/athena
  • lfiorini/athena
  • martindl/athena
  • longjon/athena
  • almaloiz/athena
  • jichen/athena
  • cchan/athena
  • tlari/athena
  • peter/athena
  • susinha/athena
  • filthaut/athena
  • cvarni/athena
  • cshimmin/athena
  • wleight/athena
  • mihuebne/athena
  • nwarrack/athena
  • chays/athena
  • jsallen/athena-high-pt-ms-jets
  • dtovey/athena
  • dkar/athena
  • sgeorge/athena
  • yafu/athena
  • alfroch/athena
  • mgignac/athena
  • mstamenk/athena
  • tkohno/athena
  • okepka/athena
  • janovak/athena
  • cohm/athena
  • wiedenat/athena
  • khoo/athena
  • omajersk/athena
  • maklein/athena
  • dbakshig/athena
  • tmkrtchy/athena
  • fernando/athena
  • gingrich/athena
  • scheiric/athena
  • schaarsc/athena
  • pleskot/athena
  • ponyisi/athena
  • jobalz/athena
  • ravinab/athena
  • ebergeas/athena
  • ekasimi/athena
  • ekuwertz/athena
  • afaulkne/athena
  • merrenst/athena
  • xai/athena
  • achishol/athena
  • goetz/athena
  • dpopov/athena
  • alaurier/athena
  • astruebi/athena
  • mtoscani/athena
  • krumnack/athena
  • clseitz/athena
  • mdanning/athena
  • bmindur/athena
  • egramsta/athena
  • efilmer/athena
  • hye/athena
  • jpanduro/athena
  • ssarikay/athena
  • ppostola/athena
  • hyamauch/athena
  • shanisch/athena
  • aad/athena
  • ncalace/athena
  • gpanizzo/athena
  • tupham/athena
  • rcoelhol/athena
  • nkrengel/athena
  • stelzer/athena
  • cmcginn/athena
  • ssottoco/athena
  • turnerm/athena
  • sutt/athena
  • tsulaia/athena
  • bernius/athena
  • vcairo/athena
  • ldc/athena
  • stsuno/athena
  • yunju/athena
  • mbandier/athena
  • jmacdona/athena
  • jdandoy/athena
  • mehlhase/athena
  • dzanzi/athena
  • jufische/athena
  • kzoch/athena
  • kwhalen/athena
  • nasbah/athena
  • bmorgan/athena
  • amete/athena
  • msaimper/athena
  • rcarney/athena
  • williams/athena
  • hhibi/athena
  • shhirose/athena
  • cheidegg/athena
  • coccaro/athena
  • heng/athena
  • kkohler/athena
  • loch/athena
  • ynoguchi/athena
  • cdeutsch/athena
  • campanel/athena
  • wbalunas/athena
  • nova/athena
  • hoide/athena
  • todorova/athena
  • xju/athena
  • sjiggins/athena
  • bgokturk/athena
  • yuchou/athena
  • aytul/athena
  • hrussell/athena
  • jbiswal/athena
  • lidiaz/athena
  • guerrero/athena
  • kegraham/athena
  • bouhova/athena
  • kpachal/athena
  • alwang/athena
  • mverissi/athena
  • alopezso/athena
  • dhayden/athena
  • mvessell/athena
  • mvanadia/athena
  • ssantpur/athena
  • kenelson/athena
  • omeshkov/athena
  • soumya/athena
  • upatel/athena
  • ruyuan/athena
  • igrabows/athena
  • dshope/athena
  • fmeloni/athena
  • tvarol/athena
  • mhank/athena
  • korona/athena
  • cowagner/athena
  • tursom/athena
  • anperrev/athena
  • eramakot/athena
  • tnobe/athena
  • dbogavac/athena
  • derue/athena
  • fsforza/athena
  • koffas/athena
  • chinderk/athena
  • fgiuli/athena
  • angianni/athena
  • falonso/athena
  • ballbroo/athena
  • diehl/athena
  • myexley/athena
  • davidek/athena
  • hansenph/athena
  • tphamleh/athena
  • mfujimot/athena
  • ekajomov/athena-general
  • salvator/athena
  • sarbiolv/athena
  • masato/athena
  • hirose/athena
  • rkopelia/athena
  • jmendes/athena
  • stapiaar/athena
  • jhaley/athena
  • ffabbri/athena
  • stavrop/athena
  • agbet/athena
  • tpelzer/athena
  • nwenke/athena
  • cdelitzs/athena
  • gia/athena
  • dbabal/athena
  • juesseiv/athena
  • temoskal/athena
  • kkrizka/athena
  • hmildner/athena
  • ckitsaki/athena
  • asonay/athena
  • dwallace/athena
  • lferencz/athena
  • iaizenbe/athena
  • jiawei/athena
  • czhou/athena
  • pmeiring/athena
  • eschanet/athena
  • mromano/athena
  • rustem/athena
  • jteoh/athena
  • liberato/athena
  • sswatman/athena
  • jbeirer/athena
  • miqueits/athena
  • wachan/athena
  • nielsenj/athena
  • elmsheus/athena
  • ranovotn/athena
  • eparrish/athena
  • asquith/athena
  • esoldato/athena
  • nicholas/athena
  • fuhe/athena
  • dakoch/athena
  • markowen/athena
  • mhance/athena
  • asoukhar/athena
  • aranzazu/athena
  • ndegroot/athena
  • aporeba/athena
  • lihan/athena
  • jkempste/athena
  • sschramm/athena
  • ginaciog/athena
  • tjunkerm/athena
  • mdelmast/athena
  • mswiatlo/athena
  • anmrodri/athena
  • verducci/athena
  • ssaha/athena
  • martis/athena
  • pliu/athena
  • bcarlson/athena
  • gabarone/athena
  • fastcalosim_test/athena
  • scamarda/athena
  • rlongo/athena
  • mxia/athena
  • lstocker/athena
  • conde/athena
  • guindon/athena
  • amoussa/athena
  • mmittal/athena
  • mdonasci/athena
  • ffollega/athena
  • chelling/athena
  • hmaguire/athena
  • gialas/athena
  • fcostanz/athena
  • sberlend/athena
  • shion/athena
  • sschmitt/athena
  • acts/athena
  • cgutscho/athena
  • nifomin/athena
  • eriefel/athena
  • zsoumaim/athena
  • guescini/athena
  • evarnes/athena
  • dwilbern/athena
  • laforge/athena
  • haozturk/athena
  • akotsoke/athena
  • jkremer/athena
  • kkoeneke/athena
  • susy-hackers/athena
  • istin/athena
  • rpoggi/athena
  • llorente/athena
  • rkarnam/athena
  • fizisist/athena
  • navarrjo/athena
  • cmerlass/athena
  • chenlian/athena
  • acanesse/athena
  • fengyu/athena
  • ysmirnov/athena_old
  • amulski/athena
  • bulekov/athena
  • ivivarel/athena
  • pkramer/athena
  • vcavalie/athena
  • sanchevi/athena
  • yanlin/athena
  • bauerpa/athena
  • restevam/athena
  • sefernan/athena
  • jgonski/athena
  • mmazza/athena
  • smwang/athena
  • thsjurse/athena
  • mmlynars/athena
  • iyeletsk/athena
  • csebasti/athena
  • itrandaf/athena
  • wobisch/athena
  • almgadm/athena
  • jhinds/athena
  • emmat/athena
  • mwielers/athena
  • mtchijov/athena
  • tiyang/athena
  • aleopold/athena
  • lapereir/athena
  • lucam/athena
  • lmiller/athena
  • zuysal/athena
  • rbalasub/athena
  • kciesla/athena
  • masaito/athena
  • somadutt/athena
  • salderwe/athena
  • pekman/athena
  • wmccorma/athena
  • ycoadou/athena
  • kkreul/athena
  • jstupak/athena
  • simmons/athena
  • ilongari/athena
  • jzeng/athena
  • pinamont/athena
  • ssahin/athena
  • adye/athena
  • gcallea/athena
  • wtaylor/athena
  • kbelobor/athena
  • aoneill/athena
  • ljeanty/athena
  • dmaximov/athena
  • fbartels/athena
  • kasai/athena
  • kghorban/athena
  • cschiavi/athena
  • jraine/athena
  • mcfayden/athena
  • ecarlson/athena
  • scarra/athena
  • brottler/athena
  • aelmouss/athena
  • rozeny/athena
  • khanov/athena
  • gotero/athena
  • nbelyaev/athena
  • abandyop/athena
  • aohatl/athena
  • rebeca/athena
  • joheinri/athena
  • doglioni/athena
  • amarzin/athena
  • alaperto/athena
  • bhonan/athena
  • bigliett/athena
  • rgarg/athena
  • begalli/athena
  • dpudzha/athena
  • pmoskvit/athena
  • yajun/athena
  • jajimene/athena
  • mpokidov/athena
  • atlidali/athena
  • paulama/athena
  • vcroft/athena
  • mtesta/athena
  • lbozianu/athena
  • torrence/athena
  • hacooke/athena
  • demelian/athena
  • barak/athena
  • wprzygod/athena
  • sgalantz/athena
  • roward/athena
  • atsirigo/athena
  • tofitsch/athena
  • amoroso/athena
  • salnikov/athena
  • csander/athena
  • ozaplati/athena
  • elrossi/athena
  • mmiralle/athena
  • alory/athena
  • pbokan/athena
  • pottgen/athena
  • jsabater/athena
  • jdevivi/athena
  • ruth/athena
  • klin/athena
  • ymino/athena
  • xchen/athena
  • apetukho/athena
  • cappelt/athena
  • trinn/athena
  • xiaoning/athena
  • nelsonc/athena
  • nishu/athena
  • paramon/athena
  • ratkin/athena
  • juhofer/athena
  • enarayan/athena
  • bleban/athena
  • dpizzi/athena
  • ztarem/athena
  • exot-27/athena
  • sampson/athena
  • qhu/athena
  • acassim/athena
  • bburghgr/athena
  • ychow/athena
  • mkrivos/athena
  • mmarjano/athena
  • pagessin/athena
  • nviauxma/athena
  • hessey/athena
  • wfawcett/athena
  • watsona/athena
  • LichtenbergGroup/athena
  • othielma/athena
  • ibordule/athena
  • jreich/athena
  • perj/athena
  • mleblanc/athena
  • jdegens/athena
  • wgeorge/athena
  • hasada/athena
  • pmendesa/athena
  • kristin/athena
  • ztao/athena
  • sridouan/athena
  • alainb/athena
  • xiaohu/athena
  • ludovica/athena
  • bachacou/athena
  • yake/athena
  • yama/athena
  • musafdar/athena
  • ssu/athena
  • angerami/athena
  • rnayak/athena
  • pebaron/athena-weights
  • jlsmith/athena
  • ktsuri/athena
  • jezequel/athena
  • gproto/athena
  • hschwart/athena
  • mproffit/athena
  • amendesj/athena
  • asalzbur/athena
  • rerrabai/athena
  • csamoila/athena
  • lhelary/athena
  • malgren/athena
  • tiany/athena
  • mprincip/athena
  • spolacek/athena
  • lbeemste/athena
  • aczirkos/athena
  • grabanal/athena
  • bmondal/athena
  • asantra/athena
  • kyamaguc/athena
  • jreidels/athena
  • tboeckh/athena
  • bozek/athena
  • silvinha/athena
  • holau/athena
  • mdhlamin/athena
  • slawlor/athena
  • jroloff/athena
  • lkrauth/athena
  • tdiasdov/athena
  • emily/athena
  • carlod/athena
  • bbrueers/athena
  • mtian/athena
  • iramirez/athena
  • idinu/athena
  • bcole/athena
  • ecelebi/athena
  • mgrabois/athena
  • dhirsch/athena
  • roishi/athena
  • oducu/athena
  • ygo/athena
  • hmoyanog/athena-4-mr
  • jjwilkin/athena
  • yuanchan/athena
  • skorn/athena
  • ggustavi/athena
  • diwillia/athena
  • cgarner/athena
  • exochell/athena
  • sbiryuko/athena
  • changqia/athena
  • scalvet/athena
  • jwspence/athena
  • honguyen/athena
  • atsiamis/athena
  • jizamora/athena
  • adimitri/athena
  • calpigia/athena
  • yangx/athena
  • rysawada/athena
  • cmarcon/athena
  • iene/athena
  • kpetukho/athena
  • dhangal/athena
  • atlidbs/athena
  • athaler/athena
  • jspah/athena
  • tbisanz/athena
  • tqiu/athena
  • jcardena/athena
  • dopasqua/athena
  • jkretz/athena
  • tzenis/athena
  • maliev/athena
  • hzuchen/athena
  • lveloce/athena
  • ryamaguc/athena
  • oshukrun/athena
  • tsano/athena
  • mumohdso/athena2
  • fdelrio/athena
  • mbiros/athena
  • okumura/athena
  • sagara17/athena
  • iwang/athena
  • dmunozpe/athena
  • arennie/athena
  • mumohdso/athena
  • valentem/athena
  • rhayes/athena
  • zearnsha/athena
  • atate/athena
  • caforio/athena
  • bnachman/athena
  • koshimiz/athena
  • evguillo/athena
  • dossantn/athena
  • zhijie/athena
  • maly/athena
  • yuzhan/athena
  • hlin/athena
  • suyounas/athena
  • rjoshi/athena
  • mtost/athena
  • machitis/athena
  • lunedic/athena
  • crougier/athena
  • lvannoli/athena
  • mimarine/athena
  • omezhens/athena
  • ndebiase/athena
  • thompson/athena
  • dounwuch/athena
  • saclawso/athena
  • nkakati/athena
  • jonierma/athena
  • cprat/athena
  • echeu/athena
  • mischott/athena
  • hhanif/athena
  • martinpa/athena
  • csauer/athena
  • sahinsoy/athena
  • tiknight/athena
  • jodamp/athena
  • knikolop/athena
  • inaryshk/athena
  • wendlanb/athena
  • fedin/athena
  • xchu/athena
  • angrigor/athena
  • lkeszegh/athena
  • adik/athena
  • jaoliver/athena
  • lbaltes/athena
  • eschopf/athena
  • echeremu/athena
  • ntamir/athena
  • pbellos/athena
  • idrivask/athena
  • aikoulou/athena
  • sadykov/athena
  • haweber/athena
  • algilber/athena
  • ignesi/athena
  • sgurdasa/athena
  • pyanezca/athena
  • pamachad/athena
  • hiito/athena
  • tteixeir/athena
  • mdrozdov/athena
  • pbhattar/athena
  • bsaifudd/athena
  • tavandaa/athena
  • veellajo/athena
  • fdibello/athena
  • nheatley/athena
  • wolter/athena
  • fsili/athena
  • dparedes/athena
  • hsimpson/athena
  • mrenda/athena
  • minaenko/athena
  • mzhai/athena
  • zyan/athena
  • rkusters/athena
  • emmarsha/athena
  • chchau/athena
  • zhangr/athena
  • jburzyns/athena
  • javanden/athena
  • edweik/athena
  • zmarshal/athena
  • slai/athena
  • awilhahn/athena
  • agaa/athena
  • phkenned/athena
  • leevans/athena
  • srdas/athena
  • llaatu/athena
  • stsigari/athena
  • zfeng/athena
  • kkrowpma/athena
  • zifeng/athena
  • adonofri/athena
  • atropina/athena
  • metsai/athena
  • atlaspmb/athena
  • yuanda/athena
  • cleonido/athena
  • arombola/athena
  • seggebre/athena
  • mnoury/athena
  • drousso/athena
  • ademaria/athena
  • kchoi/athena
  • ijuarezr/athena
  • dgillber/athena
  • saktas/athena
  • axiong/athena
  • eyamashi/athena
  • fbendebb/athena
  • zang/athena
  • matakagi/athena
  • qibin/athena
  • acanbay/athena
  • amdesai/athena
  • nlopezca/athena
  • berkeleylab/lowmutracking/athena
  • jferrand/athena
  • bshresth/athena
  • tbuanes/athena
  • klassen/athena
  • otheiner/athena-official
  • egodden/athena
  • cbuitrag/athena
  • hpotti/athena
  • vtudorac/athena
  • mfarring/athena
  • hawatson/athena
  • chonghao/athena
  • knakkali/athena
  • dzengerj/athena
  • parodi/athena
  • bballard/athena
  • lmontana/athena
  • weixi/athena
  • zhuyi/athena
  • dcieri/athena
  • cimcp/athena
  • cantel/athena
  • buboehm/athena
  • adaribay/athena
  • duperrin/athena
  • asansar/athena
  • iliadis/athena
  • kbenkend/athena
  • jburr/athena
  • frenner/athena
  • isotarri/athena
  • miholzbo/athena
  • dkoeck/athena
  • bstanisl/athena
  • blumen/athena
  • smitani/athena
  • alsala/athena
  • mfewell/athena
  • eegidiop/athena
  • czodrows/athena
  • yulei/athena
  • olangrek/athena
  • clantz/athena
  • gshatri/athena
  • amincer/athena
  • jmharris/athena
  • hpang/athena
  • jgargan/athena
  • gripelli/athena
  • ewatton/athena
  • otheiner/athena
  • preselection-hackathon/athena
  • tizuo/athena
  • mleigh/athena
  • rushioda/athena
  • smeriano/athena
  • sfranche/athena
  • mfernoux/athena
  • bernardo/athena
  • deniso/athena
  • jnitschk/athena
  • chandler/athena
  • viruelas/athena
  • pebaron/athena-td
  • davetisy/athena
  • ksugizak/athena
  • yusano/athena
  • anghosh/ef-anindya
  • skaur/athena
  • yochi/athena
  • wsherman/athena
  • rtagami/athena
  • hriani/athena
  • jgombas/athena
  • vcepaiti/athena
  • sroygara/athena
  • apsallid/athena
  • chji/athena
  • yuanj/athena
  • pakontax/athena
  • agavrily/athena
  • dmclaugh/athena
  • dmahon/athena
  • abunka/athena
  • mcgensvc/athena
  • giagu/athena
  • yuwen/athena
  • almay/athena
  • cjmeyer/athena
  • qberthet/athena
  • mshapiro/athena
  • dkobylia/athena
  • ekay/athena
  • islazyk/athena
  • glamprin/athena
  • baitbenc/athena
  • mbarel/athena
  • rdinardo/athena
  • dakiyama/athena
  • osalin/athena
  • minlin/athena
  • cgrefe/athena
  • mlanzacb/athena
  • wsfreund/athena
  • szambito/athena
  • hwilkens/athena
  • kazhang/athena
  • pebaron/athena
  • beringer/athena
  • schaffer/athena
  • yyap/athena
  • mspalla/athena
  • fcalosim/athena
  • smobius/athena
  • enagy/athena
  • menke/athena
  • mduehrss/athena
  • mavogel/athena
  • spagan/athena
  • carquin/athena
  • tkharlam/athena
  • okiverny/athena
  • jelena/athena
  • rateixei/athena
  • dportill/athena
  • osunnebo/athena
  • lmijovic/athena
  • desilva/athena
  • chhayes/athena
  • jwalder/athena
  • sanmay/athena
  • satom/athena
  • junpei/athena
  • jahreda/athena
  • tilebeam/athena
  • kiabelin/athena
  • mcarnesa/athena
  • jstark/athena
  • jedebevc/athena
  • silu/athena
  • vtskhaya/athena
  • krbjoerk/athena
  • cyoung/athena
  • jtanaka/athena
  • delsart/athena
  • mtogawa/athena
  • haoran/athena
  • luxin/athena
  • faser/offline/athena
  • yifany/athena
  • maslawin/athena
  • danning/athena
  • minghui/athena
  • dcasperfaser/athena
  • beddall/athena
  • srettie/athena
  • cfan/athena
  • kazheng/athena
  • almeidvi/athena
  • vmartin/athena
  • kgupta/athena
  • mmontell/athena
  • beltran/athena-fork
  • sudha/athena
  • lgagnon/athena
  • lhenkelm/athena
  • anbaraja/athena
  • pajones/athena
  • ssinha/athena
  • dpanchal/athena
  • serodrig/athena
  • kkawade/athena
  • joana/athena
  • chiodini/athena
  • mtanasin/athena
  • amorenos/athena
  • jshahini/athena
  • lfeligio/athena
  • vbuxbaum/athena
  • kburka/athena
  • apalazzo/athena
  • gonzalri/athena
  • jaofferm/athena
  • desengup/athena
  • gottino/athena
  • ehaines/athena
  • rmazini/athena
  • gavrilen/athena
  • mdidenko/athena
  • dwkim/athena
  • sabidi/athena
  • qidong/athena
  • cdimitri/athena
  • hazeng/athena
  • bkerridg/athena
  • mischott/athena-22
  • jingjing/athena
  • ktopolni/athena
  • dabattul/athena
  • attrtcal/athena
  • sgaid/athena
  • thmaurin/athena
  • ktackman/athena
  • yche/athena
  • yoyeh/athena
  • asciandr/athena
  • chjiang/athena
  • pclark/athena
  • lbazzano/athena
  • rushioda/athena-3
  • bochen/athena
  • krdona/athena
  • kvidalgu/athena
  • nlad/athena
  • meiqi/athena
  • dtorresa/athena
  • hmoyanog/athena
  • lesplend/athena
  • aackerma/athena
  • yingjun/athena
  • xinfei/athena
  • aaikot/athena
  • jcurran/athena
  • maboelel/athena
  • mschefer/athena
  • xinhui/athena
  • aivina/athena
  • kazheng/athena-physics-val-2023
  • rmakhman/athena
  • shhan/athena
  • zoduan/athena
  • zhiliang/athena
  • bdixit/athena
  • liuk/athena
  • alsidley/athena
  • sfrances/athena
  • xingguo/athena
  • jlue/athena
  • ragrabar/athena
  • kyjones/topoetcone-removal
  • shahzad/athena
  • niabicht/athena
  • asehrawa/athena
  • keener/athena
  • mhoppesc/athena
  • yunagai/athena
  • adohnalo/athena
  • lcalic/athena-backup
  • greynold/athena
  • yinmiao/athena
  • bruckman/athena
  • llewitt/athena
  • bschlag/athena
  • kazheng/athena-workingpoint
  • agentry/athena
  • kbhide/athena
  • drankin/athena
  • nkang/athena
  • tbeumker/athenatest
  • asmaga/athena
  • berkeleylab/acts/athena
  • weitao/athena
  • hvanders/athena
  • ladamczy/test
  • losanti/athena
  • tbeumker/athena
  • jiturriz/athena
  • losanti/athena-23
  • kyjones/trigger-example
  • menu-hackathon/athena
  • wsong/athena
  • dawerner/athena
  • dmankad/athena-idle
  • vmaksimo/athena
  • toobauma/athena
  • edreyer/athena
  • fisopkov/athena
  • lprimomo/athena
  • seggebre/athena-fluencemap-modification
  • gtarna/athena
  • SecVtx-Lancaster/Athena
  • maparo/athena
  • smanzoni/athena
  • shmukher/athena
  • adimri/athena
  • pgraveli/athena
  • jcrosby/athena
  • aackerma/atlas-athena
  • eullmank/athena
  • wstanek/athena
  • lrambell/athena
  • tovsiann/athena
  • rsnyder/athena
  • skita/athena
  • atlas-sa-uct/athena
  • ppotepa/athena
  • zgao/athena
  • mhemmett/athena
  • achakrav/athena
  • lroos/athena
  • rashbypi/athena
  • xmapekul/athena
  • evitale/athena
  • arej/athena
  • kgoto/athena
  • thmaurin/athena-sim-flavour
  • ivyas/athena
  • lkretsch/athena
  • npond/athena
  • aleksand/athena
  • cvittori/athena
  • epasqual/athena
  • mbiyabi/athena
  • jebohm/athena
  • hluk/athena
  • mihe/athena
  • aralves/athena
  • dkoeck/anniathenafork
  • dbiswas/athena
  • mkareem/athena
  • tslee/athena
  • cgarvey/athena
  • croland/athena
  • mhaacke/athena
  • asoflau/athena
  • rgupta/athena
  • pkumari/athena
  • feickert/athena
  • kesedlac/athena
  • agerwin/athena
  • ricunnin/athena
  • ctosciri/athena-old
  • ctosciri/athena
  • gfrattar/athena
  • bscheuer/athena
  • gwilliam/athena
  • bdixit/masking-strip-modules
  • gtolkach/athena
  • ksudo/athena
  • gaofeng/athena
  • jfeng2/athena
  • svanstro/athena
  • rhiguchi/athena
  • vaustrup/athena
  • kosuzuki/athena
  • etoyoda/athena
  • rmizuhik/athena
  • hart/athena
  • kkanke/athena
  • whopkins/athena
  • tnakagaw/athena
  • amakita/athena
  • maoki/athena
  • tpaschoa/athena
  • anayaz/athena
  • dduda/athena
  • miyamada/athena
  • rishikaw/athena
  • evalient/athena
  • ferusso/athena
  • smweber/athena
  • aagaard/athena
  • shudong/athena
  • zyan/athena-muon-calib-stream
  • smweber/athena-run-3
  • zyan/athena-muon-calib
  • evalient/athena-dnn-calculator
  • jsallen/athena
  • strom/athena
  • strom/athena-dms
  • dellacqu/athena
  • glagafon/project-nimber-1
  • sbellman/athena
  • aowang/athena
  • brosser/athena
  • macretar/athena
  • ooncel/athena
  • skadir/athena-sadaf
  • leguo/athena
  • jhoya/athena
  • glagafon/handi-project
  • tygeorge/athena
  • wuxi/athena
  • hasun/athena
  • syan/athena-syan
  • osotosan/athena
  • glagafon/handi-project-1
  • mnorfolk/athena
  • aborbely/athena
  • axgallen/athena-qualification-task
  • will/athena
  • karakawa/athena
  • mmaroun/ravina-fork
  • taogawa/athena
  • seinfant/athena
  • dmankad/athena-gen
  • schernau/athena
  • axgallen/athena
  • tmlinare/athena
  • romar/athena
  • agarabag/athena
  • ktariq/athena
  • vlysenko/athena
  • mahorstm/athena
  • zuzak/athena
  • dhagan/athena
  • ibamwidh/athena
  • tizhang/athena
  • ipolishc/athena
  • xilin/athena
  • atishelm/athena
  • jolamber/athena
  • jlue/athena-latest
  • frfische/athena
  • ykhoulak/myathena
  • yil/athena
  • huayu/athena
  • chuanye/athena
  • dntounis/athena
  • nkua-atlas/athena
  • kifarman/athena
  • lderamo/athena
  • tayoshid/athena
  • steinber/athena-main
  • nischmit/athena
  • dtruncal/athena
  • movincen/athena
  • dongyi/athena
  • tdingley/athena
  • malvesca/athena
  • kazheng/athena-acts
  • mnowak/athena
  • openc/athena
  • hasegawa/athena
  • glagafon/dq-optimize
  • lcalic/athena
  • ekajomov/athena-fork-fix
  • ladamczy/athena
  • mhufnage/athena
  • rqian/athena
  • lsultana/obsolete_athena
  • lsultana/athena
  • anfortma/athena
  • alveltma/athena
  • kfung/athena
  • yonoda/athena
  • alpleban/athena
  • mmaheshw/athena
  • jdavidso/athena
  • anstein/athena
  • pebaron/athena-leprem
  • edcritel/athena
  • gbird/athena
  • midandre/athena
  • bglik/athena
  • mfurukaw/athena
  • anhodges/athena
  • sokkerma/athena
  • mvivasal/athena
  • kyjones/athena
  • asbrooks/athena
  • lboccard/athena
  • fcurcio/athena
  • tburatov/athena
  • mveen/athena
  • mmlynars/athena-v-2
  • jmcgowan/athena
  • joroemer/athena
  • dmankad/athena
  • ctaybi/athena
  • ivyoung/athena
  • drasslof/athena
  • tmclachl/athena
  • tayoshid/athena-test
  • jodafons/athena
  • anburger/athena
  • sdemiran/athena
  • sanchezj/athena-2022
  • jiddon/athena
  • sdahbi/athena
  • sidoti/athena
  • fwinkel/athena
  • apfleger/athena
  • izahir/athena
  • mmoors/athena
  • sanchezj/athena
  • goblirsc/athena
  • jwkraus/athena
  • rhaberle/athena
  • obut/athena
  • rvinasco/athena
  • esimpson/athena
  • klleras/athena
  • jhowarth/athena
  • janders/athena
  • dta/athena_old
  • jchapman/athena
  • mungo/athena
  • avallier/athena
  • jecouthu/athena
  • dtrischu/athena
  • fmontere/athena
  • misantan/athena
  • fhenry/athena
  • sfuenzal/athena
  • zalegria/athena
  • awharton/Athena
  • zhaotong/athena
  • gdigrego/athena
  • amelo/athena
  • acordeir/athena-ed
  • shaoguan/athena
  • peiyan/athena
  • nbruscin/athena
  • pdougan/athena
  • backes/athena
  • mkholoda/athena
  • fkirfel/athena
  • caiy/athena
  • tayoshid/athena-2024
  • kchu/athena
  • bcervato/athena
  • esampson/athena-idart
  • gfacini/athena
  • gmascare/athena
  • fwinkl2/athena
  • shpeng/athena-2
  • gmercado/athena
  • rhowen/athena
  • yvolkotr/athena
  • esampson/athena-idart-2
  • djlewis/athena
  • costanzo/athena
  • nharriso/athena
  • esampson/athena-otp
  • yuematsu/athena
  • pibutti/athena
  • esampson/athena-june-otp
  • alpleban/athena-met
  • wcastigl/athena
  • astefl/athena
  • yilin/athena
  • bmoser/athena
  • thitchin/athena
  • bdong/athena
  • ksahan/athena
  • zhanhang/athena
  • sosarkar/athena-again
  • lbarrade/athena
  • msasada/athena
  • agheata/athena
  • seth/athena
  • okolay/athena
  • txu/athena
  • robouque/athena
  • nsurijr/athena
  • zhangbo/athena
  • mlyukova/athena
  • esampson/june-2-otp
  • dbaronmo/athena
  • eballabe/athena
  • wema/athena
  • boudreau/athena
  • damperia/athena-acts
  • martyniu/athena
  • acamplan/athena
  • vsasse/athena
  • ksakura/athena
  • bngair/met-significance-r-22
  • bhuth/athena
  • bngair/me-tsig-athena
  • domatter/athena
  • menadeem/athena
  • atymchys/athena
  • yanqiw/athena
  • linghua/athena
  • vkost/athena
  • rhicks/athena
  • arelycg/athena
  • skadir/athena
  • sgoswami/athena
  • juscerri/athena
  • sosarkar/athena
  • biliu/athena
  • mwessels/athena
  • beltran/athena
  • bdebjani/athena
  • dreikher/athena
  • hshaddix/athena
  • lwinkler/athena
  • ddicroce/athena
  • fladias/athena
  • mhabedan/athena
  • emoon/athena
  • cleong/athena
  • sdiefenb/athena-onnx-tutorial
  • elham/athena
  • haren/athena
  • mads/athena
  • nkrogh/athena
  • dwilson/athena
  • fivone/athena
  • lsanfili/athena
  • thart/athena
  • scane/athena
  • dahumphr/athena
  • lifoster/athena
  • echerepa/athena
  • baer/athena
  • alancast/athena
  • dcamarer/athena
  • eskorda/athena
  • kenakamu/athena
  • glagafon/aaaathena
  • haotianl/athena
  • glagafon/athena
  • rshibata/athena
  • salopez/athena
  • ukhurshi/athena
  • rvavrick/athena
  • lburke/athena
  • glagafon/glagafon-dq
  • pizhang/athena
  • htsoi/athena
  • therwig/athena
  • delitez/athena
  • mwitkows/athena
  • pachabri/athena
  • ezaya/athena
  • lcorazzi/athena
  • casadop/athena
  • mmantina/athena
  • achamber/athena
  • hzhuang/athena
  • jaburles/athena
  • jkrupa/athena
  • lmonaco/athena
  • rmole/athena
  • mamirono/athena
  • mfornasi/athena
  • rpozzi/athena
  • fdattola/athena
  • gserenis/athena
  • semami/athena
  • uepstein/athena
  • lechols/athena
  • jinglis/athena
  • abesir/athena
  • belderto/athena
  • ljerala/athena
  • cmavungu/athena
  • jajohnso/athena
  • lopezzot/athena
  • jlittle/athena
  • htorre/athena
  • robouque/athena-20241115
  • fsiegert/athena
  • tneep/athena
  • lbrown/athena
  • wguerin/athena
  • wenjingw/athena
  • rmole/athena-personal-fork
  • kfang/athena-fork-kyfang
  • ashirazi/athena
  • jackersc/athena
  • epompapa/athena
  • prmitra/athena
  • kgrimm/athena-kgrimm
  • wasu/athena
  • gfazzino/athena
  • toheintz/athena
  • nihartma/athena
  • aslobodk/athena
  • goetz/athena-acts
  • amoreira/athena
  • kdipetri/athena
  • yazhou/athena
  • djuarezg/athena
  • muschmid/athena
  • alarnold/athena
  • mdacunha/athena
  • wlai/athena
  • falves/athena
  • novotnyp/athena
  • mborodin/athena
  • rohasan/athena
  • adsalvad/athena
  • asickles/athena
  • ibenaoum/athena
  • alecrhys/athena
  • lvicenik/athena
  • mfarzali/athena
  • zetao/athena
  • frcastig/athena
  • christog/athena
  • tflee/athena
  • kkazakov/athena
  • llarson/athena
  • jusilva/athena
  • ehampshi/athena
  • exochell/my-athena
  • pusharma/athena
  • gpinheir/athena
  • hshaddix/athena-hshaddix
  • tomoya/athena-low-pt-muon-rec
  • jecifuen/athena
  • mojeda/athena
  • jlieberm/athena
  • vchabala/athena
  • chhultqu/athena
  • nsur/athena-lund
  • misavic/athena
  • nshtokha/athena
  • jlai/athena
  • camccrac/athena
  • akraus/athena
  • yuxuanz/local-athena
  • pmourafr/athena
  • zhubacek/athena
  • yukari/athena
  • sizumiya/athena
  • mfilipig/athena
  • mnegrini/athena
  • sawyer/athena
  • yanqiw/athena-acts-for-run-3-silicon-tracking
  • rkavak/athena
  • fdejean/athena
  • zrokavec/athena
  • gipoddar/athena
  • beyeo/athena
  • ssuravar/athena
  • gsalvi/athena
  • stlin/athena
  • mtancock/athena-2
  • ywng/athena
  • vpires/athena-vasco
  • sutuncay/athena
  • fballi/athena
  • hadavand/athena
  • ndiasper/athena
1578 results
Show changes
Showing
with 904 additions and 505 deletions
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#include "ForDetEnvelopeTool.h"
#include "ForDetEnvelopeFactory.h"
#include "GeoModelEnvelopes/ForDetEnvelopeManager.h"
#include "ForDetEnvelopeFactory.h"
#include "GeoModelEnvelopes/ForDetEnvelopeManager.h"
#include "GeoModelUtilities/GeoModelExperiment.h"
#include "StoreGate/StoreGateSvc.h"
......@@ -12,30 +12,25 @@
#include "AthenaKernel/ClassID_traits.h"
#include "SGTools/DataProxy.h"
ForDetEnvelopeTool::ForDetEnvelopeTool(const std::string& type,
const std::string& name,
const IInterface* parent):
ForDetEnvelopeTool::ForDetEnvelopeTool(const std::string& type,
const std::string& name,
const IInterface* parent):
GeoModelTool(type,name,parent),
m_manager(0)
m_manager(nullptr)
{
}
ForDetEnvelopeTool::~ForDetEnvelopeTool()
{
}
StatusCode ForDetEnvelopeTool::create()
{
{
ATH_MSG_INFO("Building Forward Detectors Envelope");
GeoModelExperiment* theExpt;
if (StatusCode::SUCCESS != detStore()->retrieve(theExpt,"ATLAS")) {
GeoModelExperiment* theExpt;
if (StatusCode::SUCCESS != detStore()->retrieve(theExpt,"ATLAS")) {
ATH_MSG_ERROR("Could not find GeoModelExperiment ATLAS");
return StatusCode::FAILURE;
}
return StatusCode::FAILURE;
}
if(0==m_manager) {
if(nullptr==m_manager) {
GeoPhysVol *world=&*theExpt->getPhysVol();
ForDetEnvelopeFactory theFactory(detStore().operator->());
......@@ -45,10 +40,10 @@ StatusCode ForDetEnvelopeTool::create()
theExpt->addManager(m_manager);
StatusCode sc = detStore()->record(m_manager,
m_manager->getName());
if (sc.isFailure()) {
ATH_MSG_ERROR("Could not register ForDetEnvelope detector manager");
return StatusCode::FAILURE;
return StatusCode::FAILURE;
}
return StatusCode::SUCCESS;
}
......@@ -60,7 +55,7 @@ StatusCode ForDetEnvelopeTool::clear()
SG::DataProxy* proxy = detStore()->proxy(ClassID_traits<ForDetEnvelopeManager>::ID(),m_manager->getName());
if(proxy) {
proxy->reset();
m_manager = 0;
m_manager = nullptr;
}
return StatusCode::SUCCESS;
}
/*
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ForDetEnvelopeTool_h
#ifndef ForDetEnvelopeTool_h
#define ForDetEnvelopeTool_h 1
#include "GeoModelUtilities/GeoModelTool.h"
class ForDetEnvelopeManager;
class ForDetEnvelopeTool : public GeoModelTool
class ForDetEnvelopeTool final : public GeoModelTool
{
public:
......@@ -16,7 +16,7 @@ class ForDetEnvelopeTool : public GeoModelTool
ForDetEnvelopeTool( const std::string& type, const std::string& name, const IInterface* parent );
// Standard Destructor
virtual ~ForDetEnvelopeTool() override final;
virtual ~ForDetEnvelopeTool() override final = default;
virtual StatusCode create() override final;
virtual StatusCode clear() override final;
......@@ -24,4 +24,4 @@ class ForDetEnvelopeTool : public GeoModelTool
const ForDetEnvelopeManager* m_manager;
};
#endif
#endif
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Declare the package name:
atlas_subdir( Interpreters )
# Install files from the package:
atlas_install_scripts( share/physh share/totalphysh share/athenash.py )
#!/bin/sh
"""date" # executable for the shell, but a string block to python
exec `which python` -t "$0" "$@" # exec, as required for gdb
""" # python execution starts here, the shell never reaches this
__version__ = '3.0.0'
__author__ = 'Joe Boudreau (boudreau@pitt.edu) based upon work of Wim Lavrijsen (WLavrijsen@lbl.gov)'
__doc__ = 'No Doc. Sorry'
import sys, os
import getopt, string
runBatch=1
### python interpreter configuration -----------------------------------------
if not os.getcwd() in sys.path:
sys.path = [ os.getcwd() ] + sys.path
if not '' in sys.path:
sys.path = [ '' ] + sys.path
### logging and messages -----------------------------------------------------
from AthenaCommon.Logging import *
### file inclusion and tracing -----------------------------------------------
from AthenaCommon.Include import Include, IncludeError, include
include.setShowIncludes( False )
### gaudi --------------------------------------------------------------------
from GaudiPython import *
from AthenaCommon.Configurable import *
from AthenaCommon.OldStyleConfig import *
from AthenaCommon.Constants import *
preconfig = "AthenaCommon"
### Athena configuration -----------------------------------------------------
theApp = iService( "ApplicationMgr" ) # proxy
theApp.Dlls += [ 'AthenaServices' ]
include( "%s/Bootstrap.py" % preconfig )
## create the application manager and start in a non-initialised state
from AthenaCommon.AppMgr import theApp, ToolSvc, ServiceMgr, theAuditorSvc
## basic job configuration
include( "AthenaCommon/Atlas.UnixStandardJob.py" )
include.block( "AthenaCommon/Atlas.UnixStandardJob.py" )
EventLoopMgr = iService( 'EventLoopMgr' )
AthenaEventLoopMgr = EventLoopMgr # for historic reasons
### execution ----------------------------------------------------------------
from AthenaCommon.ResourceLimits import SetMaxLimits
SetMaxLimits()
del SetMaxLimits
include( sys.argv[1] )
try:
theApp.run() # runs until theApp.EvtMax events reached
except RuntimeError, e:
print 'RuntimeError:', str(e)
theApp.exit() # exits program, yields theApp._exitstate on shell
#!/usr/bin/env python
import sys,os
os.execvpe('athenash.py', sys.argv ,os.environ)
#!/bin/bash
totalview python -a `which athenash.py` $@
......@@ -10,7 +10,7 @@ find_package( CLHEP )
atlas_add_library( SubDetectorEnvelopesLib
INTERFACE
PUBLIC_HEADERS SubDetectorEnvelopes
LINK_LIBRARIES GaudiKernel AtlasDetDescr )
LINK_LIBRARIES GaudiKernel AtlasDetDescr CxxUtils )
atlas_add_component( SubDetectorEnvelopes
src/*.cxx
......
AtlasGeometryCommon/SubDetectorEnvelopes
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
......@@ -17,6 +17,8 @@
// SubDetectorEnvelopes includes
#include "SubDetectorEnvelopes/RZPair.h"
#include "CxxUtils/checker_macros.h"
class IEnvelopeDefSvc : virtual public IInterface {
/**
@class IEnvelopeDefSvc
......@@ -48,15 +50,6 @@ class IEnvelopeDefSvc : virtual public IInterface {
const RZPairVector &getMuonRZBoundary() const { return getRZBoundary(AtlasDetDescr::fAtlasMS); }
const RZPairVector &getCavernRZBoundary() const { return getRZBoundary(AtlasDetDescr::fAtlasCavern); }
/** legacy methods
Any client should update to use the methods defined above!
The following lecagy methods will be phased out once all clients have migrated to the new methods above */
RZPairVector &getBeamPipeRZValues( unsigned short = 0) const { return const_cast<RZPairVector&>( getRZBoundary(AtlasDetDescr::fAtlasForward) ); }
RZPairVector &getInDetRZValues( unsigned short = 0) const { return const_cast<RZPairVector&>( getRZBoundary(AtlasDetDescr::fAtlasID) ); }
RZPairVector &getCaloRZValues( unsigned short = 0) const { return const_cast<RZPairVector&>( getRZBoundary(AtlasDetDescr::fAtlasCalo) ); }
RZPairVector &getMuonRZValues( unsigned short = 0) const { return const_cast<RZPairVector&>( getRZBoundary(AtlasDetDescr::fAtlasMS) ); }
RZPairVector &getCavernRZValues( unsigned short = 0) const { return const_cast<RZPairVector&>( getRZBoundary(AtlasDetDescr::fAtlasCavern) ); }
protected:
/** mirror the given srcRZ RZPairVector in the XY-plane to describe all corner points
in (r,z) space in the dstRZ RZPairVector */
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
"""
SubDetectorEnvelopes configurations for AtlasGeometryCommon
Elmar Ritsch, 27/09/2013
"""
def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
kwargs.setdefault("DBInDetNode" , 'InDetEnvelope' )
kwargs.setdefault("DBBeamPipeNode" , 'BeamPipeEnvelope' )
kwargs.setdefault("DBCaloNode" , 'CaloEnvelope' )
kwargs.setdefault("DBMSNode" , 'MuonEnvelope' )
kwargs.setdefault("DBCavernNode" , 'CavernEnvelope' )
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
from AthenaConfiguration.Enums import BeamType, LHCPeriod
from AthenaConfiguration.AccumulatorCache import AccumulatorCache
@AccumulatorCache
def EnvelopeDefSvcCfg(flags, name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
result = ComponentAccumulator()
kwargs.setdefault("DBBeamPipeNode", 'BeamPipeEnvelope')
kwargs.setdefault("DBInDetNode" , 'InDetEnvelope'
if flags.Beam.Type is BeamType.TestBeam or flags.GeoModel.Run < LHCPeriod.Run4
else 'ITkEnvelope')
kwargs.setdefault("DBCaloNode" , 'CaloEnvelope' )
kwargs.setdefault("DBMSNode" , 'MuonEnvelope' )
kwargs.setdefault("DBCavernNode" , 'CavernEnvelope' )
# allow for python-based envelope definitions (see below)
# -> TODO: set this to False once the envelope definitions are tagged in the DDDB
......@@ -18,13 +29,12 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
# setup fallback BeamPipeEnvelope
BeamPipe = Volume()
BeamPipe.addRZ( 34.3, 3475.0 )
from AthenaCommon.DetFlags import DetFlags
if hasattr(DetFlags.simulate, 'HGTD_on') and DetFlags.simulate.HGTD_on():
BeamPipe.addRZ( 47.0, 3475.0 )
BeamPipe.addRZ( 47.0, 3535.0 )
BeamPipe.addRZ( 120.0, 3535.0 )
if flags.Beam.Type is not BeamType.TestBeam and flags.GeoModel.Run >= LHCPeriod.Run4:
BeamPipe.addRZ( 28.8, 3545.0 )
BeamPipe.addRZ( 120.0, 3545.0 )
else:
BeamPipe.addRZ( 34.3, 3475.0 )
BeamPipe.addRZ( 120.0, 3475.0 )
BeamPipe.addRZ( 120.0, 4185.0 )
BeamPipe.addRZ( 41.0, 4185.0 )
......@@ -45,21 +55,25 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
# setup fallback IDEnvelope
InDet = Volume()
InDet.addRZ( 1148., 3475. )
InDet.addRZ( 34.3, 3475. )
# InDet should include HGTD when it's turned on
if flags.Beam.Type is not BeamType.TestBeam and flags.GeoModel.Run >= LHCPeriod.Run4:
InDet.addRZ( 1148., 3545. )
InDet.addRZ( 28.8, 3545. )
else:
InDet.addRZ( 1148., 3475. )
InDet.addRZ( 34.3, 3475. )
kwargs.setdefault("FallbackInDetR" , InDet.getRs() )
kwargs.setdefault("FallbackInDetZ" , InDet.getZs() )
# setup fallback CaloEnvelope
Calo = Volume()
Calo.addRZ( 1148.0, 3475.0 )
from AthenaCommon.DetFlags import DetFlags
if hasattr(DetFlags.simulate, 'HGTD_on') and DetFlags.simulate.HGTD_on():
Calo.addRZ( 47.0, 3475.0 )
Calo.addRZ( 47.0, 3535.0 )
Calo.addRZ( 120.0, 3535.0 )
if flags.Beam.Type is not BeamType.TestBeam and flags.GeoModel.Run >= LHCPeriod.Run4:
Calo.addRZ( 1148.0, 3545.0 )
Calo.addRZ( 120.0, 3545.0 )
else:
Calo.addRZ( 1148.0, 3475.0 )
Calo.addRZ( 120.0, 3475.0 )
Calo.addRZ( 120.0, 4185.0 )
Calo.addRZ( 41.0, 4185.0 )
......@@ -121,8 +135,7 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
Cavern.addRZ( 0.0 , 26046.0 ) #
# the outer dimesions differ between collision and cosmics jobs
from AthenaCommon.BeamFlags import jobproperties
if jobproperties.Beam.beamType() != 'cosmics':
if flags.Beam.Type is not BeamType.Cosmics:
# -> for collision jobs the 'cavern' envelope is much smaller
Cavern.addRZ( 0.0 , 500000.0 ) # z= +500m
Cavern.addRZ( 500000.0 , 500000.0 ) # r= 500m
......@@ -135,8 +148,14 @@ def getEnvelopeDefSvc(name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
kwargs.setdefault("FallbackCavernR" , Cavern.getRs() )
kwargs.setdefault("FallbackCavernZ" , Cavern.getZs() )
from SubDetectorEnvelopes.SubDetectorEnvelopesConf import DetDescrDBEnvelopeSvc
return DetDescrDBEnvelopeSvc(name, **kwargs)
#set the GeoModelSvc
from AtlasGeoModel.GeoModelConfig import GeoModelCfg
acc = GeoModelCfg(flags)
kwargs.setdefault("GeoModelSvc", acc.getService("GeoModelSvc").getFullJobOptName())
result.merge(acc)
result.addService(CompFactory.DetDescrDBEnvelopeSvc(name, **kwargs),primary=True)
return result
# class used for more readable definitions of envelope volumes
......@@ -157,128 +176,3 @@ class Volume:
def getZs(self):
return self.z
# For new configuration - doesn't have access to DetFlags as of writing, so all HGTD stuff is missing.
# Just copied from above.
#New configuration in SubDetectorEnvelopesConfigNew.py
def EnvelopeDefSvc(flags, **kwargs):
kwargs.setdefault("DBInDetNode" , 'InDetEnvelope' )
kwargs.setdefault("DBBeamPipeNode" , 'BeamPipeEnvelope' )
kwargs.setdefault("DBCaloNode" , 'CaloEnvelope' )
kwargs.setdefault("DBMSNode" , 'MuonEnvelope' )
kwargs.setdefault("DBCavernNode" , 'CavernEnvelope' )
# allow for python-based envelope definitions (see below)
# -> TODO: set this to False once the envelope definitions are tagged in the DDDB
kwargs.setdefault("EnableFallback" , True )
# setup fallback BeamPipeEnvelope
BeamPipe = Volume()
BeamPipe.addRZ( 34.3, 3475.0 )
BeamPipe.addRZ( 120.0, 3475.0 ) # TODO - re-add HGTD stuff once we can configure
BeamPipe.addRZ( 120.0, 4185.0 )
BeamPipe.addRZ( 41.0, 4185.0 )
BeamPipe.addRZ( 41.0, 6783.0 )
BeamPipe.addRZ( 70.0, 6783.0 )
BeamPipe.addRZ( 70.0, 12900.0 )
BeamPipe.addRZ( 279.0, 12900.0 )
BeamPipe.addRZ( 279.0, 18650.0 )
BeamPipe.addRZ( 436.0, 18650.0 )
BeamPipe.addRZ( 436.0, 22030.0 )
BeamPipe.addRZ( 1050.0, 22030.0 )
BeamPipe.addRZ( 1050.0, 26046.0 )
BeamPipe.addRZ( 0.0, 26046.0 )
kwargs.setdefault("FallbackBeamPipeR" , BeamPipe.getRs() )
kwargs.setdefault("FallbackBeamPipeZ" , BeamPipe.getZs() )
# setup fallback IDEnvelope
InDet = Volume()
InDet.addRZ( 1148., 3475. )
InDet.addRZ( 34.3, 3475. )
kwargs.setdefault("FallbackInDetR" , InDet.getRs() )
kwargs.setdefault("FallbackInDetZ" , InDet.getZs() )
# setup fallback CaloEnvelope
Calo = Volume()
Calo.addRZ( 1148.0, 3475.0 )
Calo.addRZ( 120.0, 3475.0 ) # TODO - re-add HGTD stuff once we can configure
Calo.addRZ( 120.0, 4185.0 )
Calo.addRZ( 41.0, 4185.0 )
Calo.addRZ( 41.0, 6783.0 )
Calo.addRZ( 420.0, 6783.0 )
Calo.addRZ( 420.0, 6736.0 )
Calo.addRZ( 3800.0, 6736.0 )
Calo.addRZ( 3800.0, 6550.0 )
Calo.addRZ( 4255.0, 6550.0 )
kwargs.setdefault("FallbackCaloR" , Calo.getRs() )
kwargs.setdefault("FallbackCaloZ" , Calo.getZs() )
# setup fallback MuonEnvelope
Muon = Volume()
Muon.addRZ( 4255.0 , 4000.0 )
Muon.addRZ( 4255.0 , 6550.0 )
Muon.addRZ( 3800.0 , 6550.0 )
Muon.addRZ( 3800.0 , 6736.0 )
Muon.addRZ( 420.0 , 6736.0 )
Muon.addRZ( 420.0 , 6783.0 )
Muon.addRZ( 70.0 , 6783.0 )
Muon.addRZ( 70.0 , 12900.0 )
Muon.addRZ( 279.0 , 12900.0 )
Muon.addRZ( 279.0 , 18650.0 )
Muon.addRZ( 436.7 , 18650.0 )
Muon.addRZ( 436.7 , 22030.0 )
Muon.addRZ( 1050.0 , 22030.0 )
Muon.addRZ( 1050.0 , 26046.0 )
Muon.addRZ( 1500.0 , 26046.0 )
Muon.addRZ( 1500.0 , 23001.0 )
Muon.addRZ( 2750.0 , 23001.0 )
Muon.addRZ( 2750.0 , 22030.0 )
Muon.addRZ( 12650.0 , 22030.0 )
Muon.addRZ( 12650.0 , 18650.0 )
Muon.addRZ( 13400.0 , 18650.0 )
Muon.addRZ( 13400.0 , 12900.0 )
Muon.addRZ( 14200.0 , 12900.0 )
Muon.addRZ( 14200.0 , 4000.0 )
Muon.addRZ( 13000.0 , 4000.0 )
kwargs.setdefault("FallbackMuonR" , Muon.getRs() )
kwargs.setdefault("FallbackMuonZ" , Muon.getZs() )
# setup fallback CavernEnvelope
Cavern = Volume()
Cavern.addRZ( 13000.0 , 4000.0 )
Cavern.addRZ( 14200.0 , 4000.0 )
Cavern.addRZ( 14200.0 , 12900.0 ) # boundary with MS
Cavern.addRZ( 13400.0 , 12900.0 ) # boundary with MS
Cavern.addRZ( 13400.0 , 18650.0 ) # boundary with MS
Cavern.addRZ( 12650.0 , 18650.0 ) # boundary with MS
Cavern.addRZ( 12650.0 , 22030.0 ) # boundary with MS
Cavern.addRZ( 2750.0 , 22030.0 ) # boundary with MS
Cavern.addRZ( 2750.0 , 23001.0 ) # boundary with MS
Cavern.addRZ( 1500.0 , 23001.0 ) # boundary with MS
Cavern.addRZ( 1500.0 , 26046.0 ) # boundary with MS
Cavern.addRZ( 0.0 , 26046.0 ) #
# the outer dimesions differ between collision and cosmics jobs
if flags.Beam.Type != 'cosmics':
# -> for collision jobs the 'cavern' envelope is much smaller
Cavern.addRZ( 0.0 , 500000.0 ) # z= +500m
Cavern.addRZ( 500000.0 , 500000.0 ) # r= 500m
else:
# -> for cosmics simulation the 'cavern' envelope spans much further
kwargs.setdefault("DBCavernNode" , 'CavernEnvelopeNONE' )
kwargs.setdefault("EnableFallback" , True )
Cavern.addRZ( 0.0 , 3000000.0 ) # z= +3km
Cavern.addRZ( 3000000.0 , 3000000.0 ) # r= 3km
kwargs.setdefault("FallbackCavernR" , Cavern.getRs() )
kwargs.setdefault("FallbackCavernZ" , Cavern.getZs() )
from SubDetectorEnvelopes.SubDetectorEnvelopesConf import DetDescrDBEnvelopeSvc
return DetDescrDBEnvelopeSvc(**kwargs)
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
"""
Configuration database for SubDetectorEnvelopes
Elmar Ritsch, 27/09/2013
"""
from AthenaCommon.CfgGetter import addService
# Common tools, services and algorithms used by jobs:
addService("SubDetectorEnvelopes.SubDetectorEnvelopesConfig.getEnvelopeDefSvc", "AtlasGeometry_EnvelopeDefSvc")
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
"""
SubDetectorEnvelopes configurations for AtlasGeometryCommon
Elmar Ritsch, 27/09/2013
"""
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
DetDescrDBEnvelopeSvc=CompFactory.DetDescrDBEnvelopeSvc
def EnvelopeDefSvcCfg(ConfigFlags, name="AtlasGeometry_EnvelopeDefSvc", **kwargs):
result = ComponentAccumulator()
kwargs.setdefault("DBInDetNode" , 'InDetEnvelope' )
kwargs.setdefault("DBBeamPipeNode" , 'BeamPipeEnvelope' )
kwargs.setdefault("DBCaloNode" , 'CaloEnvelope' )
kwargs.setdefault("DBMSNode" , 'MuonEnvelope' )
kwargs.setdefault("DBCavernNode" , 'CavernEnvelope' )
# allow for python-based envelope definitions (see below)
# -> TODO: set this to False once the envelope definitions are tagged in the DDDB
kwargs.setdefault("EnableFallback" , True )
# setup fallback BeamPipeEnvelope
BeamPipe = Volume()
BeamPipe.addRZ( 34.3, 3475.0 )
if ConfigFlags.Detector.SimulateHGTD:
BeamPipe.addRZ( 47.0, 3475.0 )
BeamPipe.addRZ( 47.0, 3535.0 )
BeamPipe.addRZ( 120.0, 3535.0 )
else:
BeamPipe.addRZ( 120.0, 3475.0 )
BeamPipe.addRZ( 120.0, 4185.0 )
BeamPipe.addRZ( 41.0, 4185.0 )
BeamPipe.addRZ( 41.0, 6783.0 )
BeamPipe.addRZ( 70.0, 6783.0 )
BeamPipe.addRZ( 70.0, 12900.0 )
BeamPipe.addRZ( 279.0, 12900.0 )
BeamPipe.addRZ( 279.0, 18650.0 )
BeamPipe.addRZ( 436.0, 18650.0 )
BeamPipe.addRZ( 436.0, 22030.0 )
BeamPipe.addRZ( 1050.0, 22030.0 )
BeamPipe.addRZ( 1050.0, 26046.0 )
BeamPipe.addRZ( 0.0, 26046.0 )
kwargs.setdefault("FallbackBeamPipeR" , BeamPipe.getRs() )
kwargs.setdefault("FallbackBeamPipeZ" , BeamPipe.getZs() )
# setup fallback IDEnvelope
InDet = Volume()
InDet.addRZ( 1148., 3475. )
InDet.addRZ( 34.3, 3475. )
kwargs.setdefault("FallbackInDetR" , InDet.getRs() )
kwargs.setdefault("FallbackInDetZ" , InDet.getZs() )
# setup fallback CaloEnvelope
Calo = Volume()
Calo.addRZ( 1148.0, 3475.0 )
if ConfigFlags.Detector.SimulateHGTD:
Calo.addRZ( 47.0, 3475.0 )
Calo.addRZ( 47.0, 3535.0 )
Calo.addRZ( 120.0, 3535.0 )
else:
Calo.addRZ( 120.0, 3475.0 )
Calo.addRZ( 120.0, 4185.0 )
Calo.addRZ( 41.0, 4185.0 )
Calo.addRZ( 41.0, 6783.0 )
Calo.addRZ( 420.0, 6783.0 )
Calo.addRZ( 420.0, 6736.0 )
Calo.addRZ( 3800.0, 6736.0 )
Calo.addRZ( 3800.0, 6550.0 )
Calo.addRZ( 4255.0, 6550.0 )
kwargs.setdefault("FallbackCaloR" , Calo.getRs() )
kwargs.setdefault("FallbackCaloZ" , Calo.getZs() )
# setup fallback MuonEnvelope
Muon = Volume()
Muon.addRZ( 4255.0 , 4000.0 )
Muon.addRZ( 4255.0 , 6550.0 )
Muon.addRZ( 3800.0 , 6550.0 )
Muon.addRZ( 3800.0 , 6736.0 )
Muon.addRZ( 420.0 , 6736.0 )
Muon.addRZ( 420.0 , 6783.0 )
Muon.addRZ( 70.0 , 6783.0 )
Muon.addRZ( 70.0 , 12900.0 )
Muon.addRZ( 279.0 , 12900.0 )
Muon.addRZ( 279.0 , 18650.0 )
Muon.addRZ( 436.7 , 18650.0 )
Muon.addRZ( 436.7 , 22030.0 )
Muon.addRZ( 1050.0 , 22030.0 )
Muon.addRZ( 1050.0 , 26046.0 )
Muon.addRZ( 1500.0 , 26046.0 )
Muon.addRZ( 1500.0 , 23001.0 )
Muon.addRZ( 2750.0 , 23001.0 )
Muon.addRZ( 2750.0 , 22030.0 )
Muon.addRZ( 12650.0 , 22030.0 )
Muon.addRZ( 12650.0 , 18650.0 )
Muon.addRZ( 13400.0 , 18650.0 )
Muon.addRZ( 13400.0 , 12900.0 )
Muon.addRZ( 14200.0 , 12900.0 )
Muon.addRZ( 14200.0 , 4000.0 )
Muon.addRZ( 13000.0 , 4000.0 )
kwargs.setdefault("FallbackMuonR" , Muon.getRs() )
kwargs.setdefault("FallbackMuonZ" , Muon.getZs() )
# setup fallback CavernEnvelope
Cavern = Volume()
Cavern.addRZ( 13000.0 , 4000.0 )
Cavern.addRZ( 14200.0 , 4000.0 )
Cavern.addRZ( 14200.0 , 12900.0 ) # boundary with MS
Cavern.addRZ( 13400.0 , 12900.0 ) # boundary with MS
Cavern.addRZ( 13400.0 , 18650.0 ) # boundary with MS
Cavern.addRZ( 12650.0 , 18650.0 ) # boundary with MS
Cavern.addRZ( 12650.0 , 22030.0 ) # boundary with MS
Cavern.addRZ( 2750.0 , 22030.0 ) # boundary with MS
Cavern.addRZ( 2750.0 , 23001.0 ) # boundary with MS
Cavern.addRZ( 1500.0 , 23001.0 ) # boundary with MS
Cavern.addRZ( 1500.0 , 26046.0 ) # boundary with MS
Cavern.addRZ( 0.0 , 26046.0 ) #
# the outer dimesions differ between collision and cosmics jobs
if ConfigFlags.Beam.Type != 'cosmics':
# -> for collision jobs the 'cavern' envelope is much smaller
Cavern.addRZ( 0.0 , 500000.0 ) # z= +500m
Cavern.addRZ( 500000.0 , 500000.0 ) # r= 500m
else:
# -> for cosmics simulation the 'cavern' envelope spans much further
kwargs.setdefault("DBCavernNode" , 'CavernEnvelopeNONE' )
kwargs.setdefault("EnableFallback" , True )
Cavern.addRZ( 0.0 , 3000000.0 ) # z= +3km
Cavern.addRZ( 3000000.0 , 3000000.0 ) # r= 3km
kwargs.setdefault("FallbackCavernR" , Cavern.getRs() )
kwargs.setdefault("FallbackCavernZ" , Cavern.getZs() )
#set the GeoModelSvc
from AtlasGeoModel.GeoModelConfig import GeoModelCfg
acc = GeoModelCfg(ConfigFlags)
kwargs.setdefault("GeoModelSvc", acc.getService("GeoModelSvc"))
result.merge(acc)
result.addService(DetDescrDBEnvelopeSvc(name, **kwargs),primary=True)
return result
# class used for more readable definitions of envelope volumes
# -> create new volume boundary definitions
# -> return the coordinate vectors in R and Z and VolumeID
class Volume:
# initialize empy
def __init__(self):
self.r = [ ]
self.z = [ ]
def addRZ(self, r, z):
self.r += [ r ]
self.z += [ z ]
def getRs(self):
return self.r
def getZs(self):
return self.z
"""
Visualize envelopes as defined in EnvelopeDefSvc
Elmar Ritsch, 13/05/2016
"""
from AthenaCommon.CfgGetter import getService
def draw_envelope(ax, rlist_half, zlist_half, color, label):
# mirror the given (r,z) values in the x-y plane
rlist = rlist_half[:]
zlist = zlist_half[:]
for r in reversed(rlist_half):
rlist.append(r)
for z in reversed(zlist_half):
zlist.append(-z)
rlist.append(rlist[0])
zlist.append(zlist[0])
area = Polygon(zip(zlist, rlist), alpha=0.5, closed=True, color=color, label=label, linewidth=0.)
ax.add_patch(area)
if __name__ == "__main__":
import matplotlib
matplotlib.use('Qt4Agg') # use backend that supports GUI (rather than file output only)
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
svc = getService('AtlasGeometry_EnvelopeDefSvc')
fig, ax = plt.subplots(figsize=(20,10))
draw_envelope(ax, svc.FallbackBeamPipeR, svc.FallbackBeamPipeZ, 'r', label='BeamPipe')
draw_envelope(ax, svc.FallbackInDetR, svc.FallbackInDetZ, 'b', label='InDet')
draw_envelope(ax, svc.FallbackCaloR, svc.FallbackCaloZ, 'c', label='Calo')
draw_envelope(ax, svc.FallbackMuonR, svc.FallbackMuonZ, 'm', label='MS')
draw_envelope(ax, svc.FallbackCavernR, svc.FallbackCavernZ, 'k', label='Cavern')
ax.autoscale_view()
plt.ylabel('r (mm)')
plt.xlabel('z (mm)')
plt.legend()
plt.show(block=True)
exit(1)
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
......@@ -18,7 +18,6 @@
// Database includes
#include "RDBAccessSvc/IRDBRecordset.h"
#include "RDBAccessSvc/IRDBAccessSvc.h"
#include "RDBAccessSvc/IRDBRecord.h"
// AtlasDetDescr
......@@ -26,7 +25,7 @@
// GeoModel
#include "GeoModelInterfaces/IGeoModelSvc.h"
#include "GeoModelInterfaces/IGeoDbTagSvc.h"
/** Constructor */
DetDescrDBEnvelopeSvc::DetDescrDBEnvelopeSvc(const std::string& name, ISvcLocator* svc) :
......@@ -94,6 +93,10 @@ StatusCode DetDescrDBEnvelopeSvc::initialize()
ATH_MSG_INFO("Initializing ...");
// retrieve DataBase access service
ServiceHandle<IGeoDbTagSvc> geoDbTag("GeoDbTagSvc",name());
ATH_CHECK(geoDbTag.retrieve());
m_dbAccess.setName(geoDbTag->getParamSvcName());
if ( m_dbAccess.retrieve().isFailure()) {
ATH_MSG_ERROR("Could not locate RDBAccessSvc");
if ( !enableFallback()) return StatusCode::FAILURE;
......@@ -255,7 +258,7 @@ StatusCode DetDescrDBEnvelopeSvc::retrieveRZBoundary( std::string &node,
double curR = (*recIt)->getDouble("R") * CLHEP::mm;
double curZ = (*recIt)->getDouble("Z") * CLHEP::mm;
// store (r,z) duplet locally
rzVec.push_back( RZPair(curR, curZ) );
rzVec.emplace_back(curR, curZ );
}
return StatusCode::SUCCESS;
......@@ -283,7 +286,7 @@ StatusCode DetDescrDBEnvelopeSvc::fallbackRZBoundary( FallbackDoubleVector &r,
double curR = r[pos];
double curZ = z[pos];
// store (r,z) duplet locally
rzVec.push_back( RZPair(curR, curZ) );
rzVec.emplace_back(curR, curZ );
}
return StatusCode::SUCCESS;
......
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
#
# CI test definitions for the AnalysisBase project
# --> README.md before you modify this file
#
#################################################################################
# CP Algorithms
#################################################################################
atlas_add_citest( CPAlgorithmsRun2Data_PHYS_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 2 --no-systematics --direct-driver )
atlas_add_citest( CPAlgorithmsRun2Data_PHYS_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 2 --no-systematics --text-config AnalysisAlgorithmsConfig/test_configuration_Run2.yaml )
atlas_add_citest( CPAlgorithmsRun2Data_PHYS_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun2Data_PHYS_Block/submitDir/data-ANALYSIS/data.root ../CPAlgorithmsRun2Data_PHYS_Text/submitDir/data-ANALYSIS/data.root
DEPENDS_SUCCESS CPAlgorithmsRun2Data_PHYS_Block CPAlgorithmsRun2Data_PHYS_Text )
atlas_add_citest( CPAlgorithmsRun3Data_PHYS_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 3 --no-systematics --direct-driver )
atlas_add_citest( CPAlgorithmsRun3Data_PHYS_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 3 --no-systematics --text-config AnalysisAlgorithmsConfig/test_configuration_Run3.yaml )
atlas_add_citest( CPAlgorithmsRun3Data_PHYS_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun3Data_PHYS_Block/submitDir/data-ANALYSIS/data.root ../CPAlgorithmsRun3Data_PHYS_Text/submitDir/data-ANALYSIS/data.root
DEPENDS_SUCCESS CPAlgorithmsRun3Data_PHYS_Block CPAlgorithmsRun3Data_PHYS_Text )
atlas_add_citest( CPAlgorithmsRun2FullSim_PHYS_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 2 --direct-driver )
atlas_add_citest( CPAlgorithmsRun2FullSim_PHYS_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 2 --text-config AnalysisAlgorithmsConfig/test_configuration_Run2.yaml )
atlas_add_citest( CPAlgorithmsRun2FullSim_PHYS_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun2FullSim_PHYS_Block/submitDir/data-ANALYSIS/fullsim.root ../CPAlgorithmsRun2FullSim_PHYS_Text/submitDir/data-ANALYSIS/fullsim.root
DEPENDS_SUCCESS CPAlgorithmsRun2FullSim_PHYS_Block CPAlgorithmsRun2FullSim_PHYS_Text )
atlas_add_citest( CPAlgorithmsRun3FullSim_PHYS_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 3 --direct-driver )
atlas_add_citest( CPAlgorithmsRun3FullSim_PHYS_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 3 --text-config AnalysisAlgorithmsConfig/test_configuration_Run3.yaml )
atlas_add_citest( CPAlgorithmsRun3FullSim_PHYS_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun3FullSim_PHYS_Block/submitDir/data-ANALYSIS/fullsim.root ../CPAlgorithmsRun3FullSim_PHYS_Text/submitDir/data-ANALYSIS/fullsim.root
DEPENDS_SUCCESS CPAlgorithmsRun3FullSim_PHYS_Block CPAlgorithmsRun3FullSim_PHYS_Text )
atlas_add_citest( CPAlgorithmsRun2FastSim_PHYS_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 2 --direct-driver )
atlas_add_citest( CPAlgorithmsRun2FastSim_PHYS_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 2 --text-config AnalysisAlgorithmsConfig/test_configuration_Run2.yaml )
atlas_add_citest( CPAlgorithmsRun2FastSim_PHYS_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun2FastSim_PHYS_Block/submitDir/data-ANALYSIS/fastsim.root ../CPAlgorithmsRun2FastSim_PHYS_Text/submitDir/data-ANALYSIS/fastsim.root
DEPENDS_SUCCESS CPAlgorithmsRun2FastSim_PHYS_Block CPAlgorithmsRun2FastSim_PHYS_Text )
atlas_add_citest( CPAlgorithmsRun3FastSim_PHYS_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 3 --direct-driver )
atlas_add_citest( CPAlgorithmsRun3FastSim_PHYS_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 3 --text-config AnalysisAlgorithmsConfig/test_configuration_Run3.yaml )
atlas_add_citest( CPAlgorithmsRun3FastSim_PHYS_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun3FastSim_PHYS_Block/submitDir/data-ANALYSIS/fastsim.root ../CPAlgorithmsRun3FastSim_PHYS_Text/submitDir/data-ANALYSIS/fastsim.root
DEPENDS_SUCCESS CPAlgorithmsRun3FastSim_PHYS_Block CPAlgorithmsRun3FastSim_PHYS_Text )
atlas_add_citest( CPAlgorithmsRun2Data_PHYSLITE_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 2 --physlite --no-systematics --direct-driver )
atlas_add_citest( CPAlgorithmsRun2Data_PHYSLITE_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 2 --physlite --no-systematics --text-config AnalysisAlgorithmsConfig/test_configuration_Run2.yaml )
atlas_add_citest( CPAlgorithmsRun2Data_PHYSLITE_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun2Data_PHYSLITE_Block/submitDir/data-ANALYSIS/data.root ../CPAlgorithmsRun2Data_PHYSLITE_Text/submitDir/data-ANALYSIS/data.root
DEPENDS_SUCCESS CPAlgorithmsRun2Data_PHYSLITE_Block CPAlgorithmsRun2Data_PHYSLITE_Text )
atlas_add_citest( CPAlgorithmsRun3Data_PHYSLITE_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 3 --physlite --no-systematics --direct-driver )
atlas_add_citest( CPAlgorithmsRun3Data_PHYSLITE_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 3 --physlite --no-systematics --text-config AnalysisAlgorithmsConfig/test_configuration_Run3.yaml )
atlas_add_citest( CPAlgorithmsRun3Data_PHYSLITE_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun3Data_PHYSLITE_Block/submitDir/data-ANALYSIS/data.root ../CPAlgorithmsRun3Data_PHYSLITE_Text/submitDir/data-ANALYSIS/data.root
DEPENDS_SUCCESS CPAlgorithmsRun3Data_PHYSLITE_Block CPAlgorithmsRun3Data_PHYSLITE_Text )
atlas_add_citest( CPAlgorithmsRun2FullSim_PHYSLITE_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 2 --physlite --direct-driver )
atlas_add_citest( CPAlgorithmsRun2FullSim_PHYSLITE_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 2 --physlite --text-config AnalysisAlgorithmsConfig/test_configuration_Run2.yaml )
atlas_add_citest( CPAlgorithmsRun2FullSim_PHYSLITE_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun2FullSim_PHYSLITE_Block/submitDir/data-ANALYSIS/fullsim.root ../CPAlgorithmsRun2FullSim_PHYSLITE_Text/submitDir/data-ANALYSIS/fullsim.root
DEPENDS_SUCCESS CPAlgorithmsRun2FullSim_PHYSLITE_Block CPAlgorithmsRun2FullSim_PHYSLITE_Text )
atlas_add_citest( CPAlgorithmsRun3FullSim_PHYSLITE_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 3 --physlite --direct-driver )
atlas_add_citest( CPAlgorithmsRun3FullSim_PHYSLITE_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 3 --physlite --text-config AnalysisAlgorithmsConfig/test_configuration_Run3.yaml )
atlas_add_citest( CPAlgorithmsRun3FullSim_PHYSLITE_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun3FullSim_PHYSLITE_Block/submitDir/data-ANALYSIS/fullsim.root ../CPAlgorithmsRun3FullSim_PHYSLITE_Text/submitDir/data-ANALYSIS/fullsim.root
DEPENDS_SUCCESS CPAlgorithmsRun3FullSim_PHYSLITE_Block CPAlgorithmsRun3FullSim_PHYSLITE_Text )
atlas_add_citest( CPAlgorithmsRun2FastSim_PHYSLITE_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 2 --physlite --direct-driver )
atlas_add_citest( CPAlgorithmsRun2FastSim_PHYSLITE_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 2 --physlite --text-config AnalysisAlgorithmsConfig/test_configuration_Run2.yaml )
atlas_add_citest( CPAlgorithmsRun2FastSim_PHYSLITE_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun2FastSim_PHYSLITE_Block/submitDir/data-ANALYSIS/fastsim.root ../CPAlgorithmsRun2FastSim_PHYSLITE_Text/submitDir/data-ANALYSIS/fastsim.root
DEPENDS_SUCCESS CPAlgorithmsRun2FastSim_PHYSLITE_Block CPAlgorithmsRun2FastSim_PHYSLITE_Text )
atlas_add_citest( CPAlgorithmsRun3FastSim_PHYSLITE_Block
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 3 --physlite --direct-driver )
atlas_add_citest( CPAlgorithmsRun3FastSim_PHYSLITE_Text
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 3 --physlite --text-config AnalysisAlgorithmsConfig/test_configuration_Run3.yaml )
atlas_add_citest( CPAlgorithmsRun3FastSim_PHYSLITE_Comparison
SCRIPT compareFlatTrees --require-same-branches analysis ../CPAlgorithmsRun3FastSim_PHYSLITE_Block/submitDir/data-ANALYSIS/fastsim.root ../CPAlgorithmsRun3FastSim_PHYSLITE_Text/submitDir/data-ANALYSIS/fastsim.root
DEPENDS_SUCCESS CPAlgorithmsRun3FastSim_PHYSLITE_Block CPAlgorithmsRun3FastSim_PHYSLITE_Text )
# special test for only nominal overlap removal
atlas_add_citest( CPAlgorithmsRun2FullSim_PHYS_OnlyNominalOR
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fullsim --run 2 --only-nominal-or --direct-driver )
atlas_add_citest( CPAlgorithmsRun3FastSim_PHYSLITE_OnlyNominalOR
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type fastsim --run 3 --physlite --only-nominal-or --direct-driver )
# this test is for testing that the algorithm monitors defined in EventLoop
# don't break a job of reasonable complexity. they are tested here instead of
# in the EventLoop package, because we have a much more complex payload here.
atlas_add_citest( CPAlgorithmsRun2Data_PHYS_Benchmark
SCRIPT FullCPAlgorithmsTest_eljob.py --data-type data --run 2 --no-systematics --direct-driver --algorithm-timer --algorithm-memory )
#################################################################################
# SUSYTools
#################################################################################
atlas_add_citest( SUSYTools_data18_PHYS
SCRIPT "SUSYToolsTester /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/SUSYTools/data18_13TeV.39757132_p6266.PHYS.pool.root maxEvents=500 isData=1 isAtlfast=0 Debug=0"
)
atlas_add_citest( SUSYTools_data22_PHYS
SCRIPT "SUSYToolsTester /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/SUSYTools/data22_13p6TeV.39672246_p6269.PHYS.pool.root maxEvents=1000 isData=1 isAtlfast=0 Debug=0"
)
atlas_add_citest( SUSYTools_mc20e_PHYS
SCRIPT "SUSYToolsTester /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/SUSYTools/DAOD_PHYS.mc20_13TeV.410470.FS_mc20e_p6266.PHYS.pool.root maxEvents=100 isData=0 isAtlfast=0 Debug=0 NoSyst=0 ilumicalcFile=GoodRunsLists/data18_13TeV/20190318/ilumicalc_histograms_None_348885-364292_OflLumi-13TeV-010.root"
)
atlas_add_citest( SUSYTools_mc23a_PHYS
SCRIPT "SUSYToolsTester /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/SUSYTools/mc23_13p6TeV.601229.FS_mc23a_p6266.PHYS.pool.root maxEvents=100 isData=0 isAtlfast=0 Debug=0 NoSyst=0 ilumicalcFile=GoodRunsLists/data22_13p6TeV/20230116/ilumicalc_histograms_None_431810-440613_OflLumi-Run3-002.root"
)
atlas_add_citest( SUSYTools_mc23a_PHYSLITE
SCRIPT "SUSYToolsTester /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/SUSYTools/mc23_13p6TeV.601229.FS_mc23a_p6266.PHYSLITE.pool.root maxEvents=100 isData=0 isAtlfast=0 Debug=0 NoSyst=0 ilumicalcFile=GoodRunsLists/data22_13p6TeV/20230116/ilumicalc_histograms_None_431810-440613_OflLumi-Run3-002.root"
)
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
#
# CI test definitions for the AthGeneration project
# --> README.md before you modify this file
#
atlas_add_citest( DuplicateClass
SCRIPT python -c 'import ROOT'
PROPERTIES FAIL_REGULAR_EXPRESSION "class .* is already in" )
atlas_add_citest( DuplicateComponent
SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/test/DuplicateComponentsCheck.py )
atlas_add_citest( Generation_PhPy8_13p6TeV
SCRIPT RunWorkflowTests_Run3.py --CI -g --dsid 421356 )
atlas_add_citest( Generation_H7_13p6TeV
SCRIPT RunWorkflowTests_Run3.py --CI -g --dsid 421106 )
atlas_add_citest( Generation_MGPy8_13p6TeV
SCRIPT RunWorkflowTests_Run3.py --CI -g --dsid 421107 )
atlas_add_citest( Generation_Sherpa_13p6TeV
SCRIPT RunWorkflowTests_Run3.py --CI -g --dsid 421003 )
atlas_add_citest( Generation_ParticleGun_13p6TeV
SCRIPT RunWorkflowTests_Run3.py --CI -g --dsid 421119 )
atlas_add_citest( Generation_JetFilter_13p6TeV
SCRIPT RunWorkflowTests_Run3.py --CI -g --dsid 421114 )
atlas_add_citest( Generation_PhPy8_13TeV
SCRIPT RunWorkflowTests_Run2.py --CI -g --dsid 421356 )
atlas_add_citest( Generation_PhPy8_14TeV
SCRIPT RunWorkflowTests_Run4.py --CI -g --dsid 421356 )
# CA Config
atlas_add_citest( Generation_CA_ParticleGun_13p6TeV
SCRIPT RunWorkflowTests_Run3.py --CI -g --dsid Test950555 -e '--CA True' )
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
#
# CI test definitions for the AthSimulation project
# --> README.md before you modify this file
#
atlas_add_citest( DuplicateClass
SCRIPT python -c 'import ROOT'
PROPERTIES FAIL_REGULAR_EXPRESSION "class .* is already in" )
atlas_add_citest( DuplicateComponent
SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/test/DuplicateComponentsCheck.py )
atlas_add_citest( SimulationRun2FullSim
SCRIPT RunWorkflowTests_Run2.py --CI -s -w FullSim --threads 4 -e '--maxEvents 10' --run-only
LOG_IGNORE_PATTERN "WARNING FPE" # ignore FPEs from Geant4
PROPERTIES PROCESSORS 4 )
atlas_add_citest( SimulationRun2FullSimChecks
SCRIPT RunWorkflowTests_Run2.py --CI -s -w FullSim --checks-only --output-path ../SimulationRun2FullSim
LOG_IGNORE_PATTERN "WARNING FPE" # ignore FPEs from Geant4
DEPENDS_SUCCESS SimulationRun2FullSim)
atlas_add_citest( SimulationRun3FullSim
SCRIPT RunWorkflowTests_Run3.py --CI -s -w FullSim --threads 4 -e '--maxEvents 50' --run-only
LOG_IGNORE_PATTERN "WARNING FPE" # ignore FPEs from Geant4
PROPERTIES PROCESSORS 4 )
atlas_add_citest( SimulationRun3FullSimChecks
SCRIPT RunWorkflowTests_Run3.py --CI -s -w FullSim --checks-only --output-path ../SimulationRun3FullSim
LOG_IGNORE_PATTERN "WARNING FPE" # ignore FPEs from Geant4
DEPENDS_SUCCESS SimulationRun3FullSim )
atlas_add_citest( SimulationRun3FullSimSQLiteGeo
SCRIPT RunWorkflowTests_Run3.py --CI -s -w FullSim -a s4454 --threads 4 -e '--maxEvents 50 --geometrySQLiteFullPath /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/Geometry/ATLAS-R3S-2021-03-02-00-DEV01.db' --run-only
LOG_IGNORE_PATTERN "WARNING FPE" # ignore FPEs from Geant4
PROPERTIES PROCESSORS 4 )
atlas_add_citest( SimulationRun3FullSimSQLiteGeoChecks
SCRIPT RunWorkflowTests_Run3.py --CI -s -w FullSim -a s4454 --checks-only --output-path ../SimulationRun3FullSimSQLiteGeo
LOG_IGNORE_PATTERN "WARNING FPE" # ignore FPEs from Geant4
DEPENDS_SUCCESS SimulationRun3FullSimSQLiteGeo )
atlas_add_citest( SimulationRun4FullSim
SCRIPT RunWorkflowTests_Run4.py --CI -s -w FullSim --threads 4 -e '--maxEvents 10' --run-only
LOG_IGNORE_PATTERN "WARNING FPE" # ignore FPEs from Geant4
PROPERTIES PROCESSORS 4 )
atlas_add_citest( SimulationRun4FullSimChecks
SCRIPT RunWorkflowTests_Run4.py --CI -s -w FullSim --checks-only --output-path ../SimulationRun4FullSim
LOG_IGNORE_PATTERN "WARNING FPE" # ignore FPEs from Geant4
DEPENDS_SUCCESS SimulationRun4FullSim )
atlas_add_citest( SimulationRun3HitsMergeWithSort
SCRIPT RunWorkflowTests_Run3.py --CI -s -w HitsMerge -e '--inputHITSFile ../../SimulationRun3FullSim/run_s4006/myHITS.pool.root' # go two levels up as the test runs in a subfolder
DEPENDS_SUCCESS SimulationRun3FullSim )
atlas_add_citest( SimulationRun3HitsFilter
SCRIPT RunWorkflowTests_Run3.py --CI -s -w HitsFilter -e '--maxEvents 10')
This diff is collapsed.
# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
#
# This package contains the CI test definitions that are run for each MR.
# The actual test definition can be found in separate <PROJECT>.cmake files.
#
# Declare the package name:
atlas_subdir( CITest )
# CI tests are disabled by default:
option( ATLAS_ENABLE_CI_TESTS "Set up tests in CITest package" OFF )
if( NOT ATLAS_ENABLE_CI_TESTS )
return()
endif()
# Include CI test utilities:
include( cmake/CITestFunctions.cmake )
# Include CI test definitions:
foreach( project Athena AnalysisBase AthGeneration AthSimulation )
# Detect project name for full and WorkDir builds:
# - ATLAS_PROJECT: set to parent project in WorkDir
# - CMAKE_PROJECT_NAME: project name in full builds
if( ATLAS_PROJECT STREQUAL ${project} OR CMAKE_PROJECT_NAME STREQUAL ${project} )
message( STATUS "Enabling CI tests for project ${project}" )
include( ${project}.cmake )
endif()
endforeach()
# Install scripts
atlas_install_runtime( scripts/*.sh )
Tests defined in this package are run for every merge request. Only experts should modify
these as they have a significant impact on the CI turnaround time.
[TOC]
# Running the tests
Once you have made the local modifications to the code that you wish to test, compile them locally alongside this package. Remain in the build directory. Individual tests can then be run by specifying the test name (supports regex):
```sh
ctest -R CITest_RecoRun2Data
```
or
```sh
ctest -R LuminosityCondAlgConfig_test
```
for a test defined in `LumiBlockComps/CMakeLists.txt` with the name `LuminosityCondAlgConfig_test`.
For builds involving several packages, tests can be selected/excluded using the "CITest" label:
```sh
ctest -L CITest # run all CI tests
ctest -LE CITest # run all tests, except CI tests
```
This runs the test job and compares the output with the reference file, whose locations are specified in the `CMakeLists.txt` file. The results of the test are written to a temporary directory as reported by the job's message to the command prompt. The output of the test job itself is embedded in this file and so the relevant lines can be extracted in case you need to update the reference file.
# Adding new tests
- Test are defined in separate files for each project (e.g. [`Athena.cmake`](Athena.cmake)).
- Tests should have a short self-explanatory name. Do not add the word "test" to the name itself.
- If tests depend on each other consider using a common basename and delimit the steps with an underscore,
e.g. `Muon_digi`, `Muon_reco`.
- Use the dedicated [`atlas_add_citest`](cmake/CITestFunctions.cmake) command for test definitions,
which is an extension of the regular [`atlas_add_test`](https://twiki.cern.ch/twiki/bin/view/AtlasComputing/SoftwareDevelopmentWorkBookCMakeInAtlas#atlas_add_test) command. It has a few extra arguments and sets
different defaults suitable for CI tests.
- Additional properties can be set using the `PROPERTIES` keyword. See the
[cmake documentation](https://cmake.org/cmake/help/latest/manual/cmake-properties.7.html#test-properties) for a full list.
**Simple tests** should be added inline:
```cmake
atlas_add_citest( q221
SCRIPT Reco_tf.py --AMI q221 )
```
For more **complex commands**, or **any command that contains a semicolon (`;`)** use a dedicated script.
Either one available within the release:
```cmake
atlas_add_citest( Digitization_NewConfig
SCRIPT DigitizationConfig_test.py )
```
or add a script to the [`test/`](test/) folder:
```cmake
atlas_add_citest( FastChain
SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/test/FastChain.sh )
```
For **MT/MP-tests**, add the number of required CPU cores (used for job scheduling):
```cmake
atlas_add_citest( ...
PROPERTIES PROCESSORS 8 )
```
Rather than matching the number of actual cores used, this number should reflect the
expected system load. E.g. if a job runs with 8 threads but the system load during running is
significant lower, one can reduce this number to allow other jobs to run in parallel.
## Test dependencies
**Test dependencies** can be declared via the `DEPENDS` (or `DEPENDS_SUCCESS`) keyword
(on one or multiple tests):
```cmake
atlas_add_citest( Test1 ... )
atlas_add_citest( Test2 ...
DEPENDS Test1...
)
```
Use `DEPENDS_SUCCESS` if the test should only run if the dependee(s) succeeded.
If used, `DEPENDS[_SUCCESS]` needs to be specified as the **last argument** of `atlas_add_citest`.
Additional requirements can be specified via e.g.
```cmake
PROPERTIES REQUIRED_FILES ../Test1/stamp.txt
```
to only run the test if the specified file is available. These tests then appear as "Not Run"
in the test summary (instead of "Failed"). Use a relative path to the other test's working directory.
## Post-processing
All tests defined with `atlas_add_citest` run a [default post-processing script](cmake/citest_post.sh.in)
that checks the log file for errors using [`noerror.sh`](../TestTools/).
An additional post-processing script can be specified with the
`POST_EXEC_SCRIPT` keyword. The overall test result will be the exit code of that
post-processing script! The original test result is stored in the
`${ATLAS_CTEST_TESTSTATUS}` environment variable and can be used in the post-processing
script if needed.
To temporarily ignore an error message, use:
```cmake
atlas_add_citest( ...
LOG_IGNORE_PATTERN "my error to ignore" )
```
New post-processing scripts should be made as general as possible and named as
[`test/checkXYZ.sh`](test/).
# Internals
- All tests are run in a separate working directory in the build area: `AtlasTest/CITest/CMakeFiles/ciTestRun/<test>/` where `<test>` is the name used in `atlas_add_citest`.
- The main test log file within the working directory is named `<test>.log`.
- If you want to verify the final command that is being run (useful e.g. to debug issues with quotes), check the content of `AtlasTest/CITest/test-bin/<test>.exe` in the build area.
- To avoid running the CI tests as part of the regular unit testing in the nightly build, the tests are disabled by default. To enable them (e.g. for CI builds), one has to configure with `cmake -DATLAS_ENABLE_CI_TESTS=TRUE ...`. This is done by default for partial `WorkDir` builds so a regular developer does not need to worry about this.