80 likes | 164 Views
FEDRA operation with EmuRec. Valeri Tioukov, INFN, Napoli. Status. FEDRA installed on ccali and integrated with OpRelease as an external kit (in the same way as root), so all it’s libraries and functions becomes accessible from the code or from scripts.
E N D
FEDRA operation with EmuRec Valeri Tioukov, INFN, Napoli Valeri Tioukov 14-Jan-2010
Status • FEDRA installed on ccali and integrated with OpRelease as an external kit (in the same way as root), so all it’s libraries and functions becomes accessible from the code or from scripts. • The interface classes of OpEmuRec to FEDRA algorithms of “linking”, “alignment”, “tracking”, “vertexing” are implemented. • The access for reading/writing of data from/to trees of OpRData is implemented • FEDRA package used with EmuRec is identical to the standalone version. The additional classes are added as a part of the OpEmuRec package Valeri Tioukov 14-Jan-2010
Configuration file void ConfigEmuRec() { OpEmuRec* opemurec = OpEmuRec::Instance(); //////////////////////////////////////////// // Input file name and input TTree name //////////////////////////////////////////// opemurec->SetInputRootFileName("dbtest.root"); //////////////////////////////////////////// // Algorithms to be executed //////////////////////////////////////////// opemurec->AddAlgo("LINK","FEDRA"); opemurec->AddAlgo("ALIGN","FEDRA"); opemurec->AddAlgo("TRACK","FEDRA"); opemurec->AddAlgo("VERTEX","FEDRA"); //////////////////////////////////////////// // Output file name and output TTree name //////////////////////////////////////////// opemurec->SetOutputRootFileName("opemurec.root"); } Valeri Tioukov 14-Jan-2010
Parameters file fedra.link.DoCorr true fedra.link.DoShr true fedra.link.shr.Wmin 10 fedra.link.shr.Tmin 0.01 fedra.link.shr.Tmax 0.6 fedra.link.WbaseMin 15 fedra.link.DTMax 0.05 fedra.link.DZbase -214. fedra.link.BinXY 4. fedra.link.AccPos 5. fedra.link.AccAng 0.07 fedra.link.Chi2Max 2.5 fedra.EdbDebugLevel 1 Valeri Tioukov 14-Jan-2010
Parameters file (continued) fedra.track.momentum 2. fedra.track.ProbMin 0.005 fedra.track.NsegMin 2 fedra.track.NgapMax 3 fedra.vertex.DZmax 3000. fedra.vertex. ProbMin 0.0001 fedra.vertex.ImpMax 100. fedra.vertex.UseMom 0 fedra.vertex.UseSegPar 0 fedra.vertex.QualityMode 0 Valeri Tioukov 14-Jan-2010
FedraEmrIO class void SegmentEmr2Edb( REMULRawData &sr, EdbSegP &sf ); EdbSegP *SegmentEmr2Edb( REMULRawData &sr); void SegmentEdb2Emr( EdbSegP &s, REMULRawData &sr ); REMULRawData *SegmentEdb2Emr( EdbSegP &s ); EdbTrackP *TrackEmr2Edb( REMULTrack &trE ); void TrackEmr2Edb( REMULTrack &trE, EdbTrackP &t ); REMULTrack *TrackEdb2Emr( EdbTrackP &t ); void TrackEdb2Emr( EdbTrackP &t, REMULTrack &trE ); int VertexEdb2Emr( EdbVertex &v, REMULVertex &vE ); Bool_t LayerEdb2Emr( EdbScanSet &sc, int iplate, int side, REMULLayerAlignment &la ); void LayerEdb2Emr( EdbLayer &l, REMULLayerAlignment &la ); void WriteAlignment( EdbScanSet &sc ); void WriteVolume( EdbPVRec &ali ); void ReadVolume( EdbPVRec &ali ); Valeri Tioukov 14-Jan-2010
Example of using IO EdbPVRec *ali=0; //--------------------------------------------------------------------- void vol_tr() { TFile* f = TFile::Open("opemurec.root"); TTree* treeTK = (TTree*)(gROOT->FindObject("TreeTK")); FedraEmrIO feio; fieo.eTKTreeManager = EmulTKTreeManager::giveThis(treeTK,"read"); ali = new EdbPVRec(); feio.ReadVolume(*ali); ali->Print(); } Valeri Tioukov 14-Jan-2010
Conclusion and outlook • Technical problems are solved and basic volume reconstruction is possible • All Fedra functions (including displays, MCS momentum estimation, etc) can be called on the EmuRec data by the user scripts • Interfaces debugging and in some cases completion is required (experienced Fedra users can easily contribute to this job) • Many upgrades and modifications will be necessary for the full event analysis when the DataMap structure will be ready Valeri Tioukov 14-Jan-2010