Babar/CM2 A-to-Z at Manchester

James Werner

Main Module Application


The module which connects all other modules is AppUserBuild.cc for CM2 and AppMicroBuild.cc for Classical Kanga.

AppMicroBuild.cc - Classical Kanga


      1   //--------------------------------------------------------------------------
      2   //     Programming in Babar CM2 - Number of tracks
      3   //------------------------------------------------------------------------
      4
      5   #include "BaBar/BaBar.hh"
      6   #include "Framework/APPUserBuild.hh"
      7   #include "BetaSequences/BtaAppBuild.hh"
      8   #include "BetaSequences/BtaAppBuild.icc"
      9
     10   //----------------------------------------------
     11   // include files for analysis modules --
     12   //----------------------------------------------
     13
     14   // Number of Tracks module
     15   #include "BetaMiniUser/NTrk.hh"
     16   #include "BetaMiniUser/MomEnH.hh"
     17   #include "BetaMiniUser/EnPBip.hh"
     18   #include "BetaMiniUser/PEntp.hh"
     19   #include "BetaMiniUser/colPEntp.hh"
     20   #include "BetaMiniUser/LisEvt.hh"
     21   #include "BetaMiniUser/verMCTruth.hh"
     22   #include "BetaMiniUser/recoevt.hh"
     23   #include "BetaMiniUser/recodata.hh"
     24
     25   //-----------------------------------------------------------------------
     26   // Local Macros, Typedefs, Structures, Unions and Forward Declarations --
     27   //-----------------------------------------------------------------------
     28
     29   //----------------
     30   // Constructors --
     31   //----------------
     32
     33   AppUserBuild::AppUserBuild( AppFramework* theFramework )
     34       : AppBuild( theFramework )
     35   {
     36     // Setup data source
     37     BtaAppBuild(this,theFramework);
     38
     39     // Number of Tracks Module
     40     add( new NTrk( "NTrk", "NTrk"));
     41     add( new MomEnH( "MomEnH" , "MomEnH" ));
     42     add( new EnPBip( "EnPBip" , "EnPBip" ));
     43     add( new PEntp( "PEntp" , "PEntp" ));
     44     add( new colPEntp( "colPEntp" , "colPEntp" ));
     45     add( new LisEvt( "LisEvt" , "LisEvt" ));
     46     add( new verMCTruth( "verMCTruth" , "verMCTruth" ));
     47     add( new recoevt( "recoevt" , "recoevt" ));
     48     add( new recodata( "recodata" , "recodata" ));
     49   }
     50
     51   //--------------
     52   // Destructor --
     53   //--------------
     54
     55   AppUserBuild::~AppUserBuild( )
     56   {
     57   }

[Download Source Code.]

AppUserBuild.cc - CM2


      1   //--------------------------------------------------------------------------
      2   //      Programming with Babar CM2
      3   //------------------------------------------------------------------------
      4
      5   #include "BaBar/BaBar.hh"
      6   #include <iostream.h>
      7   #include "Framework/APPUserBuild.hh"
      8   #include "Framework/APPFramework.hh"
      9   #include "BetaMiniSequences/BetaMiniSequence.hh"
     10   #include "BetaMiniSequences/BetaMiniActions.hh"
     11   #include "BetaMiniSequences/BetaMiniPhysicsSequence.hh"
     12   //#include "BetaMiniQA/BetaMiniQaSequence.hh"
     13
     14   // Number of Tracks module
     15   #include "BetaMiniUser/NTrk.hh"
     16   #include "BetaMiniUser/MomEnH.hh"
     17   #include "BetaMiniUser/EnPBip.hh"
     18   #include "BetaMiniUser/PEntp.hh"
     19   #include "BetaMiniUser/colPEntp.hh"
     20   #include "BetaMiniUser/LisEvt.hh"
     21   #include "BetaMiniUser/verMCTruth.hh"
     22   #include "BetaMiniUser/recoevt.hh"
     23   #include "BetaMiniUser/recodata.hh"
     24   #include "BetaMiniUser/pi0roject.hh"
     25
     26   //-----------------------------------------------------------------------
     27   // Local Macros, Typedefs, Structures, Unions and Forward Declarations --
     28   //-----------------------------------------------------------------------
     29
     30   //----------------
     31   // Constructors --
     32   //----------------
     33
     34   AppUserBuild::AppUserBuild( AppFramework* theFramework )
     35       : AppBuild( theFramework )
     36   {
     37     // core sequence
     38     BetaMiniSequence(this);
     39
     40     // actions
     41     BetaMiniActions(theFramework);
     42
     43     // QA sequence
     44     //BetaMiniQaSequence(this);
     45
     46     // minimilist physics sequence
     47     BetaMiniPhysicsSequence(this);
     48
     49     // Number of Tracks Module
     50     add( new NTrk( "NTrk", "NTrk"));
     51     add( new MomEnH( "MomEnH", "MomEnH" ));
     52     add( new EnPBip( "EnPBip", "EnPBip" ));
     53     add( new PEntp( "PEntp" , "PEntp" ));
     54     add( new colPEntp( "colPEntp" , "colPEntp" ));
     55     add( new LisEvt( "LisEvt" , "LisEvt" ));
     56     add( new verMCTruth( "verMCTruth" , "verMCTruth" ));
     57     add( new recoevt( "recoevt" , "recoevt" ));
     58     add( new recodata( "recodata" , "recodata" ));
     59     add( new pi0roject( "pi0roject" , "pi0roject" ));
     60   }
     61
     62   //--------------
     63   // Destructor --
     64   //--------------
     65
     66   AppUserBuild::~AppUserBuild( )
     67   {
     68   }

[Download Source Code.]

Compiling and Linking.

Everytime the source code is altered, the binary needs to be generated again.


  cd PgmCM2
  gmake clean
  gmake lib

If you are working with CM2:


  gmake BetaMiniUser.bin

and if you are working with classical Kanga:


  gmake BetaUser.bin
Top

Last modified:
Copyright 2004 Manchester University
Feedback to: jamwer@hep.man.ac.uk