本文整理汇总了C++中AliReconstruction::Run方法的典型用法代码示例。如果您正苦于以下问题:C++ AliReconstruction::Run方法的具体用法?C++ AliReconstruction::Run怎么用?C++ AliReconstruction::Run使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AliReconstruction
的用法示例。
在下文中一共展示了AliReconstruction::Run方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: rec
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();
}
示例2: rec
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();
}
示例3: Rec
void Rec(TString file="raw.root")
{
// Reconstruction of RAW data from the input file raw.root
// Boris Polichtchouk, 13 Mar 2008
//AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
//AliCDBManager::Instance()->SetSpecificStorage("PHOS/*","local://BadMap");
AliReconstruction rec ;
rec.SetRunTracking("") ;
rec.SetRunVertexFinder(kFALSE) ;
rec.SetRunLocalReconstruction("PHOS") ;
rec.SetFillESD("PHOS") ;
//Set rec. parameters different from the default ones.
AliPHOSRecoParam* recEmc = new AliPHOSRecoParamEmc();
recEmc->SetSubtractPedestals(kTRUE);
recEmc->SetMinE(0.01); //Minimal Digit energy
recEmc->SetClusteringThreshold(0.02); //Minimal cluster seed energy
recEmc->SetDecoderVersion("v1"); //Comment out to choose Max-Ped version
recEmc->SetOldRCUFormat(kTRUE);
AliPHOSReconstructor::SetRecoParamEmc(recEmc);
rec.SetInput(file.Data()); // read RAW data
rec.SetNumberOfEventsPerFile(5000);
rec.Run();
}
示例4: 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();
}
示例5: rec
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();
}
示例6: 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();
}
示例7: 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();
}
示例8: recraw
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();
}
示例9: 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);
}
示例10: rec
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();
}
示例11: 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",
""
//.........这里部分代码省略.........
示例12: 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();
}
示例13: 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();
}
示例14: trackhisto
void trackhisto(const char *filename, const char *cdbURI, int minEvent=-1, int maxEvent=-1, Bool_t bTracklets=kFALSE){
if(!gSystem->AccessPathName("galice.root")){
cerr << "Remove galice.root or run in a different folder." << endl;
return;
}
if (!filename) {
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();
int iMinSlice = 0;
int iMaxSlice = 35;
int iMinPart = 0;
int iMaxPart = 5;
TString tracklets;
for(int slice=iMinSlice; slice<=iMaxSlice; slice++){
TString trackerInput;
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);
//.........这里部分代码省略.........
示例15: AliTRDReconstructandFill
void AliTRDReconstructandFill()
{
//
// This macro fills 2d histo or vectors during the reconstruction
// If it is vectors, it fits them directly after the reconstruction
// and writes the result in the file coeftest.root
//
TStopwatch timer;
timer.Start();
////Set the parameters of AliTRDCalibra***************
AliTRDCalibra *calibra = AliTRDCalibra::Instance();
////What do you want to use?
calibra->SetMITracking(); //Offline tracking
//calibra->Setmcmtracking();
////Do you want to try the correction due to the angles of the tracks for mcm tracklets?
calibra->SetMcmCorrectAngle();
////What do you want to fill?
calibra->SetCH2dOn();//relative gain calibration
calibra->SetPH2dOn();//drift velocity and time0 calibration
calibra->SetPRF2dOn();//Pad Response Function calibration
////How do you want to store the infos?
calibra->SetVector2d();//vector method
calibra->SetHisto2d();//2Dhistograms
////Which mode do you want?
calibra->SetNz(2,2);//For the PRF z direction
calibra->SetNrphi(2,2);//For The PRF rphi direction
calibra->SetNz(0,0);//For the gain z direction
calibra->SetNrphi(0,0);//For the gain rphi direction
calibra->SetNz(1,3);//For the drift velocity and time0 z direction
calibra->SetNrphi(1,3);//For the drift velocity and time 0 rphi direction
////How many bins?
calibra->SetNumberBinCharge(100);
calibra->SetNumberBinPRF(20);
////Do you want to accept more tracks?
calibra->SetProcent(1.2);//For the gain if one group has a signal above 1.2 the other group then fill
calibra->SetDifference(10);//For the drift velocity if one group has at least 10 time bins then fill
calibra->SetNumberClusters(18);//For mcm tracklets only fill only with tracklet with at least 18 clusters
////Do you want to take only the middle pad for gain or Vdrift?
//calibra->SetTraMaxPad();
//Do you want to apply more strict cut on the clusters for the PRF calibration?
calibra->SetThresholdClusterPRF1(2);//The neighbors pads must have a signal smaller than 2 ADC counts
calibra->SetThresholdClusterPRF2(10);//The 3 pads in the cluster must have a signal above 10 ADC counts
////What do you want to write?
calibra->SetWrite(0);//For the gain
calibra->SetWrite(1);//For the average pulse height
calibra->SetWrite(2);//For the PRF
////If you want to change the name of the file where it is stored (not very good)
//calibra->SetWriteName("test.root");
//Begin the reconstruction
AliReconstruction rec;
rec.SetGAliceFile("galice.root");
rec.SetLoadAlignFromCDB(kFALSE);
rec.SetRunHLTTracking(kFALSE);
rec.SetFillESD("");
rec.SetFillTriggerESD(kFALSE);
rec.SetRunVertexFinder(kFALSE);
rec.Run();
timer.Stop();
timer.Print();
calibra->Write2d();
TStopwatch timerfit;
timerfit.Start();
////Fit directly after having filling****
////Do you want to try with less statistics?
calibra->SetMinEntries(10);//If there is at least 10 entries in the histo, it will fit
////Do you want to write the result?
calibra->SetWriteCoef(0);//gain
calibra->SetWriteCoef(1);//time 0 and drift velocity
calibra->SetWriteCoef(2);//PRF
////Do you want to change the name of the file (TRD.coefficient.root)?
calibra->SetWriteNameCoef("coeftest.root");
////Do you want to see something?
calibra->SetDebug(1);
//.........这里部分代码省略.........