Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Porting latest ITSU geometry from AliRoot v2 to O2 #383

Merged
merged 4 commits into from
Jun 14, 2017

Conversation

mario6829
Copy link
Contributor

New V3Layer geometry file created which contains the latest ITSU Inner Barrel description as ported from current AliRoot v2 version.

@alibuild
Copy link
Collaborator

Error while checking build/o2checkcode/o2-daq for cdd92434f60c2b6dbf28c33393e41ed18b92d2f0:

sw/BUILD/o2checkcode-latest/log
+ grep -v /G__ error-log.txt
+ grep -v .pb.cc
+ grep ' error:'
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/include/ITSSimulation/V3Layer.h:54:13: error: prefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:26:10: error: inclusion of deprecated C++ header 'stdio.h'; consider using 'cstdio' instead [modernize-deprecated-headers]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:365:41: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:409:41: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:468:30: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:611:29: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:647:10: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:1043:29: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:1553:10: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:1811:41: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:1901:29: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/src/V3Layer.cxx:1922:10: error: use nullptr [modernize-use-nullptr]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/include/ITSSimulation/V3Layer.h:54:13: error: prefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]
/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0/Detectors/ITSMFT/ITS/simulation/include/ITSSimulation/V3Layer.h:54:13: error: prefer using 'override' or (rarely) 'final' instead of 'virtual' [modernize-use-override]
+ exit 1sw/BUILD/O2-latest/log
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/QCViewer/ViewerDevice.h
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/runQCViewerDevice
-- Set runtime path of "/mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/runQCViewerDevice" to ""
-- Up-to-date: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libQCViewer.so
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libQCMetricsExtractor.so
-- Set runtime path of "/mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libQCMetricsExtractor.so" to ""
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/QCMetricsExtractor
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/QCMetricsExtractor/MetricsExtractor.h
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/runQCMetricsExtractor
-- Set runtime path of "/mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/runQCMetricsExtractor" to ""
-- Up-to-date: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libQCMetricsExtractor.so
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libDataFlow.so
-- Set runtime path of "/mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libDataFlow.so" to ""
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/DataFlow
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/DataFlow/SubframeBuilderDevice.h
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/DataFlow/TimeframeValidatorDevice.h
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/DataFlow/EPNReceiverDevice.h
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/DataFlow/HeartbeatSampler.h
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/include/DataFlow/FLPSenderDevice.h
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/heartbeatSampler
-- Set runtime path of "/mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/heartbeatSampler" to ""
-- Up-to-date: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libDataFlow.so
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/SubframeBuilderDevice
-- Set runtime path of "/mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/SubframeBuilderDevice" to ""
-- Up-to-date: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libDataFlow.so
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/TimeframeValidatorDevice
-- Set runtime path of "/mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/TimeframeValidatorDevice" to ""
-- Up-to-date: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libDataFlow.so
-- Installing: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/EPNReceiverDevice
-- Set runtime path of "/mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/bin/EPNReceiverDevice" to ""
-- Up-to-date: /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/lib/libDataFlow.so

Full log here.

@sawenzel
Copy link
Collaborator

@iouribelikov : Can you take a look at this?

@@ -306,7 +308,7 @@ class Detector : public o2::Base::Detector
GeometryHandler *mGeometryHandler;
MisalignmentParameter *mMisalignmentParameter;

V1Layer **mGeometry; //! Geometry
V3Layer **mGeometry; //! Geometry
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would it be feasible to use stl containers here? Is there any strong reason to stay with **?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I apologize for my lack of experience: could you please suggest me what I should improve here ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably you want to express something like array of V3Layers. So, I am wondering if we could use something like std::vector<V3Layer*> or std::vector<unique_ptr<V3Layer>> or similar. We can possibly address this in a separate improvement PR.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sawenzel I agree with you, Sandro...
In fact, if we look at the data member declarations inside Detector.h, we will find about 15 similar cases more: raw pointers to some arrays allocated later with "new". They would call for a similar improvement as well. Moreover, all those array are actually of a known size, which is 7 (the number of layers, frozen now). Potentially, we could use also this fact to simplify our geometry code even more.

Doing it in a clean way may take quite some additional time. The changes would be important from the code maintenance point of view, and at the end, they would still result in the same "geometry tree".

So, I think, we should do it in a separate (maybe not even immediately next) PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So if I understand correctly, this can be left as it is for the time being, and then I'll produce an updated version of the code using the proper STL coding and submit a second pull request: am I right ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mario6829 Hi Mario. I would say, yes, let's do these STL-related changes in a separate, self-consistent PR.

Copy link
Collaborator

@matthiasrichter matthiasrichter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use ClassDefOverride, a few more comments between the lines.

@@ -26,12 +26,12 @@ namespace o2 { namespace ITSMFT { class Point; }} // lines 22-22
namespace o2 { namespace ITS { class GeometryHandler; }}
namespace o2 { namespace ITS { class MisalignmentParameter; }}
namespace o2 { namespace ITS { class GeometryTGeo; }}
namespace o2 { namespace ITS { class V1Layer; }} // lines 23-23
namespace o2 { namespace ITS { class V3Layer; }} // lines 23-23
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does the comment actually mean? If it is where in the code the class is used, it is quickly going to be out of sync. And it is probably already

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I apologize for my lack of experience: could you please suggest me what I should improve here ?

Copy link
Collaborator

@sawenzel sawenzel May 30, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @matthiasrichter is referring to the comments // lines 23-23. Indeed they don't carry much information and the line numbers are likely to be out of sync. So I would just remove them.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ops, sorry, I thought something more C++ in-deep :)
I took out all obsolete/out of sync comments.

if (mStaveThickness[j] != 0) {
mGeometry[j]->setStaveThick(mStaveThickness[j]);
if (mChipThickness[j] != 0) {
mGeometry[j]->setChipThick(mChipThickness[j]);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the V1Layer class supposed to work with this as well? Then the function SetStaveThickness must be renamed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The V1Layer class is obsolete and will never be used. Anyway if you think it is better, I can re-implement the deleted member and its Setter/Getter, but they won't be used anywhere.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably this is not necessary.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, then it is probably not necessary, I would even go further and remove the v1 class from the repository

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussing this in the PWG1&2 it turned out to leave the V1 class as a reference at least for some time. Moreover, as Yura pointed out, it could be used again in the future to study a sort of "super-upgraded" version of the ITS. I would leave it for a while in the repository if it is not a problem.

static const Double_t sOBSFBotBeamAngle; ///< OB SF bottom beam angle
static const Double_t sOBSFrameBeamSidePhi; ///< OB SF side beam angle

ClassDef(V3Layer, 0) // ITS v3 geometry
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please use ClassDefOverride here (there should be a compiler warning about that)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. We need to use ClassDefOverride consistently from now on.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed ClassDef with ClassDefOverride, please let me know if it is ok.

}
}

V3Layer::V3Layer(Int_t lay, Bool_t turbo, Int_t debug)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consider reordering the parameters like

V3Layer::V3Layer(Int_t debug, Bool_t turbo, Int_t lay)

that leaves the debug parameter at the same position, default values can be defined and the constructors can be combined.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I followed your suggestion and I got rid of all constructors but the most complete one, and I added default values for its parameters in its definition in V3Layer.h file. Please let me know if it is ok.

}

V3Layer::V3Layer(const V3Layer &s)
: V11Geometry(s.getDebug()),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the compiler can do a good job here, if nothing special is needed it's better to define the copy ctor and assignment operator in the header file like

V3Layer(const V3Layer &) = default;
V3Layer & operator=(const V3Layer &) = default;

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got rid of my implementation of copy and assignment constructors, and used "default" in V3Layer.h, please let me know if it is ok.

@mario6829
Copy link
Contributor Author

Many thanks for your comments. Please see my replies to your request.

@@ -0,0 +1,449 @@
/// \file AliITSUv1Layer.cxx
/// \brief Definition of the AliITSUv1Layer class
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the name is probably out of sync (should it be v3 instead of v1)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yup, right. I fixed it putting the proper comment

@@ -5,6 +5,7 @@ O2_SETUP(NAME ${MODULE_NAME})
set(SRCS
src/V11Geometry.cxx
src/V1Layer.cxx
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If V1Layer is not used anymore, consider removing the file completely.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sawenzel There was kind of an additional consideration (Ruben might know it better)...
At some point, we may be asked to do simulations for so called "super-upgrade". Because they are much less detailed, the old geometry classes (like V1Layer) are more easy to adapt for the super-upgrade purposes. So, I would keep the old stuff in the repository.

However, true, we my consider removing the references to these classes from the CMakeLists, LinkDefs, etc. For the moment at least.

Copy link
Collaborator

@iouribelikov iouribelikov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mario6829 Sorry, Mario. When I try to run the new geometry inside the standard test (which uses run_sim_its_ALP3.C macro), I get a FATAL complaining about "Stave model 4 obsolete and no longer supported".
Should not something trivial be fixed inside the "central" macro/run_sim_its_ALP3.C ?

@alibuild
Copy link
Collaborator

alibuild commented Jun 1, 2017

Error while checking build/o2checkcode/o2-daq for 20e2e28:

sw/BUILD/O2-latest/log
+ mkdir -p /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/etc/modulefiles
+ rsync -a --delete etc/modulefiles/ /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/etc/modulefiles
+ cp /mnt/mesos/sandbox/sandbox/sw/BUILD/eff886d1b3909e0087cb93e66755cb6a3fab6f7e/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1
++ readlink /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0
+ DEVEL_SOURCES=/mnt/mesos/sandbox/sandbox/O2
+ '[' /mnt/mesos/sandbox/sandbox/O2 '!=' /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0 ']'
+ perl -p -i -e 's|/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0|/mnt/mesos/sandbox/sandbox/O2|' compile_commands.json
+ ln -sf /mnt/mesos/sandbox/sandbox/sw/BUILD/eff886d1b3909e0087cb93e66755cb6a3fab6f7e/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/O2/compile_commands.json
+ [[ -n 1 ]]
+ make test
Running tests...
Test project /mnt/mesos/sandbox/sandbox/sw/BUILD/eff886d1b3909e0087cb93e66755cb6a3fab6f7e/O2
      Start  1: testMessageList
 1/17 Test  #1: testMessageList ..................   Passed    0.00 sec
      Start  2: testDataHeader
 2/17 Test  #2: testDataHeader ...................   Passed    0.45 sec
      Start  3: testTimeStamp
 3/17 Test  #3: testTimeStamp ....................   Passed    0.44 sec
      Start  4: testBasicHits
 4/17 Test  #4: testBasicHits ....................   Passed    0.72 sec
      Start  5: TimeFrameTest
 5/17 Test  #5: TimeFrameTest ....................   Passed    0.84 sec
      Start  6: testTPCBase
 6/17 Test  #6: testTPCBase ......................   Passed    0.49 sec
      Start  7: testTPCCalDet
 7/17 Test  #7: testTPCCalDet ....................   Passed    0.87 sec
      Start  8: testTPCMapper
 8/17 Test  #8: testTPCMapper ....................   Passed    0.40 sec
      Start  9: testTPCSyncPatternMonitor
 9/17 Test  #9: testTPCSyncPatternMonitor ........   Passed    0.49 sec
      Start 10: testTPCAdcClockMonitor
10/17 Test #10: testTPCAdcClockMonitor ...........   Passed    0.56 sec
      Start 11: testTPCElectronTransport
11/17 Test #11: testTPCElectronTransport .........   Passed    0.74 sec
      Start 12: testTPCGEMAmplification
12/17 Test #12: testTPCGEMAmplification ..........   Passed   29.49 sec
      Start 13: testTPCSimulation
13/17 Test #13: testTPCSimulation ................   Passed    0.43 sec
      Start 14: testExampleModule1
14/17 Test #14: testExampleModule1 ...............   Passed    0.01 sec
      Start 15: testMessageFormat
15/17 Test #15: testMessageFormat ................   Passed    0.42 sec
      Start 16: O2MessageMonitorTest
16/17 Test #16: O2MessageMonitorTest .............   Passed    0.46 sec
      Start 17: test_TimeframeParser
17/17 Test #17: test_TimeframeParser .............   Passed    0.44 sec

100% tests passed, 0 tests failed out of 17

Full log here.

@mario6829
Copy link
Contributor Author

Hello, I apologize for the delay, for more than a week I wasn't able to compile. I fixed what you required, please see my replies to your comments for details.

@mario6829
Copy link
Contributor Author

Hi Yura, I fixed the run_sim_its_ALP3.C macro so as to use the latest geometry version, should be ok now.

@alibuild
Copy link
Collaborator

Error while checking build/o2checkcode/o2-daq for e64cf21:

sw/BUILD/O2-latest/log
+ mkdir -p /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/etc/modulefiles
+ rsync -a --delete etc/modulefiles/ /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1/etc/modulefiles
+ cp /mnt/mesos/sandbox/sandbox/sw/BUILD/eff886d1b3909e0087cb93e66755cb6a3fab6f7e/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/sw/slc7_x86-64/O2/0_O2_DAQ-1
++ readlink /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0
+ DEVEL_SOURCES=/mnt/mesos/sandbox/sandbox/O2
+ '[' /mnt/mesos/sandbox/sandbox/O2 '!=' /mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0 ']'
+ perl -p -i -e 's|/mnt/mesos/sandbox/sandbox/sw/SOURCES/O2/0_O2_DAQ/0|/mnt/mesos/sandbox/sandbox/O2|' compile_commands.json
+ ln -sf /mnt/mesos/sandbox/sandbox/sw/BUILD/eff886d1b3909e0087cb93e66755cb6a3fab6f7e/O2/compile_commands.json /mnt/mesos/sandbox/sandbox/O2/compile_commands.json
+ [[ -n 1 ]]
+ make test
Running tests...
Test project /mnt/mesos/sandbox/sandbox/sw/BUILD/eff886d1b3909e0087cb93e66755cb6a3fab6f7e/O2
      Start  1: testMessageList
 1/17 Test  #1: testMessageList ..................   Passed    0.00 sec
      Start  2: testDataHeader
 2/17 Test  #2: testDataHeader ...................   Passed    0.48 sec
      Start  3: testTimeStamp
 3/17 Test  #3: testTimeStamp ....................   Passed    0.61 sec
      Start  4: testBasicHits
 4/17 Test  #4: testBasicHits ....................   Passed    0.63 sec
      Start  5: TimeFrameTest
 5/17 Test  #5: TimeFrameTest ....................   Passed    0.73 sec
      Start  6: testTPCBase
 6/17 Test  #6: testTPCBase ......................   Passed    0.49 sec
      Start  7: testTPCCalDet
 7/17 Test  #7: testTPCCalDet ....................   Passed    1.15 sec
      Start  8: testTPCMapper
 8/17 Test  #8: testTPCMapper ....................   Passed    0.43 sec
      Start  9: testTPCSyncPatternMonitor
 9/17 Test  #9: testTPCSyncPatternMonitor ........   Passed    0.59 sec
      Start 10: testTPCAdcClockMonitor
10/17 Test #10: testTPCAdcClockMonitor ...........   Passed    0.55 sec
      Start 11: testTPCElectronTransport
11/17 Test #11: testTPCElectronTransport .........   Passed    0.84 sec
      Start 12: testTPCGEMAmplification
12/17 Test #12: testTPCGEMAmplification ..........   Passed   29.61 sec
      Start 13: testTPCSimulation
13/17 Test #13: testTPCSimulation ................   Passed    0.56 sec
      Start 14: testExampleModule1
14/17 Test #14: testExampleModule1 ...............   Passed    0.01 sec
      Start 15: testMessageFormat
15/17 Test #15: testMessageFormat ................   Passed    0.44 sec
      Start 16: O2MessageMonitorTest
16/17 Test #16: O2MessageMonitorTest .............   Passed    0.45 sec
      Start 17: test_TimeframeParser
17/17 Test #17: test_TimeframeParser .............   Passed    0.54 sec

100% tests passed, 0 tests failed out of 17

Full log here.

@mario6829
Copy link
Contributor Author

I added the copyright note to the new files as required by failing test (though all other already existing files seem not to contain it)

@iouribelikov
Copy link
Collaborator

Hello everybody,

Shall we now merge this pull request ?

Cheers,
Iouri

@sawenzel
Copy link
Collaborator

@iouribelikov : If you are fine with it ... we can proceed. Are you going to keep track of the idea of code modernization somewhere? Please still make a tick in your review part (you need to approve).

@iouribelikov
Copy link
Collaborator

@sawenzel Approved !
Now concerning the code modernization, should we open a "github issue" ?
Or, what would the best way to track it ?

@sawenzel
Copy link
Collaborator

Thanks for these improvements. Merging.

@sawenzel sawenzel merged commit 2bb5799 into AliceO2Group:dev Jun 14, 2017
@sawenzel
Copy link
Collaborator

sawenzel commented Jun 14, 2017 via email

@iouribelikov
Copy link
Collaborator

@sawenzel @mario6829 Done: #414

knopers8 pushed a commit to knopers8/AliceO2 that referenced this pull request Sep 7, 2020
* Clarify doc for reading raw data

* Update QuickStart.md
mbroz84 pushed a commit to mbroz84/AliceO2 that referenced this pull request Mar 16, 2022
- Add event selection
- Add Y dependent efficiency
- Add TOF efficiency
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants