本文整理汇总了C++中AliReconstruction::SetRunReconstruction方法的典型用法代码示例。如果您正苦于以下问题:C++ AliReconstruction::SetRunReconstruction方法的具体用法?C++ AliReconstruction::SetRunReconstruction怎么用?C++ AliReconstruction::SetRunReconstruction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AliReconstruction
的用法示例。
在下文中一共展示了AliReconstruction::SetRunReconstruction方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: rec
void rec() {
// AliLog::SetGlobalDebugLevel(10);
AliCDBManager * man = AliCDBManager::Instance();
man->SetDefaultStorage("alien://Folder=/alice/simulation/2008/v4-10-Release/Residual/");
man->SetSpecificStorage("EMCAL/*","local://DB");
AliReconstruction reco;
AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., AliMagFMaps::k5kG);
AliTracker::SetFieldMap(field,kTRUE);
reco.SetUniformFieldTracking(kFALSE);
reco.SetWriteESDfriend();
reco.SetWriteAlignmentData();
AliTPCRecoParam * tpcRecoParam = AliTPCRecoParam::GetLowFluxParam();
AliTPCReconstructor::SetRecoParam(tpcRecoParam);
AliTPCReconstructor::SetStreamLevel(0);
reco.SetRunReconstruction("ITS TPC TRD TOF HMPID PHOS EMCAL MUON T0 VZERO FMD PMD ZDC");
//reco.SetInput("raw.root") ;
//AliPHOSRecoParam* recEmc = new AliPHOSRecoParamEmc();
// recEmc->SetSubtractPedestals(kFALSE);
// AliPHOSReconstructor::SetRecoParamEmc(recEmc);
reco.SetRunQA(kFALSE) ;
TStopwatch timer;
timer.Start();
reco.Run();
timer.Stop();
timer.Print();
}
示例2: runReconstruction
void runReconstruction(int seed, const char* input, const char* recoptions, bool rawocdb)
{
AliCDBManager* man = AliCDBManager::Instance();
if ( rawocdb )
{
cout << "**** WILL USE RAW OCDB" << endl;
man->SetDefaultStorage("raw://"); //alien://folder=/alice/data/2011/OCDB?cacheFold=/Users/laurent/OCDBcache");
man->SetSpecificStorage("ITS/Calib/RecoParam","alien://folder=/alice/cern.ch/user/p/ppillot/OCDB_PbPbSim");
}
else
{
man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
man->SetSpecificStorage("GRP/GRP/Data",
Form("local://%s",gSystem->pwd()));
}
gRandom->SetSeed(seed);
AliReconstruction* MuonRec = new AliReconstruction("galice.root");
MuonRec->SetInput(gSystem->ExpandPathName(input));
MuonRec->SetRunReconstruction("MUON ITS");
MuonRec->SetFillESD("HLT");
MuonRec->SetOption("HLT", "libAliHLTMUON.so");
MuonRec->SetNumberOfEventsPerFile(10000);
MuonRec->SetOption("MUON",recoptions);
MuonRec->SetRunQA("MUON:ALL");
MuonRec->SetQAWriteExpert(AliQAv1::kMUON);
MuonRec->SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ;
MuonRec->SetWriteESDfriend(kFALSE);
MuonRec->SetCleanESD(kFALSE);
MuonRec->SetStopOnError(kFALSE);
// uncomment the following lines if you want to set custom RecoParam
// instead of getting them from the OCDB
// AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam();
// muonRecoParam->SaveFullClusterInESD(kTRUE,100.);
// MuonRec->SetRecoParam("MUON",muonRecoParam);
MuonRec->Run();
delete MuonRec;
//gObjectTable->Print();
}
示例3: recTPC
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();
}
示例4: rec
void rec() {
AliReconstruction reco;
reco.SetRunVertexFinder(kFALSE) ;
reco.SetRunV0Finder(kFALSE) ;
reco.SetRunMultFinder(kFALSE) ;
AliQAManager::QAManager(AliQAv1::kSIMMODE) ;
reco.SetCDBSnapshotMode("Sim/OCDBrec.root");
reco.SetRunReconstruction("PHOS") ;
reco.SetRunQA(":") ;
reco.SetRunGlobalQA(kFALSE) ;
TStopwatch timer;
timer.Start();
reco.Run();
timer.Stop();
timer.Print();
}
示例5: AliPMDRec
void AliPMDRec()
{
// This macro for the full reconstruction chain. Only PMD is ON.
//
AliCDBManager * man = AliCDBManager::Instance();
man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
man->SetRun(0);
Int_t firstEvent = 0;
Int_t lastEvent = 1;
AliReconstruction rec;
rec.SetRunReconstruction("PMD");
rec.SetRunVertexFinder(kFALSE);
rec.SetFillESD("PMD");
rec.SetFillTriggerESD(kFALSE);
// rec.Run("./");
// rec.Run("raw.date");
rec.Run("raw_6b_61.root",firstEvent,lastEvent);
}
示例6: HLTT0Test
// ----------------------------------------------------------------------------
void HLTT0Test(const Char_t *filename, const Char_t *cdbURI,
Int_t minEvent=-1, Int_t maxEvent=-1) {
printf (" ============================================= \n\n");
printf (" TEST T0 RECONSTRUCTION \n\n");
printf (" ============================================= \n");
if(!gSystem->AccessPathName("galice.root")){
cerr << "AliReconstruction on raw data requires to delete galice.root, ";
cerr << "or run at different place." << endl;
cerr << "!!! DO NOT DELETE the galice.root of your simulation, ";
cerr << "but create a subfolder !!!!" << endl;
return;
}
TGrid::Connect("alien");
if (gSystem->AccessPathName(filename)) {
cerr << "can not find file " << filename << endl;
return;
}
// -- connect to the GRID if we use a file or OCDB from the GRID
TString struri=cdbURI;
TString strfile=filename;
if (struri.BeginsWith("raw://") ||
strfile.Contains("://") && !strfile.Contains("local://")) {
TGrid::Connect("alien");
}
// -- Set the CDB storage location
AliCDBManager * man = AliCDBManager::Instance();
man->SetDefaultStorage(cdbURI);
if (struri.BeginsWith("local://")) {
// set specific storage for GRP entry
// search in the working directory and one level above, the latter
// follows the standard simulation setup like e.g. in test/ppbench
if (!gSystem->AccessPathName("GRP/GRP/Data")) {
man->SetSpecificStorage("GRP/GRP/Data", "local://$PWD");
} else if (!gSystem->AccessPathName("../GRP/GRP/Data")) {
man->SetSpecificStorage("GRP/GRP/Data", "local://$PWD/..");
} else {
cerr << "can not find a GRP entry, please run the macro in the folder" << endl;
cerr << "of a simulated data sample, or specify a GRID OCDB" << endl;
HLTT0Test();
return;
}
}
//////////////////////////////////////////////////////////////////////////////////////
//
// Reconstruction settings
AliReconstruction rec;
if (minEvent>=0 || maxEvent>minEvent) {
if (minEvent<0) minEvent=0;
if (maxEvent<minEvent) maxEvent=minEvent;
rec.SetEventRange(minEvent,maxEvent);
}
rec.SetRunReconstruction("HLT");
rec.SetLoadAlignFromCDB(kFALSE);
rec.SetWriteESDfriend(kFALSE);
// due to bug ...
// StopOnError needs to be disabled
rec.SetStopOnError(kFALSE);
rec.SetRunVertexFinder(kFALSE);
rec.SetInput(filename);
// QA options
rec.SetRunQA(":") ;
//rec.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ;
//////////////////////////////////////////////////////////////////////////////////////
//
// setup the HLT system
AliHLTSystem* pHLT=AliHLTPluginBase::GetInstance();
/*
// define a data publisher configuration for T0 raw data
AliHLTConfiguration publisher("RAW-Publisher",
"AliRawReaderPublisher",
"",
"-equipmentid 3584 "
"-datatype 'DDL_RAW ' 'VZRO' "
"-dataspec 0x01"
);
// define configuration of the T0Reconstruction component
AliHLTConfiguration vzeroReco("T0-Reconstruction",
"T0Reconstruction",
"RAW-Publisher",
""
);
// define configuration of the GlobalEsdConverter component
AliHLTConfiguration esdConverter("GLOBAL-ESD-Converter",
"GlobalEsdConverter",
"T0-Reconstruction",
""
//.........这里部分代码省略.........
示例7: rec_vertexer
//.........这里部分代码省略.........
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();
}
示例8: trackhisto
//.........这里部分代码省略.........
for(int part=iMinPart; part<=iMaxPart; part++){
TString arg, publisher, cf;
// 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);
AliHLTConfiguration pubconf(publisher.Data(), "AliRawReaderPublisher", NULL , arg.Data());
// cluster finder components
cf.Form("CF_%02d_%d", slice, part);
AliHLTConfiguration cfconf(cf.Data(), "TPCClusterFinder32Bit", publisher.Data(), "");
if (trackerInput.Length()>0) trackerInput+=" ";
trackerInput+=cf;
}
TString tracker, converted_tracklet;
// tracker components
tracker.Form("TR_%02d", slice);
converted_tracklet.Form("CONVTR_%02d", slice);
AliHLTConfiguration trackerconf(tracker.Data(), "TPCCATracker", trackerInput.Data(), "");
AliHLTConfiguration convertedconf(converted_tracklet.Data(), "TPCCATrackerOutputConverter", tracker.Data(), "");
if (tracklets.Length()>0) tracklets+=" ";
tracklets+=converted_tracklet;
}
TString histoInput;
if(bTracklets==kTRUE){
if(histoInput.Length()>0)
histoInput+=" ";
histoInput+=tracklets;
AliHLTConfiguration tracklethiconf("tracklethi", "TPCTrackHisto", histoInput.Data(), "");
AliHLTConfiguration trackletrwfconf("trackletrfw", "ROOTFileWriter", "tracklethi", "-datafile TrackletHisto -concatenate-events -overwrite");
}
else {
if(histoInput.Length()>0)
histoInput+=" ";
histoInput+="TPC-clusters";
histoInput+=" ";
histoInput+="TPC-globalmerger";
AliHLTConfiguration trhiconf("trhi", "TPCTrackHisto", histoInput.Data(), "");
AliHLTConfiguration rwfconf("rfw", "ROOTFileWriter", "trhi", "-datafile TrackHisto -concatenate-events -overwrite");
}
AliReconstruction rec;
rec.SetRunQA(":");
rec.SetInput(filename);
// connect to the GRID if we use a file or OCDB from the GRID
TString struri = cdbURI;
TString strfile = filename;
if(struri.BeginsWith("raw://") || strfile.Contains("://") && !strfile.Contains("local://")){
TGrid::Connect("alien");
}
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage(cdbURI);
if(struri.BeginsWith("local://")) {
// set specific storage for GRP entry
// search in the working directory and one level above, the latter
// follows the standard simulation setup like e.g. in test/ppbench
if(!gSystem->AccessPathName("GRP/GRP/Data")) {
man->SetSpecificStorage("GRP/GRP/Data", "local://$PWD");
}
else if (!gSystem->AccessPathName("../GRP/GRP/Data")) {
man->SetSpecificStorage("GRP/GRP/Data", "local://$PWD/..");
}
}
if(minEvent>=0 || maxEvent>minEvent){
if(minEvent<0) minEvent=0;
if(maxEvent<minEvent) maxEvent=minEvent;
rec.SetEventRange(minEvent,maxEvent);
}
rec.SetRunVertexFinder(kFALSE);
rec.SetRunReconstruction("HLT");
if(bTracklets==kTRUE){
rec.SetOption("HLT", "loglevel=0x7c chains=trackletrfw");
}
else {
rec.SetOption("HLT", "loglevel=0x7c chains=rfw");
}
rec.Run();
}
示例9: sampleRawAnalysis
/**
* @file sampleRawAnalysis.C
* @brief Example macro to run the AliHLTSampleRawAnalysisComponent in
* AliReconstruction.
*
* The component subscribes to DDL raw data published by the
* AliHLTRawReaderPublisherComponent. The macros requires a raw data file
* and a corresponding GRP entry.
*
* <pre>
* Usage: aliroot -b -q -l \
* sampleRawAnalysis.C'("rawfile", "cdb", minEvent, maxEvent)'
*
* Examples:
* sampleRawAnalysis.C'("raw.root", minEvent, MaxEvent)'
* sampleRawAnalysis.C'("./", minEvent, MaxEvent)'
* sampleRawAnalysis.C'("alien:///alice/data/2010/.../raw/....root")'
*
* Defaults
* cdb="local://$ALICE_ROOT/OCDB" -> take local OCDB from distribution
* minEvent=-1 -> no lower event selection
* maxEvent=-1 -> no upper event selection
*
* </pre>
*
* The input file can be a local raw.root file but also a file from the
* GRID. The separate DDL files generated in simulation can be accessed
* using AliRawReaderFile by speficying "directory/".
*
* Since the macro runs AliReconstruction the OCDB needs to be set up, in
* particular the GRP entry. If testing with a local OCDB you have to
* simulate some events and run the macro in the folder of the simulation.
* Also HLT components configure from objects in the OCDB.
*
* Note: You need a valid GRID token, if you want to access files directly
* from the Grid, use 'alien-token-init' of your alien installation.
*
* @author [email protected]
* @ingroup alihlt_tutorial
*/
void sampleRawAnalysis(const char *filename,
const char *cdbURI,
int minEvent=-1,
int maxEvent=-1)
{
if(!gSystem->AccessPathName("galice.root")){
cerr << "AliReconstruction on raw data requires to delete galice.root, or run at different place." << endl;
cerr << "!!! DO NOT DELETE the galice.root of your simulation, but create a subfolder !!!!" << endl;
return;
}
if (gSystem->AccessPathName(filename)) {
cerr << "can not find file " << filename << endl;
return;
}
// connect to the GRID if we use a file or OCDB from the GRID
TString struri=cdbURI;
TString strfile=filename;
if (struri.BeginsWith("raw://") ||
strfile.Contains("://") && !strfile.Contains("local://")) {
TGrid::Connect("alien");
}
// Set the CDB storage location
AliCDBManager * man = AliCDBManager::Instance();
man->SetDefaultStorage(cdbURI);
if (struri.BeginsWith("local://")) {
// set specific storage for GRP entry
// search in the working directory and one level above, the latter
// follows the standard simulation setup like e.g. in test/ppbench
if (!gSystem->AccessPathName("GRP/GRP/Data")) {
man->SetSpecificStorage("GRP/GRP/Data", "local://$PWD");
} else if (!gSystem->AccessPathName("../GRP/GRP/Data")) {
man->SetSpecificStorage("GRP/GRP/Data", "local://$PWD/..");
} else {
cerr << "can not find a GRP entry, please run the macro in the folder" << endl;
cerr << "of a simulated data sample, or specify a GRID OCDB" << endl;
sampleRawAnalysis();
return;
}
}
//////////////////////////////////////////////////////////////////////////////////////
//
// Reconstruction settings
AliReconstruction rec;
if (minEvent>=0 || maxEvent>minEvent) {
if (minEvent<0) minEvent=0;
if (maxEvent<minEvent) maxEvent=minEvent;
rec.SetEventRange(minEvent,maxEvent);
}
rec.SetRunReconstruction("HLT");
rec.SetLoadAlignFromCDB(kFALSE);
rec.SetWriteESDfriend(kFALSE);
// due to bug ...
// StopOnError needs to be disabled
rec.SetStopOnError(kFALSE);
rec.SetRunVertexFinder(kFALSE);
//.........这里部分代码省略.........
示例10: recCPass0
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
//.........这里部分代码省略.........
示例11: rec
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();
}
示例12: main_recCPass1_OuterDet
void main_recCPass1_OuterDet(const char *filename="raw.root",Int_t nevents=-1, const char *ocdb="raw://", Bool_t useFullITS=kFALSE)
{
// Load some system libs for Grid and monitoring
// Set the CDB storage location
AliCDBManager * man = AliCDBManager::Instance();
man->SetDefaultStorage(ocdb);
// Reconstruction settings
AliReconstruction rec;
// Upload CDB entries from the snapshot (local root file) if snapshot exist
if (gSystem->AccessPathName("OCDB.root", kFileExists)==0) {
man->SetDefaultStorage("local://");
man->SetRaw(kFALSE);
man->SetSnapshotMode("OCDB.root");
}
if (gSystem->AccessPathName("localOCDBaccessConfig.C", kFileExists)==0) {
gInterpreter->ProcessLine("localOCDBaccessConfig();");
}
if(!useFullITS){
// only SPD-trackletting will be done
printf("Special ITS configuration: only SPD-trackletting will be done\n");
rec.SetRecoParam("ITS",GetSpecialITSRecoParam());
}
// All friends
rec.SetFractionFriends(1.0);
// AliReconstruction settings - hardwired MB trigger for calibration
TString newfilename = filename;
newfilename += "?Trigger=kCalibOuter";
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
rec.SetDeleteRecPoints("ITS MUON EMCAL PHOS VZERO T0");
// Switch off the V0 finder - saves time!
rec.SetRunV0Finder(kFALSE);
//
// QA options - all QA is off
//
rec.SetRunQA(":");
rec.SetRunGlobalQA(kFALSE);
// AliReconstruction settings
rec.SetWriteESDfriend(kFALSE);
if(!useFullITS) rec.SetWriteAlignmentData(kFALSE);
else rec.SetWriteAlignmentData();
rec.SetUseTrackingErrorsForAlignment("ITS");
rec.SetRunReconstruction("ITS MUON EMCAL PHOS VZERO T0");
rec.SetFillESD("ITS MUON EMCAL PHOS VZERO T0");
rec.SetCleanESD(kFALSE);
// Specific reco params for ZDC (why isn't this automatic?)
// rec.SetRecoParam("ZDC",AliZDCRecoParamPbPb::GetHighFluxParam(2760));
//Ignore SetStopOnError
rec.SetStopOnError(kFALSE);
AliLog::Flush();
rec.Run();
}