cbm simulation & analysis framework cbmroot

22
CBM Simulation & Analysis Framework CBM Simulation & Analysis Framework Cbmroot Cbmroot Mohammad Al-Turany Denis Bertini Ilse König

Upload: gerda

Post on 16-Jan-2016

80 views

Category:

Documents


0 download

DESCRIPTION

CBM Simulation & Analysis Framework Cbmroot. Mohammad Al-Turany Denis Bertini Ilse König. The same framework can be used for Simulation and Analysis Fully ROOT based: VMC for simulation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CBM Simulation & Analysis Framework Cbmroot

CBM Simulation & Analysis FrameworkCBM Simulation & Analysis FrameworkCbmroot Cbmroot

Mohammad Al-Turany

Denis Bertini

Ilse König

Page 2: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 2

CBM Framework: FeaturesCBM Framework: Features

• The same framework can be used for Simulation and Analysis

• Fully ROOT based:– VMC for simulation – Geometry Modeller (TGeoManager) : Overlaps checking,

visualization and/or navigation system of G3– IO scheme (TChain, friend TTrees, TFolders ) for persistency– TTask to organize analysis data flow

• Completely configurable via ROOT macros

• Easy to maintain (only ROOT standard services are used)

• Reuse of HADES Geometry Interface.

• Reuse of HADES Parameter containers.

• Event merging before and/or after transport

Page 3: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 3

ROOT

Run Manager

Virtual MC

Geant3

Geant4

FLUKA

Pluto

Particle Generator

ASCII

PIPE

Target

STS

TRD

Cave

TOF

Magnet

RICH

EVGEN

Primary Generator

UrqmdMagneti

c Field

Module

Detector

GeometryManager

IO Manager

Tasks

Delta TrackingField Map

CBM Simulation (Old)CBM Simulation (Old)

digitizers

GeoInterface

ECAL

Root filesMCPoints,

Configuration

Page 4: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 4

ROOT

Run Manager

Virtual MC

Geant3

Geant4

FLUKA

PlutoParticle

GeneratorASCII

PIPE

Target

STS

TRD

Cave

TOF

Magnet

RICH

EVGEN

Primary Generator

Urqmd

Magnetic

Field

Module

Detector

GeometryManager

IO Manager

Tasks

Field Map

CBM SimulationCBM Simulation

GeoInterface

ECAL

RunTimeDataBase

Root filesConfiguration, Parameters,Geometry

OracleConfigurati

on, Parameters

,Geometry

Root filesMCPoints

Page 5: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 5

ROOT

Run Manager

Virtual MC

EVGEN

Primary Generator

Magnetic

Field

Module

Detector

GeometryManager

IO Manager

Tasks

Delta Tracking

CBM Analysis (Old)CBM Analysis (Old)

digitizers

GeoInterface

ROOT FILESInput: MC Points, ConfigurationOutput: Hits, Digits, Tracks

Page 6: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 6

Run Manager

EVGEN

Primary Generator

Magnetic

Field

Module

Detector

IO Manager

Tasks

Delta Tracking

CBM AnalysisCBM Analysis

digitizers

GeoInterface

RunTimeDataBase

Root filesConfiguration, Parameters,Geometry

Oracle

Configuration, Parameters,

Geometry

Root filesMCPoints, Hits,

Digits, Tracks

Page 7: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 7

CBM Geometry InterfaceCBM Geometry Interface

• Use the copy mechanism – reduce the size of ASCII files– Reduce the number of Volumes in Geant– Improve Geant tracking performance

• Oracle interface – Hades geometry table design reusable

• Advantage:– more flexibility : different inputs can be used.

– closer to technical drawings and analysis coordinate systems

Page 8: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 8

Material & Geometry InterfaceMaterial & Geometry Interface

OracleDB

ASCII

CbmGeoInterface

TGeo Geometry/MaterialTGeoVolumeTGeoNode

TGeoMaterial

RootBuilderG3Builder

G3 Geometry/Material

Page 9: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 9

Simulation Macro – loading LibsSimulation Macro – loading Libs

// Load basic libraries

gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C");

basiclibs();

// Load Cbmroot libraries

gSystem->Load("libGeoBase");

gSystem->Load("libCbm");

gSystem->Load("libPassive");

gSystem->Load("libGen");

gSystem->Load("libSts");

gSystem->Load("libTrd");

gSystem->Load("libTof");

gSystem->Load("libRich");.........

Page 10: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 10

Simulation MacroSimulation Macro

//create the Simulation Run Class

CbmRunSim *fRun = new CbmRunSim();

// set the MC version used

fRun->SetName("TGeant3"); //for G4 use "TGeant4"

fRun->SetGeoModel("G3Native"); //use G3 native geometry

// chose an output file name

fRun->SetOutputFile("test.root");

Page 11: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 11

Simulation Macro- Create ModulesSimulation Macro- Create ModulesCbmModule *Cave= new CbmCave("WORLD");

Cave->SetGeometryFileName("PASSIVE/CAVE", "v03a");

fRun->AddModule(Cave);

CbmModule *Target= new CbmTarget("Target");

Target->SetGeometryFileName("PASSIVE/TARGET", "v03a");

fRun->AddModule(Target);

CbmModule *Pipe= new CbmPIPE("PIPE");

Pipe->SetGeometryFileName("PASSIVE/PIPE", "v03a");

fRun->AddModule(Pipe);

CbmModule *Magnet= new CbmMagnet("MAGNET");

Magnet->SetGeometryFileName("PASSIVE/MAGNET", "v03a");

fRun->AddModule(Magnet);

Page 12: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 12

Simulation Macro- Create DetectorsSimulation Macro- Create Detectors

CbmDetector *STS= new CbmSts("STS", kTRUE);

STS->SetGeometryFileName("STS/STS", "v03c");

fRun->AddModule(STS);

CbmDetector *TOF= new CbmTof("TOF", kTRUE );

TOF->SetGeometryFileName("TOF/TOF", "v03_v10");

fRun->AddModule(TOF);

CbmDetector *TRD= new CbmTRD("TRD",kFALSE );

TRD->SetGeometryFileName("TRD/TRD", "v04b_9" );

fRun->AddModule(TRD);

Page 13: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 13

Simulation Macro-Simulation Macro-Event GeneratorsEvent Generators

CbmPrimaryGenerator *priGen= new CbmPrimaryGenerator();

fRun->SetGenerator(priGen);

CbmUrqmdGenerator *fGen1= new CbmUrqmdGenerator("00-03fm.100ev.f14");

CbmPlutoGenerator *fGen2= new CbmPlutoGenerator("jpsi.root");

CbmParticleGenerator *fGen3= new CbmParticleGenerator();

fRun->AddGenerator(fGen1);

fRun->AddGenerator(fGen2);

fRun->AddGenerator(fGen3);

Page 14: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 14

Simulation Macro-Magnetic FieldSimulation Macro-Magnetic Field

// setting a field map

CbmFieldMap *fMagField= new CbmFieldMap("FIELD.v03b.map");

// setting a constant field

CbmConstField *fMagField=new CbmConstField();

fMagField->SetFieldXYZ(0, 30 ,0 ); // values are in kG

// MinX=-75, MinY=-40,MinZ=-12 ,MaxX=75, MaxY=40 ,MaxZ=124 );

fMagField->SetFieldRegions(-74, -39 ,-22 , 74, 39 , 160 ); // values are in cm

fRun->SetField(fMagField);

Page 15: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 15

Simulation Macro- Run SimulationSimulation Macro- Run Simulation

fRun->Init(); // Initialize the simulation

Simulation:

1. Initialize the VMC (Simulation)

2. Initialize Tasks (if they are used in Simulation)

fRun->Run(NoOfEvent); //Run the Simulation

Page 16: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 16

Saving Parameters: ROOT FilesSaving Parameters: ROOT Files

//Fill the Parameter containers for this run */ CbmRuntimeDb *rtdb=fRun->GetRuntimeDb();

rtdb->addRun(1); //add run with run Id

CbmParRootFileIo* output=new CbmParRootFileIo();

output->open("SimPar.root","RECREATE");

rtdb->setOutput(output);

CbmBaseParSet* par=(CbmBaseParSet*)(rtdb->getContainer("CbmBaseParSet"));

par->SetField(fMagField);

par->SetGen(primGen);

par->setChanged();

par->setInputVersion(1,1);

rtdb->saveOutput();

Page 17: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 17

Saving Parameters: OracleSaving Parameters: Oracle

gSystem->Load ( "libOra" );

CbmRuntimeDb* rtdb=fRun->GetRuntimeDb();

CbmParOraIo* ora=new CbmParOraIo;

ora->open("cbm_sts_oper");

rtdb->setOutput(ora);

CbmParTest* par=(CbmParTest*)(rtdb->getContainer("CbmParTest"));

par->setAuthor("M. Al-Turany");

par->setDescription("Analysis interface test");

par->write(ora);

Page 18: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 18

Analysis MacroAnalysis Macro{

gROOT->LoadMacro("$VMCWORKDIR/gconfig/basiclibs.C");

basiclibs();

gSystem->Load("libCbm");

gSystem->Load("libTrack");

CbmRunAna *fRun= new CbmRunAna();

fRun->SetInputFile(“/d/STS_AuAu25Gev_Urqmd.root");

fRun->SetOutputFile(“trackOutput.root");

Page 19: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 19

Analysis Macro: Reading ParametersAnalysis Macro: Reading Parameters

CbmTrack *tr= new CbmTrack("Tracking Algorithm");

fRun->AddTask(tr);

CbmRuntimeDb* rtdb=fRun->GetRuntimeDb();

CbmParRootFileIo* input=new CbmParRootFileIo();

input->open("test.root");

rtdb->setFirstInput(input);

CbmBaseParSet* par =

(CbmBaseParSet*)(rtdb->getContainer ("CbmBaseParSet") );

rtdb->initContainers(1); // runId = 1

par->print();

fRun->Init();

fRun->Run();

Page 20: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 20

Reading Parameters: OracleReading Parameters: Oracle

gSystem->Load ( "libOra" );

CbmRunAna * fRun = new CbmRunAna();

CbmRuntimeDb* rtdb=fRun->GetRuntimeDb();

CbmParOraIo* ora=new CbmParOraIo();

ora->open();

rtdb->setFirstInput(ora);

CbmGenericParOraIo* genio=

(CbmGenericParOraIo*)(ora->getDetParIo("CbmGenericParIo"));

CbmParTest* par=(CbmParTest*)(rtdb->getContainer("CbmParTest"));

genio->readFromLoadingTable(par,1); // runId =1

par->print();

par->printParams();

Page 21: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 21

Chaining root files Chaining root files

• Chaining mechanism supported in the Analysis: { // …

CbmRunAna *fRun = new CbmRunAna(); fRun->SetInputFile(“myfile1.root”); fRun->AddFile(“myfile2.root”); fRun->AddFile(“myfile3.root”);

// loop over all entries fRun->Run();

}

Page 22: CBM Simulation & Analysis Framework Cbmroot

10.03.2005 CBM Collaboration Meeting 22

SummarySummary

• The G3 Native geometry builder is implemented, the validation of the modified G3 is being performed. (TGeo as a navigation system for G3)

• Inconsistency in the Cerenkov effect has been found and a report has been send to the VMC group.

• Hades spectrometer has been fully integrated – Gives us the opportunity to tune Geant4 (cuts/physics list …) and

compare with real Data ! – Validate TGeo and G3 with data– Realistic test of the framework.

• HADES Parameter containers are implemented and ready to use

• The Hades Oracle interface is integrated within the framework