//______________________________________________________________________________ void ChangeITSRecoParam(Int_t startRun=157560,const char* outputOCDB="alien://folder=/alice/cern.ch/user/l/laphecet/OCDB") { AliCDBManager::Instance()->SetDefaultStorage("raw://"); AliCDBManager::Instance()->SetRun(startRun); AliCDBEntry* entry = AliCDBManager::Instance()->Get("ITS/Calib/RecoParam"); if (!entry) return; TObject* o = entry->GetObject(); if (!o) { cout << "Could not get recoparams ? Oups" << endl; return; } if ( o->IsA() != TObjArray::Class() ) { cout << "This code only works with TObjArray recoparams. Sorry" << endl; return; } TObjArray* array = static_cast<TObjArray*>(o); for ( Int_t i = 0; i <= array->GetLast(); ++i ) { AliDetectorRecoParam* p = static_cast<AliDetectorRecoParam*>(array->At(i)); if (AliRecoParam::Convert(p->GetEventSpecie())==AliRecoParam::kLowMult) { cout << Form("array[%d]=%s %s %s",i, p ? p->ClassName() : "", p ? AliRecoParam::GetEventSpecieName(AliRecoParam::Convert(p->GetEventSpecie())) :"", p ? ( p->IsDefault() ? "default" : "") : "" ) << endl; AliITSRecoParam* rp = dynamic_cast<AliITSRecoParam*>(p); if (!rp) { cout << "OUPS. OUPS" << endl; return; } rp->SetVertexer(4); // should be fast (i.e. MC) vertexer (an enum would be better for sure) } } AliCDBManager::Instance()->SetDefaultStorage(outputOCDB); AliMUONCDB::WriteToCDB(array, "ITS/Calib/RecoParam", startRun, AliCDBRunRange::Infinity(), "reconstruction parameters for ITS, patched for fake vertex finder", "L. Aphecetche"); }
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(); }
AliITSRecoParam* GetSpecialITSRecoParam() { AliITSRecoParam *itsRecoParam = AliITSRecoParam::GetHighFluxParam(); itsRecoParam->SetTrackleterPhiWindowL2(0.07); itsRecoParam->SetTrackleterZetaWindowL2(0.4); itsRecoParam->SetTrackleterPhiWindowL1(0.10); itsRecoParam->SetTrackleterZetaWindowL1(0.6); itsRecoParam->SetTrackleterPhiWindow(0.06); itsRecoParam->SetTrackleterThetaWindow(0.025); itsRecoParam->SetTrackleterScaleDThetaBySin2T(kTRUE); itsRecoParam->SetTrackleterRemoveClustersFromOverlaps(kTRUE); itsRecoParam->SetVertexerZ(); itsRecoParam->ReconstructOnlySPD(); return itsRecoParam; }
AliITSRecoParam* GetSpecialITSRecoParam() { AliITSRecoParam *itsRecoParam = AliITSRecoParam::GetHighFluxParam(); itsRecoParam->SetTrackleterPhiWindowL2(0.07); itsRecoParam->SetTrackleterZetaWindowL2(0.4); itsRecoParam->SetTrackleterPhiWindowL1(0.10); itsRecoParam->SetTrackleterZetaWindowL1(0.6); itsRecoParam->SetTrackleterPhiWindow(0.06); itsRecoParam->SetTrackleterThetaWindow(0.025); itsRecoParam->SetTrackleterScaleDThetaBySin2T(kTRUE); itsRecoParam->SetTrackleterRemoveClustersFromOverlaps(kTRUE); itsRecoParam->SetVertexerZ(); // this is the present default. We plan to use 3D vertexer for pass 2. If you want to select 3D you can replace this line with itsRecoParam->ReconstructOnlySPD(); return itsRecoParam; }
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(); }