Project

General

Profile

Task #23411

Create a new package/repository for protodune analysis

Added by Tingjun Yang 8 days ago. Updated 1 day ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
10/11/2019
Due date:
% Done:

0%

Estimated time:
Duration:

Description

We plan to create a new package/repository for protodune analysis. This new package will depends on dunetpc.

We will create a new redmine project first. Tom and I agreed on the name protoduneana.

History

#1 Updated by Thomas Junk 8 days ago

The redmine project protoduneana has been created and a repository of that name has been requested. it'll take a few minutes for the cron job to get around to making the repo. I have added Tingjun, Leigh, David, Gavin, and myself as managers. I will add the larsoft_users list (the hundreds-long list of developers of larsoft and dunetpc) as developers later when we are happy to let others push to it.

It is a subproject of dunetpc, following the larsoft and MicroBooNE examples.

Note to self -- we also need to update the Jenkins build script.

#2 Updated by Tingjun Yang 5 days ago

I added a CMakeLists.txt file and ups directory.However, when I tried to build it with dunetpc, I got the following error:

Determining if the pthread_create exist failed with the following output:
Change Dir: /data/tjyang/dune/larsoft/build_slf7.x86_64/CMakeFiles/CMakeTmp

Run Build Command(s):/cvmfs/larsoft.opensciencegrid.org/products/ninja/v1_8_2/Linux64bit+3.10-2.17/bin/ninja cmTC_f5159 
[1/2] Building C object CMakeFiles/cmTC_f5159.dir/CheckSymbolExists.c.o
[2/2] Linking C executable cmTC_f5159
FAILED: cmTC_f5159 
: && /cvmfs/larsoft.opensciencegrid.org/products/gcc/v7_3_0/Linux64bit+3.10-2.17/bin/gcc   -rdynamic CMakeFiles/cmTC_f5159.dir/CheckSymbolExists.c.o  -o cmTC_f5159
   && :
CMakeFiles/cmTC_f5159.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x16): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

#3 Updated by Thomas Junk 4 days ago

I found the repo had no master branch and executing mrb g produced a complaint about HEAD pointing to a nonexistent ref, even though .git/HEAD pointed to the develop branch. I created and pushed a master branch.

I also added cetbuildtools to the product_deps file and now the package builds without complaining about pthread.

#4 Updated by Tingjun Yang 3 days ago

Thomas Junk wrote:

I found the repo had no master branch and executing mrb g produced a complaint about HEAD pointing to a nonexistent ref, even though .git/HEAD pointed to the develop branch. I created and pushed a master branch.

I also added cetbuildtools to the product_deps file and now the package builds without complaining about pthread.

I have both dunetpc and protoduneana in my srcs directory and I still get the pthread error.

#5 Updated by Thomas Junk 3 days ago

This script works for me:

#!/bin/sh

LARSOFT_VERSION=v08_32_01
COMPILER=e17
DIRECTORY=protoduneanatest
USERNAME=`whoami`

source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh

cd /dune/app/users/${USERNAME}
touch ${DIRECTORY}
rm -rf ${DIRECTORY}
mkdir ${DIRECTORY}
cd ${DIRECTORY}
setup larsoft ${LARSOFT_VERSION} -q ${COMPILER}:prof
mrb newDev -q ${COMPILER}:prof
source /dune/app/users/${USERNAME}/${DIRECTORY}/localProducts*/setup
mkdir work
cd srcs

mrb g -d protoduneana protoduneana

cd $MRB_BUILDDIR
mrbsetenv
mrb i -j4

#6 Updated by Thomas Junk 3 days ago

I did find some things missing in the CMakeLists.txt file while trying to set it up. I already started down the road of splitting things. We should talk as to not duplicate effort.

#7 Updated by Tingjun Yang 3 days ago

I took a look files at the dunetpc/dune/Protodune and I think we need to keep all producer modules and data product definitions in dunetpc and only move analyzer modules to protoduneana. I think we need to at least keep the following directories:
singlephase/CRT
singlephase/CTB
singlephase/DetectorServices
singlephase/fcl
singlephase/RawDecoding
singlephase/Tool
singlephase/NearlineMonitor (?)
dualphase/fcl
dualphase/RawDecoding
dualphase/test

#8 Updated by Thomas Junk 2 days ago

I am testing a private build with the contents of Protodune/Analysis, PhysiscWeek, and TutorialExamples
moved to the new package -- I had to change some header paths. The T0Reco directory, not under Protodune, includes some protoduneana headers. Will think about what to do there. Is T0Reco just ProtoDUNE now, or is it also intended for FD?

#9 Updated by Thomas Junk 2 days ago

I set a deadline of next Weds, Oct 24, for analyzers to merge their feature branches.

#10 Updated by Leigh Whitehead 1 day ago

About the T0Reco directory, I'm not 100% sure, but I think the modules from Josh can happily move to the protoduneana repository. I think that in the FD we'll be using light and beam triggers so we should have a T0 for everything from just the trigger as the event rate is much lower?

#11 Updated by David Adams 1 day ago

Could we commit some code to the new package and add a new jenkins project to build the package so we can test the latter out in advance of next weeks release? We may later want project to build multiple packages but let's start with projects for the individual packages.

I propose to build dunetpc v08_32_02_01 with the code removed and protoduneana v08_32_02_01 adding the new code. The moved code should be something no one will miss or for which interested parties are willing to move right away to protoduneana. This is because that code will be gone from dunetpc develop.



Also available in: Atom PDF