//-------------------------------------------------------------------------- // File and Version Information: // AppUserBuild.cc for stnmaker // (an executable building the standard ntuple) // // Description: // Class AppUserBuild. This class must be provided by the user of // the framework in order to build an application. It must define // the modules that are to form the basis of the application. // // Environment: // Software developed for the CDFII Detector. // // revision history: // ----------------- // *0001 Feb 14 2000 P.Murat: example of how to use STNTUPLE maker //------------------------------------------------------------------------ #include "Framework/APPUserBuild.hh" #include "FrameMods/F77InterfaceModule.hh" #include "FrameMods/addCDFrequiredModules.hh" // #include "RootObjs/Mc/TBgenerator.h" // #include "RootObjs/Mc/TPythia6.h" // #include "RootObjs/Mc/TVecbos.hh" // need to force `gEvent' and `gMcEvent' // to be loaded in #include "RootUtils/Utils/TCdfRoot.hh" #include "evt/Event.hh" #include "gnt/mc_event.hh" #include #include "FrameMods/YbosDiskFileInputModule.hh" #include "gntMods/InitModule.hh" #include "RootMods/ParticleFilterModule.hh" #include "RootMods/TEventDisplayModule.hh" #include "Stntuple/mod/InitStntupleModule.hh" #include "Stntuple/mod/FillStntupleModule.hh" #include "Stntuple/mod/StntupleMakerModule.hh" #include "Stntuple/mod/MyronModeFilterModule.hh" #include "Stntuple/mod/MyronModeAnaModule.hh" //----------------------------------------------------------------------------- // missing objects //----------------------------------------------------------------------------- #include #include #include #include //_____________________________________________________________________________ AppUserBuild::AppUserBuild(AppFramework* fwork): AppBuild(fwork) { AppModule* module; APPInputModule* input_module; APPOutputModule* output_module; //---------------------------------------------------------------------------- // force loading in necessary symbols //---------------------------------------------------------------------------- TCdfRoot::Instance(); // TPythia6* pyt = TPythia6::Instance(); // TVecbos* vec = TVecbos::Instance(); gMcEvent = 0; gEvent = 0; //----------------------------------------------------------------------------- // missing objects //----------------------------------------------------------------------------- VertexColl vertex_coll; UniverseRegion* region = new UniverseRegion(); GrowResultList* list = new GrowResultList(); ClcData* clc_data = new ClcData(); //----------------------------------------------------------------------------- // default set of modules //----------------------------------------------------------------------------- input_module = new YbosDiskFileInputModule(); add(input_module); addCDFrequiredModules(this); //----------------------------------------------------------------------------- // available filters for event generator output //----------------------------------------------------------------------------- module = new ParticleFilterModule(); add(module); module->setEnabled(false); //----------------------------------------------------------------------------- // global initialization modules (all enabled by default) //----------------------------------------------------------------------------- module = new F77InterfaceModule("F77_MODULE","Default Fortran Interface"); add(module); module->setEnabled(true); module = new INIT_MODULE(); add(module); module->setEnabled(true); //---------------------------------------------------------------------------- // "workers" //---------------------------------------------------------------------------- module = new MyronModeFilterModule(); add(module); module->setEnabled(false); //---------------------------------------------------------------------------- // as InitStntuple fills the default data blocks, it makes sense to place it // after the filter module - this saves some time //---------------------------------------------------------------------------- module = new InitStntupleModule(); add(module); module->setEnabled(false); module = new MyronModeAnaModule(); add(module); module->setEnabled(false); module = new FillStntupleModule(); add(module); module->setEnabled(false); //---------------------------------------------------------------------------- // event display module //---------------------------------------------------------------------------- module = new TEventDisplayModule(); add(module); module->setEnabled(false); } //-------------- // Destructor -- //-------------- AppUserBuild::~AppUserBuild( ) { }