-// Config file test for MUON spectormeter
-// Remember to define the directory and option
-// gAlice->SetConfigFunction("Config('$HOME','box');");
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * *
+ * Author: The ALICE Off-line Project. *
+ * Contributors are mentioned in the code where appropriate. *
+ * *
+ * Permission to use, copy, modify and distribute this software and its *
+ * documentation strictly for non-commercial purposes is hereby granted *
+ * without fee, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission notice *
+ * appear in the supporting documentation. The authors make no claims *
+ * about the suitability of this software for any purpose. It is *
+ * provided "as is" without express or implied warranty. *
+ **************************************************************************/
+
+/* $Id$ */
+
+/// \ingroup macros
+/// \file Config.C
+/// \brief Configuration macro for MUON spectormeter simulation
+///
+/// Remember to define the directory and event generator option:
+///
+/// gAlice->SetConfigFunction("Config('$HOME','box');");
void Config(char directory[100]="", char option[6]="param", const char* digitstore="AliMUONDigitStoreV2S")
{
/* $Id$ */
-// A. De Falco, H. Woehri, INFN Cagliari, July 2006
-// This macro reads the generation/reconstruction files in the
-// input directories (recodir and simdir),
-// builds a tree that contains, for each event, an array of muons and dimuons
-// (TClonesArrays of AliMUONTrackLight and AliMUONPairLight objects)
-// and writes the tree in an output file (outFileName)
-// Note that if the path for the output file is not explicitly specified,
-// it will be written in the directory containing the generation/reconstruction
-// 27-Nov-2006: modified by in order to loop on files
-
-// 13 Nov 2007:
-// Updated this macro to work with new version of AliMUONRecoCheck. Also, we are
-// now fetching reconstructed track data from ESD and not the track tree, because
-// the AliMUONTrack objects for reconstructed tracks are no longer stored on disk.
-// - Artur Szostak <artursz@iafrica.com>
+/// \ingroup macros
+/// \file DecodeRecoCocktail.C
+/// \brief add brief description
+///
+/// \author A. De Falco, H. Woehri, INFN Cagliari, July 2006
+///
+/// This macro reads the generation/reconstruction files in the
+/// input directories (recodir and simdir),
+/// builds a tree that contains, for each event, an array of muons and dimuons
+/// (TClonesArrays of AliMUONTrackLight and AliMUONPairLight objects)
+/// and writes the tree in an output file (outFileName)
+/// Note that if the path for the output file is not explicitly specified,
+/// it will be written in the directory containing the generation/reconstruction
+/// 27-Nov-2006: modified by in order to loop on files
+///
+/// 13 Nov 2007:
+/// Updated this macro to work with new version of AliMUONRecoCheck. Also, we are
+/// now fetching reconstructed track data from ESD and not the track tree, because
+/// the AliMUONTrack objects for reconstructed tracks are no longer stored on disk.
+/// - Artur Szostak <artursz@iafrica.com>
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
char* geoFilename = "geometry.root" // The filename containing the geometry.
)
{
+/// \param recodir The directory containing galice.root for reconstructed data.
+/// \param simdir The directory containing galice.root for simulated data.
+/// \param outFileName The output filename containing AliMUONTrackLight and AliMUONPairLight objects.
+/// \param geoFilename The filename containing the geometry.
+
char startingDir[200];
sprintf (startingDir,"%s",gSystem->pwd());
gSystem->cd(recodir);
/* $Id$ */
-// ---
-// Macro for MUON alignment using physics tracks. The macro uses AliMUONAlignment
-// class to calculate the alignment parameters.
-// An array for the alignment parameters is created and can be filled with
-// initial values that will be used as starting values by the alignment
-// algorithm.
-// Ny default the macro run over galice.root in the working directory. If a file list
-// of galice.root is provided as third argument the macro will run over all files.
-// The macro loop over the files, events and tracks. For each track
-// AliMUONAlignment::ProcessTrack(AliMUONTrack * track) and then
-// AliMUONAlignment::LocalFit(Int_t iTrack, Double_t *lTrackParam, Int_t
-// lSingleFit) are called. After all tracks have been procesed and fitted
-// AliMUONAlignment::GlobalFit(Double_t *parameters,Double_t *errors,Double_t *pulls)
-// is called. The array parameters contains the obatained misalignement parameters.
-// A realigned geometry is generated in a local CDB.
-//
-// Authors: B. Becker and J. Castillo
-// ---
+/// \ingroup macros
+/// \file MUONAlignment.C
+/// \brief Macro for MUON alignment using physics tracks.
+///
+/// The macro uses the AliMUONAlignment class to calculate the alignment parameters.
+/// An array for the alignment parameters is created and can be filled with
+/// initial values that will be used as starting values by the alignment
+/// algorithm.
+///
+/// By default the macro run over galice.root in the working directory. If a file list
+/// of galice.root is provided as third argument the macro will run over all files.
+/// The macro loop over the files, events and tracks. For each track
+/// AliMUONAlignment::ProcessTrack(AliMUONTrack * track) and then
+/// AliMUONAlignment::LocalFit(Int_t iTrack, Double_t *lTrackParam, Int_t
+/// lSingleFit) are called. After all tracks have been procesed and fitted
+/// AliMUONAlignment::GlobalFit(Double_t *parameters,Double_t *errors,Double_t *pulls)
+/// is called. The array parameters contains the obatained misalignement parameters.
+/// A realigned geometry is generated in a local CDB.
+///
+/// \author: B. Becker and J. Castillo
#if !defined(__CINT__) || defined(__MAKECINT__)
/* $Id$ */
-// Macro for data quality control
-//
-// Author: Frederic Yermia, INFN Torino
+/// \ingroup macros
+/// \file MUONCheck.C
+/// \brief Macro for data quality control
+///
+/// \author: Frederic Yermia, INFN Torino
#if !defined(__CINT__) || defined(__MAKECINT__)
/* $Id$ */
-//
-// Macro for checking AliMUONDataInterface and AliMUONMCDataInterface.
-// By Bruce Becker, DAPNIA/SPhN/CEA Saclay
-//
-// Modified to updated versions of data interfaces.
-// Artur Szostak <artursz@iafrica.com> (University of Cape Town)
-//
+/// \ingroup macros
+/// \file MUONCheckDI.C
+/// \brief Macro for checking AliMUONDataInterface and AliMUONMCDataInterface.
+///
+/// \author Bruce Becker, DAPNIA/SPhN/CEA Saclay
+///
+/// Modified to updated versions of data interfaces
+/// by Artur Szostak <artursz@iafrica.com> (University of Cape Town)
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliMUONHit.h"
/* $Id$ */
-/*
- MUONCheckMisAligner:
-
- This macro performs the misalignment on an existing muon arm geometry
- based on the standard definition of the detector elements in
- $ALICE_ROOT/MUON/data
-
- It uses AliMUONGeometryAligner :
- --> creates a new AliMUONGeometryTransformer and AliMUONGeometryAligner
- --> reads the transformations in from the transform.dat file (make sure that
- this file is the _standard_ one by comparing it to the one in CVS)
- --> creates a second AliMUONGeometryTransformer by misaligning the existing
- one using AliMUONAligner::MisAlign
- --> User has to specify the magnitude of the alignments, in the Cartesian
- co-ordiantes (which are used to apply translation misalignments) and in the
- spherical co-ordinates (which are used to apply angular displacements)
- --> User can also set misalignment ranges by hand using the methods :
- SetMaxCartMisAlig, SetMaxAngMisAlig, SetXYAngMisAligFactor
- (last method takes account of the fact that the misalingment is greatest in
- the XY plane, since the detection elements are fixed to a support structure
- in this plane. Misalignments in the XZ and YZ plane will be very small
- compared to those in the XY plane, which are small already - of the order
- of microns)
- --> Default behavior generates a "residual" misalignment using gaussian
- distributions. Uniform distributions can still be used, see
- AliMUONGeometryAligner.
- --> User can also generate module misalignments using SetModuleCartMisAlig
- and SetModuleAngMisAlig
- Note : If the detection elements are allowed to be misaligned in all
- directions, this has consequences for the alignment algorithm, which
- needs to know the number of free parameters. Eric only allowed 3 :
- x,y,theta_xy, but in principle z and the other two angles are alignable
- as well.
-
-// Author:Bruce Becker
-
-*/
+/// \ingroup macros
+/// \file MUONCheckMisAligner.C
+/// \brief This macro performs the misalignment on an existing muon arm geometry
+///
+/// This macro performs the misalignment on an existing muon arm geometry
+/// based on the standard definition of the detector elements in
+/// the AliMUONGeometryTransformer class.
+///
+/// It uses AliMUONGeometryMisAligner :
+/// - Creates a new AliMUONGeometryTransformer and AliMUONGeometryMisAligner
+/// - Reads the transformations in from the transform.dat file (make sure that
+/// this file is the _standard_ one by comparing it to the one in CVS)
+/// - Creates a second AliMUONGeometryTransformer by misaligning the existing
+/// one using AliMUONGeometryMisAligner::MisAlign
+/// - User has to specify the magnitude of the alignments, in the Cartesian
+/// co-ordiantes (which are used to apply translation misalignments) and in the
+/// spherical co-ordinates (which are used to apply angular displacements)
+/// - User can also set misalignment ranges by hand using the methods :
+/// SetMaxCartMisAlig, SetMaxAngMisAlig, SetXYAngMisAligFactor
+/// (last method takes account of the fact that the misalingment is greatest in
+/// the XY plane, since the detection elements are fixed to a support structure
+/// in this plane. Misalignments in the XZ and YZ plane will be very small
+/// compared to those in the XY plane, which are small already - of the order
+/// of microns)
+/// - Default behavior generates a "residual" misalignment using gaussian
+/// distributions. Uniform distributions can still be used, see
+/// AliMUONGeometryMisAligner.
+/// - User can also generate module misalignments using SetModuleCartMisAlig
+/// and SetModuleAngMisAlig
+///
+/// Note: If the detection elements are allowed to be misaligned in all
+/// directions, this has consequences for the alignment algorithm, which
+/// needs to know the number of free parameters. Eric only allowed 3 :
+/// x,y,theta_xy, but in principle z and the other two angles are alignable
+/// as well.
+///
+/// \author:Bruce Becker
#if !defined(__CINT__) || defined(__MAKECINT__)
#endif
-// Generates buspatch id and DDL id for given detection element id
-// station 1 & 2 assuming 24 buspatches per quadrant
-// station345, reading from DetElemIdToSlatType.dat file and calculates
-// the number of bus patches per slat (and also number of Translator and Bridge Boards).
-// Generates an output file DetElemIdToBusPatch.dat.out, preserve from overwriting
-// (Ch. Finck, July 05)
-// (Nov. 05, added DDL)
-// (June 06, correction for St123)
-// (Feb. 07, add 1st manu list for St12 (starting on NB !) and new ddl sharing for station 3)
-// (June. 07, new numbering of station 345, and buspatch starts at 1)
+/// \ingroup macros
+/// \file MUONGenerateBusPatch.C
+/// \brief Generates buspatch id and DDL id for given detection element id
+///
+/// - station 1 & 2 assuming 24 buspatches per quadrant
+/// - station345, reading from DetElemIdToSlatType.dat file and calculates
+/// the number of bus patches per slat (and also number of Translator and Bridge Boards).
+/// Generates an output file DetElemIdToBusPatch.dat.out, preserve from overwriting
+///
+/// List of changes:
+/// - July 05, first version
+/// - Nov. 05, added DDL
+/// - June 06, correction for St123
+/// - Feb. 07, add 1st manu list for St12 (starting on NB !) and new ddl sharing for station 3)
+/// - June. 07, new numbering of station 345, and buspatch starts at 1)
+///
+/// \author Ch. Finck, July 05
void MUONGenerateBusPatch()
// $Id$
//
-// Macro for generating the geometry data files:
-// volpath.dat, transform.dat, svmap.dat.
-// To be run from aliroot:
-// .x MUONGenerateGeometryData.C
-//
-// The generated files do not replace the existing ones
-// but have different names (with extension ".out").
-//
-// Author: I. Hrivnacova, IPN Orsay
+/// \ingroup macros
+/// \file MUONGenerateGeometryData.C
+/// \brief Macro for generating the geometry data files:
+/// transform.dat, svmap.dat.
+///
+/// To be run from aliroot:
+///
+/// .x MUONGenerateGeometryData.C
+///
+/// The generated files do not replace the existing ones
+/// but have different names (with extension ".out").
+///
+/// \author: I. Hrivnacova, IPN Orsay
#if !defined(__CINT__) || defined(__MAKECINT__)
Bool_t svmaps = true,
Bool_t writeEnvelopes = true)
{
+/// \param transforms option to generete transform.dat
+/// \param svmaps option to generete svmap.dat
+/// \param writeEnvelope option to include virtual envelopes
+/// in the volume paths
+
// Initialize
gAlice->Init("$ALICE_ROOT/MUON/Config.C");
cout << "Init done " << endl;
/* $Id: */
-// Macro to generate ad hoc GMS alignment matrices in the agreed format:
-// TClonesArray saved in the Root file with a key "GMSarray"
-// containing TGeoHMatrix with TObject::fUniqueID equal to the geometry
-// module Id
-//
-// By I. Hrivnacova, IPN Orsay
+/// \ingroup macros
+/// \file MUONGenerateTestGMS.C
+/// \brief Macro to generate ad hoc GMS alignment matrices in the agreed format
+///
+/// TClonesArray is saved in the Root file with a key "GMSarray"
+/// containing TGeoHMatrix objects with TObject::fUniqueID equal to the geometry
+/// module Ids
+///
+/// \author I. Hrivnacova, IPN Orsay
#if !defined(__CINT__) || defined(__MAKECINT__)
void MUONGenerateTestGMS(Bool_t print = kFALSE)
{
+/// \param print option to switch on printing the processed matrices
+
TFile f("data/GMS.root", "RECREATE");
TClonesArray* array = new TClonesArray("TGeoHMatrix",100);
* provided "as is" without express or implied warranty. *
**************************************************************************/
-//
-// Macro for reading tracker raw data
-// Ch. Finck, Subatech Febuary
-//
-// Added example routines to show how to use the interface of the high
-// performance decoder AliMUONRawStreamTrackerHP.
-// Artur Szostak <artursz@iafrica.com>
-//
+// $Id$
+
+/// \ingroup macros
+/// \file MUONRawStreamTracker.C
+/// \brief Macro for reading tracker raw data
+///
+/// \author Ch. Finck, Subatech Febuary
+///
+/// Added example routines to show how to use the interface of the high
+/// performance decoder AliMUONRawStreamTrackerHP.
+/// by Artur Szostak <artursz@iafrica.com>
+///
+/// This macro is interfaced with AliRawReader for RAW
+///
+/// There are 2 ways of reading the data:
+/// - one where each intermediate structure (block, dsp, buspatch) is looped over
+/// - and one, using an iterator, where we're directly accessing the pad informations
+/// (charge).
+///
+/// The different stucture of the payload are readout and stored in TClonesArray
+/// with AliMUONRawStreamTracker class.
+/// The macro just simply reads again the TClonesArray contents.
+/// The parameters of each structure could be seen in the container classes
+/// AliMUONBlockHeader, AliMUONBlockHeader, AliMUONBusStruct.
+/// The class AliMUONDDLTracker manages the structure containers.
+/// The number of structures in the rawdata file could be set.
+
#if !defined(__CINT__) || defined(__MAKECINT__)
#endif
-// Macro to read rawdata for tracker
-// Ch. Finck, Subatech, April. 2006
-//
-// This macro is interfaced with AliRawReader for RAW
-//
-// There are 2 ways of reading the data : one where each intermediate structure
-// (block, dsp, buspatch) is looped over, and one, using an iterator, where
-// we're directly accessing the pad informations (charge).
-//
-// The different stucture of the payload are readout and stored in TClonesArray
-// with AliMUONRawStreamTracker classe.
-// The macro just simpy read again the TClonesArray contents.
-// The parameter of each structure could be seen in the container classes
-// AliMUONBlockHeader, AliMUONBlockHeader, AliMUONBusStruct.
-// The class AliMUONDDLTracker manages the structure containers.
-// The number of structures in the rawdata file could be set.
-//
-//
-
void MUONRawStreamTrackerExpert(TString fileName = "./", Int_t maxEvent = 1000,
Int_t minDDL = 0, Int_t maxDDL = 19)
{
* provided "as is" without express or implied warranty. *
**************************************************************************/
-//
-// Macro for reading tracker raw data
-// Ch. Finck, Subatech Febuary
-//
+// $Id$
+
+/// \ingroup macros
+/// \file MUONRawStreamTrigger.C
+/// \brief Macro for reading trigger raw data
+///
+/// \author Ch. Finck, Subatech, April 2006
+///
+/// Implement "digits" iterator.
+/// This macro is interface with AliRawReader for RAW.
+/// The different stucture of the patload are readout and stored in TClonesArray
+/// with AliMUONRawStreamTrigger class.
+/// The macro just simply reads again the TClonesArray contents.
+/// The parameter of each structure could be seen in the container classes
+/// AliMUONDarcHeader, AliMUONRegHeader, AliMUONLocalStruct.
+/// The class AliMUONDDLTrigger manages the structure containers.
+/// The number of structures in the rawdata file could be set.
+/// The DATE format reading is no more supported please use the MUONTRGda code.
+
#if !defined(__CINT__) || defined(__MAKECINT__)
#endif
-// Macro to read rawdata for trigger
-// Ch. Finck, Subatech, April. 2006
-// Implement "digits" iterator
-// This macro is interface with AliRawReader for RAW
-// The different stucture of the patload are readout and stored in TClonesArray
-// with AliMUONRawStreamTrigger classe.
-// The macro just simpy read again the TClonesArray contents.
-// The parameter of each structure could be seen in the container classes
-// AliMUONDarcHeader, AliMUONRegHeader, AliMUONLocalStruct.
-// The class AliMUONDDLTrigger manages the structure containers.
-// The number of structures in the rawdata file could be set.
-// The DATE format reading is no more supported please use the MUONTRGda code
-
void MUONRawStreamTrigger(Int_t maxEvent = 1, Int_t minDDL = 0, Int_t maxDDL = 1, TString fileName = "./")
{
* provided "as is" without express or implied warranty. *
**************************************************************************/
+// $Id$
+
+/// \ingroup macros
+/// \file MUONRecoCheck.C
+/// \brief Utility macro to check the muon reconstruction.
+///
+/// Reconstructed tracks are compared to reference tracks. The reference tracks
+/// are built from AliTrackReference for the hit in chamber (0..9) and from
+/// kinematics (TreeK) for the vertex parameters.
+///
+/// \author Jean-Pierre Cussonneau, Subatech
+
// ROOT includes
#include "TClonesArray.h"
#include "TH1.h"
Int_t TrackCheck( Bool_t *compTrack);
void MUONRecoCheck (Int_t nEvent = 1, char* geoFilename = "geometry.root",
- char * pathSim="./generated/", char * esdFileName="AliESDs.root"){
-
- // Utility macro to check the muon reconstruction. Reconstructed tracks are compared
- // to reference tracks. The reference tracks are built from AliTrackReference for the
- // hit in chamber (0..9) and from kinematics (TreeK) for the vertex parameters.
+ char * pathSim="./generated/", char * esdFileName="AliESDs.root")
+{
Bool_t *compTrack;
Bool_t compTrackOK[10];
/* $Id$ */
-//Macro to calculate the resolution and the efficiency of chamber(s) chosen in function
-//of Phi (angle on the chamber between the X axis and the straight line created by the
-//center of the chamber and the impact of particles on this chamber, the azimuthal angle)
-//and Theta (the polar angle), or in function of ThetaI (angle of incidence of particles
-//on the chamber)
-
-
+/// \ingroup macros
+/// \file MUONResoEffChamber.C
+/// \brief Macro to calculate the resolution and the efficiency of chamber(s)
+///
+/// Macro to calculate the resolution and the efficiency of chamber(s) chosen in function
+/// of Phi (angle on the chamber between the X axis and the straight line created by the
+/// center of the chamber and the impact of particles on this chamber, the azimuthal angle)
+/// and Theta (the polar angle), or in function of ThetaI (angle of incidence of particles
+/// on the chamber)
+///
+/// \author Nicolas Le Bris, Subatech
#if !defined(__CINT__) || defined(__MAKECINT__)
/* $Id$ */
-/// Macro to check/test pad status and pad status map makers
+/// \ingroup macros
+/// \file MUONStatusMap.C
+/// \brief Macro to check/test pad status and pad status map makers
///
-// Laurent Aphecetche
+/// \author Laurent Aphecetche
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliCDBManager.h"
/* $Id$ */
-// ---
-// Macro to process survey and photogrammetry data of chamber 8L
-//
-// Macro loads the survey data from .txt file using AliSurveyObj.
-// Macro MUONSurveyUtil.C is then loaded.
-// The transformations of the slats are obatained in 2 steps:
-// 1. Fit a plane to the sticker targets -> psi, theta
-// 2. Using above psi in theta obtain xc, yc, zc and phi by solving
-// the equations from a local to global transformation of the
-// fixed button targets
-// Various histograms are filled and printed for monitoring.
-// MisAlignment object is then created.
-//
-// Author: Javier Castillo
-// ---
+/// \ingroup macros
+/// \file MUONSurveyCh8L.C
+/// \brief Macro to process survey and photogrammetry data of chamber 8L
+///
+/// Macro loads the survey data from .txt file using AliSurveyObj.
+/// Macro MUONSurveyUtil.C is then loaded.
+///
+/// The transformations of the slats are obatained in 2 steps:
+/// - 1. Fit a plane to the sticker targets -> psi, theta
+/// - 2. Using above psi in theta obtain xc, yc, zc and phi by solving
+/// the equations from a local to global transformation of the
+/// fixed button targets
+///
+/// Various histograms are filled and printed for monitoring.
+/// MisAlignment object is then created.
+///
+/// \author Javier Castillo
#if !defined(__CINT__) || defined(__MAKECINT__)
/* $Id$ */
-// ---
-// Utility macro for survey data to alignment transformation.
-//
-// Macro contains various functions to calculate misalignement parameters
-// from survey data and designed positions of survey targets.
-// Macro also includes a method to get the new AliMUONGeometryTranformer.
-// It is intended to be loaded by chamber specific macros.
-//
-// Author: Javier Castillo
-// ---
+/// \ingroup macros
+/// \file MUONSurveyUtil.C
+/// \brief Utility macro for survey data to alignment transformation.
+///
+/// Macro contains various functions to calculate misalignement parameters
+/// from survey data and designed positions of survey targets.
+/// Macro also includes a method to get the new AliMUONGeometryTransformer.
+/// It is intended to be loaded by chamber specific macros.
+///
+/// \author Javier Castillo
#if !defined(__CINT__) || defined(__MAKECINT__)
/* $Id$ */
-// This macro is to be used to check the trigger algorithm w/o having to
-// (re-)perform simulation and digitalization.
-// see full description in the REDAME file
-// Author: P.Crochet (LPC)
+/// \ingroup macros
+/// \file MUONTrigger.C
+/// \brief This macro is to be used to check the trigger algorithm w/o having to
+/// (re-)perform simulation and digitalization.
+///
+/// See full description on the \ref README_trigger page.
+///
+/// \author P.Crochet (LPC)
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliRun.h"
#endif
-// Macro to view and save the trigger chamber efficiency map
-// calculated during reconstruction.
-// Efficiency map can be made available for next simulation.
-
-// Arguments:
-//
-// addMapInSimulation (default kFALSE):
-// kTRUE: creates file MUON/Calib/TriggerEfficiency/Run0_99999999_v0_s?.root
-// with calculated chamber efficiency which can be used in the next simulation
-//
-// inputDir (default "."):
-// path to AliESDs.root
+/// \ingroup macros
+/// \file MUONTriggerChamberEfficiency.C
+/// \brief Macro to view and save the trigger chamber efficiency map
+/// calculated during reconstruction.
+///
+/// Efficiency map can be made available for next simulation.
+///
+/// \author Diego Stocco, INFN Torino
void MUONTriggerChamberEfficiency(Bool_t addMapInSimulation=kFALSE,
const char *inputDir=".")
{
+/// \param addMapInSimulation (default kFALSE);
+/// kTRUE: creates file MUON/Calib/TriggerEfficiency/Run0_99999999_v0_s?.root
+/// with calculated chamber efficiency which can be used in the next simulation
+/// \param inputDir
+/// path to AliESDs.root (default ".")
+
Char_t filename[150], *className = "AliMUONTriggerEfficiencyCells";
sprintf(filename,"%s/AliESDs.root",inputDir);
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* */
-
-//
-// Macro for checking trigger integrated efficiency for dimuons.
-// The efficiency is calculated with respect to the 3/4 coincidence.
-// Author: Fabien Guerin, LPC Clermont-Ferrand, Jan. 2006
-//
+// $Id$
+
+/// \ingroup macros
+/// \file MUONTriggerEfficiency.C
+/// \brief Macro for checking trigger integrated efficiency for dimuons.
+///
+/// The efficiency is calculated with respect to the 3/4 coincidence.
+///
+/// \author Fabien Guerin, LPC Clermont-Ferrand, Jan. 2006
#if !defined(__CINT__) || defined(__MAKECINT__)
// ROOT includes
/* $Id$ */
-// Macro to produce trigger single muon efficiency versus pt plots for the
-// 2 pt cuts.
-// see full description in the README file
-// Author: Fabien Guerin (LPC)
+/// \ingroup macros
+/// \file MUONTriggerEfficiencyPt.C
+/// \brief Macro to produce trigger single muon efficiency versus pt plots for the
+/// 2 pt cuts.
+///
+/// See full description on the \ref README_trigger page.
+///
+/// \author Fabien Guerin (LPC)
// ROOT includes
#include "TBranch.h"
/* $Id$ */
-// Macro (upgraded version of MUONmassPlot_ESD.C, better handling of Jpsi) to make :
-// 1) Ntuple (Ktuple) containing Upsilon kinematics variables (from kinematics.root files)
-// 2) Ntuple (ESDtuple) containing Upsilon kinematics variables from reconstruction and
-// combinations of 2 muons with opposite charges (ESDtupleBck will be used later)
-// 3) Some QA histograms
-// Ntuple are stored in the file MUONefficiency.root and ESD tree and QA histograms in AliESDs.root
-
-// Christophe Suire, IPN Orsay
-
-
-
-// Arguments:
-// FirstEvent (default 0)
-// LastEvent (default 1.e6)
-// ResType (default 553)
-// 553 for Upsilon, 443 for J/Psi
-// Chi2Cut (default 100)
-// to keep only tracks with chi2 per d.o.f. < Chi2Cut
+/// \ingroup macros
+/// \file MUONefficiency.C
+/// \brief add brief description
+///
+/// Macro (upgraded version of MUONmassPlot_ESD.C, better handling of Jpsi) to make :
+/// - Ntuple (Ktuple) containing Upsilon kinematics variables (from kinematics.root files)
+/// - Ntuple (ESDtuple) containing Upsilon kinematics variables from reconstruction and
+/// combinations of 2 muons with opposite charges (ESDtupleBck will be used later)
+/// - Some QA histograms
+/// Ntuple are stored in the file MUONefficiency.root and ESD tree and QA histograms in AliESDs.root
+///
+/// \author Christophe Suire, IPN Orsay
#endif
-// Arguments:
-// ExtrapToVertex (default -1)
-// <0: no extrapolation;
-// =0: extrapolation to (0,0,0);
-// >0: extrapolation to ESDVertex if available, else to (0,0,0)
-// ResType (default 553)
-// 553 for Upsilon, anything else for J/Psi
-
Bool_t MUONefficiency( char* filename = "galice.root", char* geoFilename = "geometry.root", char* esdFileName = "AliESDs.root",
Int_t ExtrapToVertex = -1, Int_t ResType = 553, Int_t FirstEvent = 0, Int_t LastEvent = 1000000 )
-{ // MUONefficiency starts
+{
+/// \param ExtrapToVertex (default -1)
+/// - <0: no extrapolation;
+/// - =0: extrapolation to (0,0,0);
+/// - >0: extrapolation to ESDVertex if available, else to (0,0,0)
+/// \param ResType 553 for Upsilon, 443 for J/Psi (default 553)
+/// \param FirstEvent (default 0)
+/// \param LastEvent (default 1.e6)
+/// \param Chi2Cut to keep only tracks with chi2 per d.o.f. < Chi2Cut (default 100)
+
+
+ // MUONefficiency starts
// Set default CDB storage
AliCDBManager* man = AliCDBManager::Instance();
#include "AliMUONTrackExtrap.h"
#include "AliESDMuonTrack.h"
#endif
-//
-// Macro MUONmassPlot.C for ESD
-// Ch. Finck, Subatech, April. 2004
-//
-
-// macro to make invariant mass plots
-// for combinations of 2 muons with opposite charges,
-// from root file "MUON.tracks.root" containing the result of track reconstruction.
-// Histograms are stored on the "MUONmassPlot.root" file.
-// introducing TLorentzVector for parameter calculations (Pt, P,rap,etc...)
-// using Invariant Mass for rapidity.
-
-// Arguments:
-// ExtrapToVertex (default -1)
-// <0: no extrapolation;
-// =0: extrapolation to (0,0,0);
-// >0: extrapolation to ESDVertex if available, else to (0,0,0)
-// FirstEvent (default 0)
-// LastEvent (default 0)
-// ResType (default 553)
-// 553 for Upsilon, anything else for J/Psi
-// Chi2Cut (default 100)
-// to keep only tracks with chi2 per d.o.f. < Chi2Cut
-// PtCutMin (default 1)
-// to keep only tracks with transverse momentum > PtCutMin
-// PtCutMax (default 10000)
-// to keep only tracks with transverse momentum < PtCutMax
-// massMin (default 9.17 for Upsilon)
-// & massMax (default 9.77 for Upsilon)
-// to calculate the reconstruction efficiency for resonances with invariant mass
-// massMin < mass < massMax.
-
-// Add parameters and histograms for analysis
+
+/// \ingroup macros
+/// \file MUONmassPlot_ESD.C
+/// \brief Macro MUONefficiency.C for ESD
+///
+/// \author Ch. Finck, Subatech, April. 2004
+///
+///
+/// Macro to make invariant mass plots
+/// for combinations of 2 muons with opposite charges,
+/// from root file "MUON.tracks.root" containing the result of track reconstruction.
+/// Histograms are stored on the "MUONmassPlot.root" file.
+/// introducing TLorentzVector for parameter calculations (Pt, P,rap,etc...)
+/// using Invariant Mass for rapidity.
+///
+/// Add parameters and histograms for analysis
Bool_t MUONmassPlot(char* filename = "generated/galice.root", Int_t ExtrapToVertex = -1, char* geoFilename = "geometry.root",
Int_t FirstEvent = 0, Int_t LastEvent = 10000, char* esdFileName = "AliESDs.root", Int_t ResType = 553,
Float_t Chi2Cut = 100., Float_t PtCutMin = 1., Float_t PtCutMax = 10000.,
Float_t massMin = 9.17,Float_t massMax = 9.77)
{
+/// \param ExtrapToVertex (default -1)
+/// - <0: no extrapolation;
+/// - =0: extrapolation to (0,0,0);
+/// - >0: extrapolation to ESDVertex if available, else to (0,0,0)
+/// \param FirstEvent (default 0)
+/// \param LastEvent (default 0)
+/// \param ResType 553 for Upsilon, anything else for J/Psi (default 553)
+/// \param Chi2Cut to keep only tracks with chi2 per d.o.f. < Chi2Cut (default 100)
+/// \param PtCutMin to keep only tracks with transverse momentum > PtCutMin (default 1)
+/// \param PtCutMax to keep only tracks with transverse momentum < PtCutMax (default 10000)
+/// \param massMin (default 9.17 for Upsilon)
+/// \param massMax (default 9.77 for Upsilon);
+/// to calculate the reconstruction efficiency for resonances with invariant mass
+/// massMin < mass < massMax.
+
cout << "MUONmassPlot " << endl;
cout << "FirstEvent " << FirstEvent << endl;
cout << "LastEvent " << LastEvent << endl;
/* $Id$ */
-// Macro to compare/plot the Ntuple stored in MUONefficiency.root
-// comparison is done between the generated and reconstructed resonance
-// Default is Upsilon but Jpsi can be studied if the ResType argument is changed
-// This allows to determine several important quantities
-// reconstruction efficiency (vs pt,y), invariant mass peak variations (vs pt,y)
-// reconstructed tracks and trigger tracks matching efficiency
-
-// Christophe Suire, IPN Orsay
+/// \ingroup macros
+/// \file MUONplotefficiency.C
+/// \brief Macro to compare/plot the Ntuple stored in MUONefficiency.root
+///
+/// Comparison is done between the generated and reconstructed resonance.
+/// Default is Upsilon but Jpsi can be studied if the ResType argument is changed.
+/// This allows to determine several important quantities:
+/// - reconstruction efficiency (vs pt,y), invariant mass peak variations (vs pt,y)
+/// - reconstructed tracks and trigger tracks matching efficiency
+///
+/// \author Christophe Suire, IPN Orsay
#if !defined(__CINT__) || defined(__MAKECINT__)
// ROOT includes
// $Id$
-// Macro for generating the full misalignment data.
-// The macro is trigger from AliRoot/macros/MakeAllDETsFullMisAlignment.C
-//
-// Author: I. Hrivnacova, IPN Orsay
+/// \ingroup macros
+/// \file MakeMUONFullMisAlignment.C
+/// \brief Macro for generating the full misalignment data.
+///
+/// The macro is triggered from AliRoot/macros/MakeAllDETsFullMisAlignment.C
+///
+/// \author: I. Hrivnacova, IPN Orsay
#if !defined(__CINT__) || defined(__MAKECINT__)
// $Id$
-// Macro for generating the residual misalignment data.
-// The macro is triggered from AliRoot/macros/MakeAllDETsResMisAlignment.C
-//
-// Author: I. Hrivnacova, IPN Orsay
+/// \ingroup macros
+/// \file MakeMUONResMisAlignment.C
+/// \brief Macro for generating the residual misalignment data.
+///
+/// The macro is triggered from AliRoot/macros/MakeAllDETsResMisAlignment.C
+///
+/// \author: I. Hrivnacova, IPN Orsay
#if !defined(__CINT__) || defined(__MAKECINT__)
// $Id$
-// Macro for generating the zero misalignment data.
-//
-// Author: I. Hrivnacova, IPN Orsay
+/// \ingroup macros
+/// \file MakeMUONZeroMisAlignment.C
+/// \brief Macro for generating the zero misalignment data.
+///
+/// \author: I. Hrivnacova, IPN Orsay
#if !defined(__CINT__) || defined(__MAKECINT__)
/* $Id$ */
-// A. De Falco, H. Woehri, INFN Cagliari, July 2006
-// This macro merges several files built with DecodeRecoCocktail.C into
-// a single one.
-// Arguments: foutname = name of the output file
-// flistname = name of a text file containing the list of files
-// to be merged
-// saveAll = boolian that allows/forbids saving of events with no muons
+/// \ingroup macros
+/// \file MergeMuonLight.C
+/// \brief This macro merges several files built with DecodeRecoCocktail.C into
+/// a single one
+///
+/// \author A. De Falco, H. Woehri, INFN Cagliari, July 2006
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "TFile.h"
#endif
-void MergeMuonLight(char *foutname="MuonLightMerged.root",char *flistname="lista.lis", Bool_t saveAll = kTRUE){
+void MergeMuonLight(char *foutname="MuonLightMerged.root",char *flistname="lista.lis", Bool_t saveAll = kTRUE)
+{
+/// \param foutname name of the output file
+/// \param flistname name of a text file containing the list of files
+/// to be merged
+/// \param saveAll boolian that allows/forbids saving of events with no muons
+
// up to 2000 input files
TFile *file[2000];
/* $Id$ */
-// A. De Falco, H. Woehri, INFN Cagliari, July 2006
-// base macro to read the trees generated with DecodeRecoCocktail.C
-//
+/// \ingroup macros
+/// \file ReadRecoCocktail.C
+/// \brief Base macro to read the trees generated with DecodeRecoCocktail.C
+///
+/// \author A. De Falco, H. Woehri, INFN Cagliari, July 2006
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "TFile.h"
#if !defined(__CINT__) || defined(__MAKECINT__)
+/// \ingroup macros
+/// \file TestMUONPreprocessor.C
+/// \brief The macro for testing the shuttle preprocessors
+///
/// This macro runs the test preprocessor for MUON.
/// It uses AliTestShuttle to simulate a full Shuttle process
///
/// here by CreateDCSAliasMap() for tracker HV).
///
/// To play with it, you'll have to set/modify several lines, to
-/// a) select input files, using shuttle->AddInputFile()
-/// b) select run type, using shuttle->AddInputRunParameter() (the run type
-/// dictates which task is really performed by the MUONPreprocessor
+/// - a) select input files, using shuttle->AddInputFile()
+/// - b) select run type, using shuttle->AddInputRunParameter() (the run type
+/// dictates which task is really performed by the MUONPreprocessor
///
/// You must load relevant libraries (besides normal MUON ones) before
/// compiling this macro :
-///
+/// <pre>
/// gSystem->Load("$ALICE_ROOT/SHUTTLE/TestShuttle/libTestShuttle");
/// gSystem->Load("libMUONshuttle.so");
+/// </pre>
///
+/// For more information on usage, please see the \ref README_shuttle page.
///
-/// For more information on usage, please see READMEshuttle.
-///
-// By Laurent Aphecetche, SUBATECH Nantes
+/// \author Laurent Aphecetche, SUBATECH Nantes
#include "TestMUONPreprocessor.h"
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: */
+/* $Id$ */
-//H. Woehri, A. De Falco, INFN Cagliari, April 2007
-//an example how to use the AliGenMUONCocktailpp generator
-//without GEANT simulation of the detector
-//The macro switches on all decay modes for the resonances,
-//while for the minimum bias Pythia event we additionally
-//switch on the muonic decays of pions and Kaons
-//Its outcome can be further processed by the macro
-//"fastMUONSim.C
+/// \ingroup macros
+/// \file fastMUONGen.C
+/// \brief An example how to use the AliGenMUONCocktailpp generator
+/// without GEANT simulation of the detector
+///
+/// \author H. Woehri, A. De Falco, INFN Cagliari, April 2007
+///
+/// The macro switches on all decay modes for the resonances,
+/// while for the minimum bias Pythia event we additionally
+/// switch on the muonic decays of pions and Kaons
+/// Its outcome can be further processed by the macro
+/// fastMUONSim.C
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliGenerator.h"
AliGenerator* CreateGeneratorMC(Int_t mult);
Int_t SetupOutputDirectory();
-//the third argument "mult" allows to select at a "pre-trigger" level
-//events with "mult" muons in the MUON detector's phase space
-//window, which is defined in the method "CreateGeneratorMC(Int_t mult)"
-//note that in this routine also a cut on the muon's origin
-//should be placed in order not to trigger on muons from pi/K decays
-//that were decayed by Pythia way inside the absorber or in the muon
-//spectrometer itself
+/// The third argument \em mult allows to select at a "pre-trigger" level
+/// events with "mult" muons in the MUON detector's phase space
+/// window, which is defined in the method "CreateGeneratorMC(Int_t mult)".
+/// Note that in this routine also a cut on the muon's origin
+/// should be placed in order not to trigger on muons from pi/K decays
+/// that were decayed by Pythia way inside the absorber or in the muon
+/// spectrometer itself
void fastMUONGen(Int_t nev = 1, char* filename = "galice.root", Int_t mult = 2)
{
Int_t runNumber = SetupOutputDirectory();
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: */
-
-//A. De Falco, H. Woehri, INFN Cagliari, April 2007
-//an example how to do the fast simulation and storing
-//the muons that survive the reconstruction in
-//AliMUONTrackLight and AliMUONPairLight objects for
-//further analysis. Should be used together with the
-//macro "fastMUONGen.C
+/* $Id$ */
+
+/// \ingroup macros
+/// \file fastMUONSim.C
+/// \brief An example how to do the fast simulation and storing
+/// the muons that survive the reconstruction
+///
+/// \author A. De Falco, H. Woehri, INFN Cagliari, April 2007
+///
+/// An example how to do the fast simulation and storing
+/// the muons that survive the reconstruction in
+/// AliMUONTrackLight and AliMUONPairLight objects for
+/// further analysis. Should be used together with the
+/// macro fastMUONGen.C
#if !defined(__CINT__) || defined(__MAKECINT__)
//STEER includes
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id */
+/* $Id$ */
-// Macro for loading libraries needed for dealing with calibration data containers
-// Laurent Aphecetche
+/// \ingroup macros
+/// \file loadlibcalib.C
+/// \brief Macro for loading libraries needed for dealing with calibration
+/// data containers
+///
+/// \author Laurent Aphecetche
void loadlibcalib ()
{
/* $Id$ */
-// Macro for loading libraries needed for reading & decoding rawdata
-// Christian Finck
+/// \ingroup macros
+/// \file loadlibraw.C
+/// \brief Macro for loading libraries needed for reading & decoding rawdata
+///
+/// \author Christian Finck
void loadlibraw ()
{
/* $Id$ */
-// Macro which loads the libraries needed for simulation and reconstruction
-// with MUON configuration macros
-// Christian Finck
-// New libraries list by Laurent Aphecetche
+/// \ingroup macros
+/// \file loadlibs.C
+/// \brief Macro which loads the libraries needed for simulation and reconstruction
+/// with MUON configuration macros
+///
+/// \author Christian Finck
+///
+/// New libraries list by Laurent Aphecetche
void loadlibs ()
{
/* $Id$ */
-// Macro which loads and compiles the MUON macros:
-//
-// runSimulation.C - ok, comp, x; Laurent
-// runReconstruction.C - ok, comp, x; Laurent
-// fastMuonGen.C - ok, comp, x; Hermine, Alessandro
-// fastMuonSim.C - ok, comp, x; Hermine, Alessandro
-// DecodeRecoCocktail.C - ok, comp, README; Hermine, Alessandro
-// ReadRecoCocktail.C - ok, comp, README; Hermine, Alessandro
-// MergeMuonLight.C - x, comp, README; Hermine, Alessandro
-// MakeMUONFullMisAlignment.C - ok, comp, README; Javier, Ivana
-// MakeMUONResMisAlignment.C - ok, comp, README; Javier, Ivana
-// MakeMUONZeroMisAlignment.C - ok, comp, README; Javier, Ivana
-// MUONAlignment.C - ok, comp, README; Javier
-// MUONCheck.C - ok, comp, x, Frederic, in test
-// MUONCheckDI.C - x, comp, x Artur
-// MUONCheckMisAligner.C - ok, comp, x, Javier
-// MUONdisplay.C - ok, comp, deprecated
-// MUONefficiency.C - ok, comp, README; Christophe, in test
-// MUONGenerateBusPatch.C - ok, comp, x, Christian
-// MUONGenerateGeometryData.C - ok, comp, README; Ivana
-// MUONGenerateTestGMS.C - ok, comp, READMEshuttle; Ivana
-// MUONmassPlot_ESD.C - ok, comp, README, Christian
-// MUONplotefficiency.C - ok, comp, README; Christophe
-// MUONRawStreamTracker.C - x, comp, README; Christian
-// MUONRawStreamTrigger.C - x, comp, README; Christian
-// MUONRecoCheck.C - ok, comp, README; Hermine, Alessandro
-// MUONResoEffChamber.C - ok, comp, x, Nicolas
-// MUONStatusMap.C - ok, comp, x, Laurent
-// MUONTrigger.C - ok, comp, README, Philippe C.
-// MUONTriggerEfficiency.C - ok, comp, x, Philippe C., in test
-// MUONTriggerEfficiencyPt.C - x, comp, README, Philippe C.
-// MUONTriggerChamberEfficiency.C- x, comp, README, Diego
-// TestMUONPreprocessor.C - ok, comp, READMEshuttle; Laurent
-//
-// 1st item:
-// ok/fails/x - if the macro runs; x means that it was not tried either for lack
-// of documentation, or expertise
-//
-// 2nd item:
-// comp/x - if the macro can be compiled
-//
-// 3rd item:
-// README*/x - if it is documented in README, x means no doxumentation outside the
-// macro itself
-//
-// 4th item: - author(s), responsible for macro maintenance
-//
-// eventually
-// 5th item: - if the macro is run within test scripts
-//
-// I. Hrivnacova
+/// \ingroup macros
+/// \file loadmacros.C
+/// \brief Macro which loads and compiles the MUON macros:
+///
+/// \author I. Hrivnacova, IPN Orsay
+///
+/// <pre>
+/// runSimulation.C - ok, comp, x; Laurent
+/// runReconstruction.C - ok, comp, x; Laurent
+/// fastMUONGen.C - ok, comp, x; Hermine, Alessandro
+/// fastMUONSim.C - ok, comp, x; Hermine, Alessandro
+/// DecodeRecoCocktail.C - ok, comp, README; Hermine, Alessandro
+/// ReadRecoCocktail.C - ok, comp, README; Hermine, Alessandro
+/// MergeMuonLight.C - x, comp, README; Hermine, Alessandro
+/// MakeMUONFullMisAlignment.C - ok, comp, README; Javier, Ivana
+/// MakeMUONResMisAlignment.C - ok, comp, README; Javier, Ivana
+/// MakeMUONZeroMisAlignment.C - ok, comp, README; Javier, Ivana
+/// MUONAlignment.C - ok, comp, README; Javier
+/// MUONCheck.C - ok, comp, x, Frederic, in test
+/// MUONCheckDI.C - x, comp, x Artur
+/// MUONCheckMisAligner.C - ok, comp, x, Javier
+/// MUONefficiency.C - ok, comp, README; Christophe, in test
+/// MUONGenerateBusPatch.C - ok, comp, x, Christian
+/// MUONGenerateGeometryData.C - ok, comp, README; Ivana
+/// MUONGenerateTestGMS.C - ok, comp, READMEshuttle; Ivana
+/// MUONmassPlot_ESD.C - ok, comp, README, Christian
+/// MUONplotefficiency.C - ok, comp, README; Christophe
+/// MUONRawStreamTracker.C - x, comp, README; Christian
+/// MUONRawStreamTrigger.C - x, comp, README; Christian
+/// MUONRecoCheck.C - ok, comp, README; Hermine, Alessandro
+/// MUONResoEffChamber.C - ok, comp, x, Nicolas
+/// MUONStatusMap.C - ok, comp, x, Laurent
+/// MUONTimeRawStreamTracker.C - ok, comp, README, Artur
+/// MUONTrigger.C - ok, comp, README, Philippe C.
+/// MUONTriggerEfficiency.C - ok, comp, x, Philippe C., in test
+/// MUONTriggerEfficiencyPt.C - x, comp, README, Philippe C.
+/// MUONTriggerChamberEfficiency.C- x, comp, README, Diego
+/// TestMUONPreprocessor.C - ok, comp, READMEshuttle; Laurent
+/// </pre>
+///
+/// - 1st item: ok/fails/x - if the macro runs; x means that it was not tried either for lack
+/// of documentation, or expertise
+/// - 2nd item: comp/x - if the macro can be compiled
+/// - 3rd item: README/x - if it is documented in README, x means no doxumentation outside the
+/// macro itself
+/// - 4th item: author(s) - responsible for macro maintenance
+/// - eventually 5th item: - if the macro is run within test scripts
#if !defined(__CINT__) || defined(__MAKECINT__)
/* $Id$ */
-/// By Laurent Aphecetche
+/// \ingroup macros
+/// \file rootlogon.C
+/// \brief Macro which is run when starting Root in MUON
+///
+/// It loads the MUON libraries needed for simulation and reconstruction
+/// and sets the include path.
+///
+/// \author Laurent Aphecetche
{
cout << "Loading MUON libraries ..." << endl;
/* $Id$ */
-// Macro extracted from MUON test script
-// By Laurent Aphecetche
+/// \ingroup macros
+/// \file runReconstruction.C
+/// \brief Macro for running reconstruction
+///
+/// Macro extracted from the MUON test script
+///
+/// \author Laurent Aphecetche
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliMUONReconstructor.h"
AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam();
muonRecoParam->CombineClusterTrackReco(kTRUE);
+ //muonRecoParam->SetClusteringMode("PEAKFIT");
+ //muonRecoParam->SetClusteringMode("PEAKCOG");
muonRecoParam->Print("FULL");
AliRecoParam::Instance()->RegisterRecoParam(muonRecoParam);
/* $Id$ */
-// Macro extracted from MUON test script
-// By Laurent Aphecetche
+/// \ingroup macros
+/// \file runSimulation.C
+/// \brief Macro for running simulation
+///
+/// Macro extracted from the MUON test script
+///
+/// \author Laurent Aphecetche
#if !defined(__CINT__) || defined(__MAKECINT__)
#include "AliCDBManager.h"