void rec() { AliReconstruction reco; reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); reco.SetDefaultStorage(Form("local://%s/OCDB", gSystem->pwd())); reco.SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd())); reco.SetRunPlaneEff(kTRUE); //reco.SetRunQA("ALL:ALL") ; reco.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ; for (Int_t det = 0 ; det < AliQA::kNDET ; det++) { reco.SetQACycles((AliQAv1::DETECTORINDEX_t)det, 999) ; reco.SetQAWriteExpert((AliQAv1::DETECTORINDEX_t)det) ; } TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction reco; reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); reco.SetRecoParam("ITS",AliITSRecoParam::GetLowFluxParam()); reco.SetRecoParam("TPC",AliTPCRecoParam::GetLowFluxParam()); reco.SetRecoParam("TRD",AliTRDrecoParam::GetLowFluxParam()); reco.SetRecoParam("PHOS",AliPHOSRecoParam::GetDefaultParameters()); reco.SetRecoParam("MUON",AliMUONRecoParam::GetLowFluxParam()); reco.SetRecoParam("EMCAL",AliEMCALRecParam::GetLowFluxParam()); reco.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal/?cacheFold=/tmp/CDBCache?operateDisconnected=kFALSE"); reco.SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd())); // add TRD standalone tracks reco.SetOption("TRD", "sl_tr_1"); reco.SetRunGlobalQA(kTRUE); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction reco; reco.SetRunReconstruction("ITS TPC TOF PHOS HMPID EMCAL MUON FMD ZDC PMD T0 VZERO"); reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); reco.SetDefaultStorage("alien://Folder=/alice/data/2011/OCDB"); // Total number of specific storages - 28 // // ITS (2 objects) reco.SetSpecificStorage("ITS/Align/Data", "alien://folder=/alice/simulation/2008/v4-15-Release/Residual"); reco.SetSpecificStorage("ITS/Calib/SPDNoisy", "alien://folder=/alice/simulation/2008/v4-15-Release/Residual"); // // MUON (1 objects) // MCH reco.SetSpecificStorage("MUON/Align/Data", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); // // TPC (25 objects) reco.SetSpecificStorage("TPC/Align/Data", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/GainFactorDedx", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/PadTime0", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/ClusterParam", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Pedestals", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Parameters", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/ExB", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Mapping", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/PadNoise", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/PadGainFactor", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Temperature", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/RecoParam", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/TimeGain", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/AltroConfig", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/CE", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Pulser", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Distortion", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Ref", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Raw", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/QA", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/TimeDrift", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Goofie", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/HighVoltage", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/LaserTracks", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("TPC/Calib/Correction", "alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction MuonRec; MuonRec.SetInput("raw.root"); MuonRec.SetRunLocalReconstruction("MUON ITS VZERO"); MuonRec.SetRunTracking("MUON ITS VZERO"); MuonRec.SetRunVertexFinder(kTRUE); MuonRec.SetFillESD("MUON VZERO HLT"); MuonRec.SetRunQA("MUON:ALL"); MuonRec.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal/"); // QA reference MuonRec.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ; // HLT MuonRec.SetSpecificStorage("HLT/ConfigMUON/DecisionComponent","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); MuonRec.SetSpecificStorage("HLT/ConfigMUON/HitReconstructor","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); MuonRec.SetSpecificStorage("HLT/ConfigMUON/MansoTrackerFSM","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); MuonRec.SetSpecificStorage("HLT/ConfigMUON/TriggerReconstructor","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); // CTP MuonRec.SetSpecificStorage("GRP/CTP/Config","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); // tracker masks MuonRec.SetSpecificStorage("MUON/Calib/Gains","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb/rec"); MuonRec.SetSpecificStorage("MUON/Calib/Pedestals","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb/rec"); // reconstruction parameters AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam(); muonRecoParam->SaveFullClusterInESD(kTRUE,100.); for (Int_t i = 0; i < 10; i++) { muonRecoParam->SetDefaultNonBendingReso(i, 0.1524); muonRecoParam->SetDefaultBendingReso(i, 0.05099); } //muonRecoParam->Print("FULL"); MuonRec.SetRecoParam("MUON",muonRecoParam); MuonRec.SetNumberOfEventsPerFile(500); TStopwatch timer; timer.Start(); MuonRec.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction reco; reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); // Use the GRP from the backgr reco.SetDefaultStorage("local://$ALICE_ROOT/OCDB"); reco.SetSpecificStorage("GRP/GRP/Data", Form("local://%s/../backgr",gSystem->pwd())); reco.SetRunPlaneEff(kTRUE); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction MuonRec; MuonRec.SetInput("raw.root"); MuonRec.SetRunLocalReconstruction("MUON ITS VZERO"); MuonRec.SetRunTracking("MUON ITS VZERO"); MuonRec.SetRunVertexFinder(kTRUE); MuonRec.SetFillESD("MUON VZERO HLT"); MuonRec.SetRunQA("MUON:ALL"); MuonRec.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal/"); // QA reference MuonRec.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ; // GRP MuonRec.SetSpecificStorage("GRP/GRP/Data",Form("local://%s",gSystem->pwd())); // HLT MuonRec.SetSpecificStorage("HLT/ConfigMUON/DecisionComponent","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); MuonRec.SetSpecificStorage("HLT/ConfigMUON/HitReconstructor","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); MuonRec.SetSpecificStorage("HLT/ConfigMUON/MansoTrackerFSM","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); MuonRec.SetSpecificStorage("HLT/ConfigMUON/TriggerReconstructor","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); // CTP MuonRec.SetSpecificStorage("GRP/CTP/Config","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb"); // alignment MuonRec.SetSpecificStorage("MUON/Align/Data","alien://Folder=/alice/cern.ch/user/b/bogdan/prod2009/cdb/ideal"); // reconstruction parameters AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam(); muonRecoParam->SaveFullClusterInESD(kTRUE,100.); //muonRecoParam->Print("FULL"); MuonRec.SetRecoParam("MUON",muonRecoParam); MuonRec.SetNumberOfEventsPerFile(500); TStopwatch timer; timer.Start(); MuonRec.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction reco; reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); reco.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal/?cacheFold=/tmp/CDBCache?operateDisconnected=kFALSE"); // No write access to the OCDB => specific storage reco.SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd())); reco.SetRunQA("ALL:ALL"); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction reco; reco.SetUniformFieldTracking(kFALSE); reco.SetWriteESDfriend(kFALSE); reco.SetWriteAlignmentData(kFALSE); AliTPCRecoParam * tpcRecoParam = AliTPCRecoParam::GetHighFluxParam(); AliTPCReconstructor::SetRecoParam(tpcRecoParam); AliTPCReconstructor::SetStreamLevel(0); reco.SetRunReconstruction("ITS TPC TRD TOF PHOS HMPID EMCAL MUON FMD ZDC T0 VZERO"); reco.SetDefaultStorage("alien://Folder=/alice/simulation/2007/PDC07_1/Ideal/CDB/"); AliCDBManager::Instance()->SetSpecificStorage("EMCAL/*","local://DBpp"); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction reco; reco.SetUniformFieldTracking(kFALSE); reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); AliTPCRecoParam * tpcRecoParam = AliTPCRecoParam::GetLowFluxParam(); AliTPCReconstructor::SetRecoParam(tpcRecoParam); AliTPCReconstructor::SetStreamLevel(1); // reco.SetInput("raw.root"); reco.SetRunReconstruction("ITS TPC TRD TOF HMPID PHOS EMCAL MUON VZERO T0 FMD PMD ZDC"); reco.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-12-Release/Ideal/"); reco.SetRunQA(kFALSE); reco.SetRunGlobalQA(kFALSE); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void rec() { AliReconstruction Rec; Rec.SetRunQA("ALL:ALL"); Rec.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Residual"); // QA reference Rec.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ; //GRP Rec.SetSpecificStorage("GRP/GRP/Data",Form("local://%s",gSystem->pwd())); // Vertex Rec.SetSpecificStorage("GRP/Calib/MeanVertexSPD", "alien://folder=/alice/data/2009/OCDB"); Rec.SetSpecificStorage("GRP/Calib/MeanVertex", "alien://folder=/alice/data/2009/OCDB"); Rec.SetSpecificStorage("GRP/Calib/MeanVertexTPC", "alien://folder=/alice/data/2009/OCDB"); // SPD Rec.SetSpecificStorage("ITS/Calib/SPDDead","alien://Folder=/alice/data/2009/OCDB"); Rec.SetSpecificStorage("TRIGGER/SPD/PITConditions","alien://folder=/alice/data/2009/OCDB"); // // Reco Param Rec.SetSpecificStorage("ITS/Calib/RecoParam","alien://folder=/alice/data/2009/OCDB"); Rec.SetSpecificStorage("GRP/Calib/RecoParam","alien://folder=/alice/data/2009/OCDB"); // // TPC // Rec.SetSpecificStorage("TPC/Calib/PadGainFactor", "alien://folder=/alice/data/2009/OCDB"); // // PMD: this object is missing in the MC OCDB // Rec.SetSpecificStorage("PMD/Calib/NoiseCut", "alien://folder=/alice/data/2009/OCDB"); TStopwatch timer; timer.Start(); Rec.Run(); timer.Stop(); timer.Print(); }
void recTPC(Int_t type, const char *filename="data.root") { /// Set path to calibration data /// /// type variable = 0 - cosmic test /// = 1 - laser test AliCDBManager * man = AliCDBManager::Instance(); man->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); //man->SetRun(0); //man->SetSpecificStorage("TPC/*/*","local:///afs/cern.ch/user/m/mivanov/public/Calib"); // // Set reconstruction parameters // AliLog::SetClassDebugLevel("AliTPCclusterer",2); AliTPCRecoParam * tpcRecoParam = 0; if (type==0) tpcRecoParam = AliTPCRecoParam::GetCosmicTestParam(kTRUE); if (type>0) tpcRecoParam = AliTPCRecoParam::GetLaserTestParam(kTRUE); tpcRecoParam->Dump(); AliTPCReconstructor::SetRecoParam(tpcRecoParam); AliTPCReconstructor::SetStreamLevel(1); // // // AliReconstruction rec; rec.SetDefaultStorage("local://$ALICE_ROOT/OCDB"); rec.SetSpecificStorage("TPC/*/*","local:///afs/cern.ch/user/m/mivanov/public/Calib"); rec.SetLoadAlignData(""); rec.SetWriteESDfriend(kTRUE); rec.SetInput(filename); rec.SetEquipmentIdMap("EquipmentIdMap.data"); rec.SetRunReconstruction("TPC"); rec.SetOption("TPC","PedestalSubtraction"); // rec.SetRunLocalReconstruction(""); // rec.SetRunTracking("TPC"); rec.SetFillESD("TPC"); rec.SetFillTriggerESD(kFALSE); rec.SetRunVertexFinder(kFALSE); rec.SetWriteAlignmentData(kTRUE); rec.Run(); }
void rec() { /* AliLog::SetGlobalLogLevel(AliLog::kInfo); AliLog::SetClassDebugLevel("AliTOFtracker",2); AliLog::SetClassDebugLevel("AliTOFtrackerV1",2); AliLog::SetClassDebugLevel("AliTOFGeometry",2);*/ AliReconstruction reco; reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); // reco.SetRecoParam("ITS",AliITSRecoParam::GetHighFluxParam()); AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam(); //Pb-Pb // trackleter options ... itsRecoParam->SetTrackleterOnlyOneTrackletPerC2(kFALSE); itsRecoParam->SetTrackleterPhiWindow(0.015); //rad itsRecoParam->SetTrackleterZetaWindow(0.03); //cm reco.SetRecoParam("ITS",itsRecoParam); reco.SetRecoParam("TPC",AliTPCRecoParam::GetHighFluxParam()); reco.SetRecoParam("TRD",AliTRDrecoParam::GetHighFluxParam()); reco.SetRecoParam("TOF",AliTOFRecoParam::GetPbPbparam()); reco.SetRecoParam("PHOS",AliPHOSRecoParam::GetDefaultParameters()); reco.SetRecoParam("MUON",AliMUONRecoParam::GetHighFluxParam()); reco.SetRunVertexFinderTracks(kFALSE); reco.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal"); reco.SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd())); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void recraw() { // AliReconstruction settings AliReconstruction reco; reco.SetWriteESDfriend(kTRUE); reco.SetWriteAlignmentData(); reco.SetInput("raw.root"); reco.SetDefaultStorage("local://$ALICE_ROOT/OCDB"); reco.SetSpecificStorage("GRP/GRP/Data", Form("local://%s/..",gSystem->pwd())); reco.SetUseTrackingErrorsForAlignment("ITS"); // all events in one single file reco.SetNumberOfEventsPerFile(-1); // switch off cleanESD reco.SetCleanESD(kFALSE); reco.SetRunQA("ALL:ALL") ; reco.SetQARefDefaultStorage("local://$ALICE_ROOT/OCDB") ; for (Int_t det = 0 ; det < AliQA::kNDET ; det++) { reco.SetQACycles(det, 9999) ; reco.SetQAWriteExpert(det) ; } AliLog::Flush(); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void rec() { if (!strcmp(gSystem->GetBuildArch(),"win32gcc")) { gSystem->Load("libProof"); gSystem->Load("libGui"); gROOT->Macro("loadlibsrec.C"); new AliRun("gAlice","The ALICE Off-line Simulation Framework"); } AliReconstruction reco; reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); reco.SetDefaultStorage("local://$ALICE_ROOT/OCDB"); reco.SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd())); reco.SetRunPlaneEff(kTRUE); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
/* * Example macro to run the HLT vertexer embedded * into AliRoot reconstruction. The reconstruction is done from the raw data. * * Usage: * <pre> * aliroot -b -q rec-vertexer.C | tee rec-vertexer.log * </pre> * * The chain to be run is defined by the macro given to the parameter * 'config=' * * The macro asumes raw data to be available in the rawx folders, either * simulated or real data. A different input can be specified as parameter * <pre> * aliroot -b -q rec-vertexer.C'("input.root")' * </pre> * * AliHLTTPCDigitReader32Bit is used to read the data * * In the first section, an analysis chain is defined. The scale of the * chain can be defined by choosing the range of sectors and partitions. * * The reconstruction is steered by the AliReconstruction object in the * usual way. * * @ingroup alihlt_global * @author */ void rec_vertexer(const char* input="./") { if(!gSystem->AccessPathName("galice.root")){ cerr << "please delete the galice.root or run at different place." << endl; return; } if (!input) { cerr << "please specify input or run without arguments" << endl; return; } /////////////////////////////////////////////////////////////////////////////////////////////////// // // init the HLT system in order to define the analysis chain below // AliHLTSystem* gHLT=AliHLTPluginBase::GetInstance(); TString option="libAliHLTUtil.so libAliHLTRCU.so libAliHLTTPC.so libAliHLTGlobal.so loglevel=0x7c chains="; /////////////////////////////////////////////////////////////////////////////////////////////////// // // define the analysis chain to be run // int iMinSlice=0; int iMaxSlice=35; int iMinPart=0; int iMaxPart=5; TString writerInput; TString mergerInput; TString histoInput; TString histogramHandlerInputClusterFinder; TString cdumpInput; for (int slice=iMinSlice; slice<=iMaxSlice; slice++) { TString trackerInput; for (int part=iMinPart; part<=iMaxPart; part++) { TString arg, publisher, cf; TString clusterHistoOutput; // raw data publisher components int ddlno=768; if (part>1) ddlno+=72+4*slice+(part-2); else ddlno+=2*slice+part; arg.Form("-minid %d -datatype 'DDL_RAW ' 'TPC ' -dataspec 0x%02x%02x%02x%02x -verbose", ddlno, slice, slice, part, part); publisher.Form("DP_%02d_%d", slice, part); new AliHLTConfiguration(publisher.Data(), "AliRawReaderPublisher", NULL , arg.Data()); // cluster finder components cf.Form("CF_%02d_%d", slice, part); new AliHLTConfiguration(cf.Data(), "TPCClusterFinder32Bit", publisher.Data(), "-solenoidBz -5"); if (trackerInput.Length()>0) trackerInput+=" "; trackerInput+=cf; if (writerInput.Length()>0) writerInput+=" "; writerInput+=cf; if (histoInput.Length()>0) histoInput+=" "; histoInput+=cf; if (cdumpInput.Length()>0) cdumpInput+=" "; cdumpInput+=cf; } TString tracker; // tracker components tracker.Form("TR_%02d", slice); new AliHLTConfiguration(tracker.Data(), "TPCCATracker", trackerInput.Data(), ""); if (writerInput.Length()>0) writerInput+=" "; writerInput+=tracker; if (mergerInput.Length()>0) mergerInput+=" "; mergerInput+=tracker; //add all slice tracks to histo input //if (histoInput.Length()>0) histoInput+=" "; //histoInput+=tracker; } // GlobalMerger component new AliHLTConfiguration("globalmerger","TPCCAGlobalMerger",mergerInput.Data(),""); //add all global tracks to histo input if (histoInput.Length()>0) histoInput+=" "; histoInput+="globalmerger"; // specify whether to write all blocks separately or merge the tracks // and convert to ESD bool writeBlocks=false; // the esd converter configuration new AliHLTConfiguration("esd-converter", "GlobalEsdConverter" , "globalmerger", "-fitTracksToVertex 1"); new AliHLTConfiguration("global-vertexer", "GlobalVertexer" , "esd-converter", ""); new AliHLTConfiguration("v0HistoOut", "V0Histo" , "global-vertexer", ""); new AliHLTConfiguration("GVhistorootfile", "ROOTFileWriter", "global-vertexer" , "-datafile primaryVertexHistograms -concatenate-events -overwrite"); new AliHLTConfiguration("v0historootfile", "ROOTFileWriter", "v0HistoOut" , "-datafile secondaryVertexHistograms -concatenate-events -overwrite"); option+="v0historootfile"; option+=",GVhistorootfile"; /////////////////////////////////////////////////////////////////////////////////////////////////// // // Init and run the reconstruction // All but HLT reconstructio is switched off // AliReconstruction rec; rec.SetDefaultStorage("local://$ALICE_ROOT/OCDB"); // rec.SetDefaultStorage("local://$HOME/HCDB"); //rec.SetSpecificStorage("GRP/GRP/Data", // Form("local://%s",gSystem->pwd())); // rec.SetSpecificStorage("GRP/GRP/Data","local:///opt/HLT-public/OCDB/LHC09c"); // rec.SetSpecificStorage("GRP/CTP/Config","local:///opt/HLT-public/OCDB/LHC09c"); // rec.SetSpecificStorage("GRP/CTP/Config", "local:///opt/HLT-public/rec/LHC09c/"); rec.SetInput(input); rec.SetRunVertexFinder(kFALSE); rec.SetRunReconstruction("HLT"); //add TPC for comparison rec.SetLoadAlignFromCDB(0); rec.SetRunQA(":"); rec.SetOption("HLT",option); // switch off cleanESD rec.SetCleanESD(kFALSE); // rec.SetEventRange(0, 100); rec.Run(); }
void rec() { AliReconstruction reco; // // switch off cleanESD, write ESDfriends and Alignment data reco.SetCleanESD(kFALSE); reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); // // ITS Efficiency and tracking errors reco.SetRunPlaneEff(kTRUE); reco.SetUseTrackingErrorsForAlignment("ITS"); // // Residual OCDB reco.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); // // GRP from local OCDB reco.SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd())); // // Vertex from RAW OCDB reco.SetSpecificStorage("GRP/Calib/MeanVertexTPC","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("GRP/Calib/MeanVertex","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("GRP/Calib/MeanVertexSPD", "alien://folder=/alice/data/2010/OCDB"); // // EMCAL from RAW OCDB reco.SetSpecificStorage("EMCAL/Calib/Data","alien://Folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("EMCAL/Calib/Pedestals","alien://Folder=/alice/data/2010/OCDB"); // // PHOS from RAW OCDB reco.SetSpecificStorage("PHOS/Calib/EmcBadChannels","alien://Folder=/alice/data/2010/OCDB"); // // SPD and SDD from RAW OCDB reco.SetSpecificStorage("ITS/Calib/SPDDead","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("TRIGGER/SPD/PITConditions","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("ITS/Calib/SPDNoise","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("ITS/Calib/CalibSDD","alien://Folder=/alice/data/2010/OCDB"); // // TRD from RAW OCDB reco.SetSpecificStorage("TRD/Calib/ChamberStatus","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("TRD/Calib/PadStatus","alien://folder=/alice/data/2010/OCDB"); // // TPC from RAW OCDB reco.SetSpecificStorage("TPC/Calib/PadGainFactor","alien://folder=/alice/data/2010/OCDB"); // // V0 from RAW OCDB reco.SetSpecificStorage("VZERO/Trigger/Data","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("VZERO/Calib/RecoParam","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("VZERO/Calib/Data","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("VZERO/Calib/TimeSlewing","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("VZERO/Calib/TimeDelays","alien://folder=/alice/data/2010/OCDB"); // // TOF from RAW OCDB reco.SetSpecificStorage("TOF/Calib/Status","alien://folder=/alice/data/2010/OCDB"); // // FMD from RAW OCDB reco.SetSpecificStorage("FMD/Calib/Pedestal", "alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("FMD/Calib/PulseGain","alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("FMD/Calib/Dead", "alien://folder=/alice/data/2010/OCDB"); reco.SetSpecificStorage("FMD/Calib/AltroMap","alien://folder=/alice/data/2010/OCDB"); // TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }
void recCPass0(const char *filename="raw.root",Int_t nevents=-1, const char *ocdb="raw://", const char* options="?Trigger=kCalibBarrel") { if (gSystem->Getenv("ALIROOT_FORCE_COREDUMP")) { printf("ALIROOT_FORCE_COREDUMP set\n"); gSystem->ResetSignal(kSigFloatingException); gSystem->ResetSignal(kSigSegmentationViolation); } // addopt errors to account for calibration imprefection before cpass0 // 1) For TPC Double_t tpcSystematicErrors[5]={1,1.5,1./100.,1./100.,0.1}; Double_t tpcSystematicErrorClusters[2]={1.5,1.5}; Double_t tpcExtendedRoads[2]={2.5,2.5}; Double_t tpcPrimDCACuts[2] = {10.,30.}; // Y,Z TVectorD *vectpcSystematicErrors=new TVectorD(5, tpcSystematicErrors); TVectorD *vectpcSystematicErrorClusters=new TVectorD(2, tpcSystematicErrorClusters); TVectorD *vectpcExtendedRoads= new TVectorD(2, tpcExtendedRoads); TVectorD *vectpcPrimDCACuts = new TVectorD(2, tpcPrimDCACuts); const double kZOutSectorCut = 3.; // cut on clusters on wrong side of CE (added to extendedRoadZ) const double kPrimaryZ2XCut = 1.2; // cut on clusters Z/X (large eta) AliTPCReconstructor::SetSystematicError(vectpcSystematicErrors); AliTPCReconstructor::SetSystematicErrorCluster(vectpcSystematicErrorClusters); AliTPCReconstructor::SetExtendedRoads(vectpcExtendedRoads); AliTPCReconstructor::SetPrimaryDCACut(vectpcPrimDCACuts); AliTPCReconstructor::SetZOutSectorCut(kZOutSectorCut); AliTPCReconstructor::SetPrimaryZ2XCut(kPrimaryZ2XCut); // if (gSystem->Getenv("streamLevel")){ SetStreamLevel( AliTPCtracker::kStreamErrParam| AliTPCtracker::kStreamTransform); } // 2) For ITS AliITSReconstructor::SetCheckInvariant(kFALSE); // no invariant check with extended TPC errors // 3) For TOF // extra tolerance on top of default from recoparam AliTOFReconstructor::SetExtraTolerance(5.0); // 4) For TRD AliTRDReconstructor::SetExtraMaxClPerLayer(3); // to allow >6 cluster candidates per layer AliTRDReconstructor::SetExtraBoundaryTolerance(3); // relax boundary check AliTRDReconstructor::SetExtraRoadY(4); // extra road in Y AliTRDReconstructor::SetExtraRoadZ(6); // extra road in Z AliTRDReconstructor::SetExtraChi2Out(25); // extra chi2 tolerance on backpropagation // // Load some system libs for Grid and monitoring // Set the CDB storage location AliCDBManager * man = AliCDBManager::Instance(); man->SetDefaultStorage(ocdb); // Reconstruction settings AliReconstruction rec; // // do we extract the TPC recpoints in advance Int_t preclustTPC = TString(gSystem->Getenv("preclusterizeTPC")).Atoi(); Bool_t noTPCLocalRec = preclustTPC==1; if (noTPCLocalRec) printf("preclustTPC = %d: TPC local reconstruction assumed to be already done\n", preclustTPC); else printf("preclustTPC = %d: TPC local reconstruction assumed to NOT be already done\n", preclustTPC); // if (gSystem->Getenv("disableOuter")!=NULL){ TString disOuter = gSystem->Getenv("disableOuter"); TString disOuterLoc = disOuter; if (noTPCLocalRec) { disOuterLoc.ReplaceAll("TPC",""); disOuterLoc.ReplaceAll("HLT",""); } rec.SetRunReconstruction(disOuter.Data()); rec.SetRunLocalReconstruction(disOuterLoc.Data()); } else if (noTPCLocalRec) { rec.SetRunReconstruction("ALL -HLT"); rec.SetRunLocalReconstruction("ALL -TPC -HLT"); } else { rec.SetRunLocalReconstruction("ALL"); } // Upload CDB entries from the snapshot (local root file) if snapshot exist if (gSystem->AccessPathName("OCDB.root", kFileExists)==0) { rec.SetDefaultStorage("local://"); rec.SetCDBSnapshotMode("OCDB.root"); } else { // setup ocdb by custom (if any) or default settings if (gSystem->AccessPathName("localOCDBaccessConfig.C", kFileExists)==0) { gROOT->LoadMacro("localOCDBaccessConfig.C"); localOCDBaccessConfig(); }else { // default settings AliCDBManager* man = AliCDBManager::Instance(); man->SetRaw(kTRUE); } TString cdbMode = gSystem->Getenv("OCDB_SNAPSHOT_CREATE"); if (cdbMode == "kTRUE") { gROOT->LoadMacro("$ALIDPG_ROOT/MC/CreateSnapshot.C"); CreateSnapshot("OCDB.root",filename); return; } } // All friends rec.SetFractionFriends(2.0); // AliReconstruction settings - hardwired MB trigger for calibration TString newfilename = filename; newfilename += options; rec.SetInput(newfilename.Data()); // Set protection against too many events in a chunk (should not happen) if (nevents>0) rec.SetEventRange(0,nevents); // Remove recpoints after each event TString delRecPoints="TPC TRD ITS"; if (noTPCLocalRec) delRecPoints.ReplaceAll("TPC",""); rec.SetDeleteRecPoints(delRecPoints.Data()); // // Switch off the V0 finder - saves time! // rec.SetRunMultFinder(kFALSE); rec.SetRunV0Finder(kFALSE); // // QA options - all QA is off // rec.SetRunQA(":"); rec.SetRunGlobalQA(kFALSE); // AliReconstruction settings rec.SetWriteESDfriend(kTRUE); rec.SetWriteAlignmentData(); rec.SetUseTrackingErrorsForAlignment("ITS"); rec.SetCleanESD(kFALSE); // ITS options (see ALIROOT-7179) float itsErrY2[6]={0., 0., 0.1*0.1, 0.1*.1, 0.,0.}; TVectorF *vecITSErrY2 = new TVectorF(6, itsErrY2); AliITSReconstructor::SetExtraErrorY2(vecITSErrY2); //Ignore SetStopOnError rec.SetStopOnError(kFALSE); AliLog::Flush(); rec.Run(); }
void rec(const char *filename="raw.root", const char* options="") { ///////////////////////////////////////////////////////////////////////////////////////// // // Reconstruction script for RAW data // ///////////////////////////////////////////////////////////////////////////////////////// AliReconstruction rec; // Set reconstruction flags (skip detectors here if neded with -<detector name> // do we extract the TPC recpoints in advance Int_t preclustTPC = TString(gSystem->Getenv("preclusterizeTPC")).Atoi(); Bool_t noTPCLocalRec = preclustTPC==1; if (noTPCLocalRec) printf("preclustTPC = %d: TPC local reconstruction assumed to be already done\n", preclustTPC); else printf("preclustTPC = %d: TPC local reconstruction assumed to NOT be already done\n", preclustTPC); // if (noTPCLocalRec) { rec.SetRunReconstruction("ALL -HLT"); rec.SetRunLocalReconstruction("ALL -TPC -HLT"); } else { rec.SetRunLocalReconstruction("ALL"); } // Upload CDB entries from the snapshot (local root file) if snapshot exist if (gSystem->AccessPathName("OCDB.root", kFileExists)==0) { rec.SetDefaultStorage("local://"); rec.SetCDBSnapshotMode("OCDB.root"); } else { // setup ocdb by custom (if any) or default settings if (gSystem->AccessPathName("OCDBconfig.C", kFileExists)==0) { gROOT->Macro("OCDBconfig.C"); } else { // default settings AliCDBManager* man = AliCDBManager::Instance(); man->SetRaw(kTRUE); } // TString cdbMode = gSystem->Getenv("OCDB_SNAPSHOT_CREATE"); if (cdbMode == "kTRUE") { gROOT->LoadMacro("$ALIDPG_ROOT/MC/CreateSnapshot.C"); CreateSnapshot("OCDB.root",filename); return; } } // removing apparently pile-up clusters to speadup reconstruction const double kZOutSectorCut = 3.; // cut on clusters on wrong side of CE (added to extendedRoadZ) AliTPCReconstructor::SetZOutSectorCut(kZOutSectorCut); // QA options // rec.SetRunQA("Global:ESDs") ; // rec.SetRunQA(":") ; // rec.SetRunQA("ALL:ALL") ; rec.SetRunQA("Global MUON:ALL") ; rec.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ; // AD stuff (see ALIROOT-6663) // rec.SetOption("AD", "+SaturationCorrection"); // --> not needed anymore, see https://alice.its.cern.ch/jira/browse/ALIROOT-6778 // AliReconstruction settings rec.SetWriteESDfriend(kTRUE); rec.SetWriteAlignmentData(); TString filenamewithopt = filename; filenamewithopt += options; rec.SetInput(filenamewithopt.Data()); rec.SetUseTrackingErrorsForAlignment("ITS"); // Specific AD storage, see https://alice.its.cern.ch/jira/browse/ALIROOT-6056 // rec.SetSpecificStorage("AD/Calib/TimeSlewing", "alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal"); // switch off cleanESD rec.SetCleanESD(kFALSE); //Ignore SetStopOnError rec.SetStopOnError(kFALSE); // Delete recpoints // Remove recpoints after each event TString delRecPoints="TPC TRD"; if (noTPCLocalRec) delRecPoints.ReplaceAll("TPC",""); rec.SetDeleteRecPoints(delRecPoints.Data()); // // Set 0.7% as fraction of friends (Ruben, 2017-08-22) rec.SetFractionFriends(0.007); AliLog::Flush(); rec.Run(); }
void rec() { AliLog::SetGlobalLogLevel(AliLog::kError); AliReconstruction reco; reco.SetWriteESDfriend(); reco.SetWriteAlignmentData(); AliITSRecoParam * itspar = AliITSRecoParam::GetLowFluxParam(); itspar->SetStoreLikeSignV0s(kTRUE); reco.SetRecoParam("ITS",itspar); reco.SetRecoParam("TPC",AliTPCRecoParam::GetLowFluxParam()); reco.SetRecoParam("TRD",AliTRDrecoParam::GetLowFluxParam()); reco.SetRecoParam("PHOS",AliPHOSRecoParam::GetDefaultParameters()); reco.SetRecoParam("MUON",AliMUONRecoParam::GetLowFluxParam()); reco.SetRecoParam("EMCAL",AliEMCALRecParam::GetLowFluxParam()); reco.SetRecoParam("GRP",AliGRPRecoParam::GetLowFluxParam()); reco.SetOption("TRD","sl_tr_1"); // Stream Level for the tracker equal to 1 // Only in case of Full misalignment // AliGRPRecoParam *grpRecoParam = AliGRPRecoParam::GetLowFluxParam(); // grpRecoParam->SetVertexerTracksConstraintITS(kFALSE); // grpRecoParam->SetVertexerTracksConstraintTPC(kFALSE); // reco.SetRecoParam("GRP",grpRecoParam); reco.SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-15-Release/Residual/"); reco.SetSpecificStorage("GRP/GRP/Data/","alien://Folder=/alice/simulation/2008/v4-15-Release/Ideal/"); // No write access to the OCDB => local specific storage // reco.SetSpecificStorage("GRP/GRP/Data", // Form("local://%s",gSystem->pwd())); //------------------------------------------------------------------------- // Setting the cuts for the V0 and cascade finding // The values of the cuts below are "reasonable" for pp events //------------------------------------------------------------------------- Double_t v0sels[]={33, // max allowed chi2 0.05, // min allowed impact parameter for the 1st daughter 0.05, // min allowed impact parameter for the 2nd daughter 0.5, // max allowed DCA between the daughter tracks 0.99, // max allowed cosine of V0's pointing angle 0.2, // min radius of the fiducial volume 100 // max radius of the fiducial volume }; AliV0vertexer::SetDefaultCuts(v0sels); Double_t xisels[]={33., // max allowed chi2 (same as PDC07) 0.025, // min allowed V0 impact parameter (PDC07 was 0.05) 0.010, // "window" around the Lambda mass (PDC07 was 0.008) 0.025, // min allowed bachelor's impact parameter (PDC07 was 0.035) 0.2, // max allowed DCA between the V0 and the bachelor (PDC07 was 0.1) 0.998, // max allowed cosine of the cascade pointing angle (PDC07 was 0.9985) 0.2, // min radius of the fiducial volume (PDC07 was 0.9) 100 // max radius of the fiducial volume (same as PDC07) }; AliCascadeVertexer::SetDefaultCuts(xisels); reco.SetRunQA("ALL:ALL"); TStopwatch timer; timer.Start(); reco.Run(); timer.Stop(); timer.Print(); }