pimatch.Cleanup(); theAnalysis->FillList(mcpi,"PionLoose","PidAlgoIdealCharged"); theAnalysis->FillList(piall,"PionAll"); for ( int ii=0 ; ii<piall.GetLength() ; +ii ) if ( theAnalysis->McTruthMatch(piall[ii]) ) pimatch.Add( piall[ii] );
pi:1443 (with McTruth:1443) mcpi:1521 (with McTruth:1521)
pimatch(1) : [#2; 211; C=1; P=(0;0;1;0;0;); True=211] mcpi(2) : [#1; 211; C=1; P=(0;0;1;0;0;); True=-211] [#2; 211; C=1; P=(0;0;1;0;0;); True=211] piall(4) : [#0; -211; C=-1; P=(0;1;0;0;0;); True=13] [#1; 211; C=1; P=(0;0;1;0;0;); True=-211] [#2; 211; C=1; P=(0;0;1;0;0;); True=211] [#3; 211; C=1; P=(0;1;0;0;0;); True=-13]
Quote: |
So the reason for the difference is, that tracks with (for whatever reason) mis-reconstructed charge are accepted by ideal PidAlgo, since this one only requires certain pion PID probability without knowledge of charge, whereas the McTruthMatch performes an exact match including correct charge. |
theAnalysis->FillList(mcpiplus,"PionLoosePlus","PidAlgoIdealCharged");
pimatchplus.Cleanup(); pimatchminus.Cleanup(); theAnalysis->FillList(mcpiplus,"PionLoosePlus","PidAlgoIdealCharged"); theAnalysis->FillList(mcpiminus,"PionLooseMinus","PidAlgoIdealCharged"); theAnalysis->FillList(piall,"PionAll"); for ( int ii=0 ; ii<piall.GetLength() ; ++ii ){ if ( theAnalysis->McTruthMatch(piall[ii]) ){ if ( 211 == piall[ii]->PdgCode() ){ pimatchplus.Add( piall[ii] ); } if ( -211 == piall[ii]->PdgCode() ){ pimatchminus.Add( piall[ii] ); } } } // consistency check (show suspicious events) if ( ( pimatchplus.GetLength()!= mcpiplus.GetLength() ) || ( pimatchminus.GetLength() != mcpiminus.GetLength() ) ){ cout << "evt " << i << endl; cout << "pimatchplus = " << pimatchplus.GetLength() << " piplus = " << mcpiplus.GetLength() << endl; cout << "pimatchminus = " << pimatchminus.GetLength() << " piminus = " << mcpiminus.GetLength() << endl; ++nsuspiciousevents; } npimatchplus += pimatchplus.GetLength(); npimatchminus += pimatchminus.GetLength(); nmcpiplus += mcpiplus.GetLength(); nmcpiminus += mcpiminus.GetLength();
int SelectGoodFitStatus(RhoCandList &l) { int removed = 0; for (int ii=l.GetLength()-1;ii>=0;--ii) { if ( !( l[ii]->GetRecoCandidate()->GetFitStatus()>0 ) ) { l.Remove(l[ii]); removed++; } } return removed; }
// comment this out if you want to allow all fit status SelectGoodFitStatus(piall); SelectGoodFitStatus(mcpiplus); SelectGoodFitStatus(mcpiminus);
theAnalysis->FillList(mcpiplus,"PionLoosePlus","PidAlgoIdealCharged");
p_total p_perp theta ( p_x p_y p_z ) 0.157126 0.0535453 19.9243 ( 0.048933 0.0217408 0.147721 ) 0.505125 0.0941352 10.7404 ( 0.0493841 -0.0801414 0.496276 ) 2.11389 0.891485 24.9437 ( 0.783278 -0.425702 1.91671 ) 0.396296 0.1589 23.6384 ( -0.144325 -0.0664785 0.363045 ) 4.13429 1.62192 23.0983 ( -0.296381 -1.59461 3.80285 ) 0.193541 0.107057 33.5834 ( -0.0956728 0.0480417 0.161236 ) 0.163668 0.0834998 30.6758 ( -0.0831942 0.00713736 0.140765 ) 9.32307 4.19835 26.7641 ( -3.74612 1.89545 8.32427 ) 0.196377 0.0823667 24.7987 ( 0.0801052 0.0191682 0.178268 ) 0.35568 0.171477 28.8232 ( -0.0621465 -0.159819 0.311616 ) 2.18964 0.724932 19.334 ( -0.275077 -0.670715 2.06615 ) 2.20361 1.28911 35.803 ( -1.14287 0.596375 1.7872 ) 0.237624 0.202498 58.4492 ( 0.115297 -0.166469 0.124338 ) 0.876789 0.855665 102.602 ( 0.416404 -0.74751 -0.191299 ) 0.962982 0.289888 17.5196 ( 0.283118 -0.0622874 0.918313 ) 0.275722 0.142764 31.1836 ( 0.12816 0.0629009 0.235883 ) 0.331126 0.188794 34.7612 ( -0.170917 -0.080191 0.272032 ) 0.411353 0.143972 20.4871 ( -0.0926718 0.110181 0.385335 ) 0.192919 0.132213 43.2614 ( 0.101495 0.0847284 0.14049 ) 0.694575 0.332611 28.6117 ( 0.295166 -0.153321 0.609757 )
0.0560073 0.0234772 24.7829 ( 0.000440402 0.023473 0.0508492 ) 0.157126 0.0535453 19.9243 ( 0.048933 0.0217408 0.147721 ) 0.505125 0.0941352 10.7404 ( 0.0493841 -0.0801414 0.496276 ) 2.11389 0.891485 24.9437 ( 0.783278 -0.425702 1.91671 ) 0.396296 0.1589 23.6384 ( -0.144325 -0.0664785 0.363045 ) 4.13429 1.62192 23.0983 ( -0.296381 -1.59461 3.80285 ) 2.10445 2.10366 91.5735 ( -1.15011 1.76143 -0.0577857 ) 0.193541 0.107057 33.5834 ( -0.0956728 0.0480417 0.161236 ) 0.0939326 0.0431508 27.3471 ( -0.00740239 -0.0425111 0.0834347 ) 0.240746 0.107517 26.5259 ( 0.0884348 -0.0611497 0.215403 ) 0.163668 0.0834998 30.6758 ( -0.0831942 0.00713736 0.140765 ) 9.32307 4.19835 26.7641 ( -3.74612 1.89545 8.32427 ) 0.517521 0.159474 17.9478 ( -0.0576879 0.148675 0.492337 ) 0.196377 0.0823667 24.7987 ( 0.0801052 0.0191682 0.178268 ) 1.23126 0.1737 8.11007 ( 0.150681 0.0864106 1.21894 ) 0.35568 0.171477 28.8232 ( -0.0621465 -0.159819 0.311616 ) 2.18964 0.724932 19.334 ( -0.275077 -0.670715 2.06615 ) 2.20361 1.28911 35.803 ( -1.14287 0.596375 1.7872 ) 0.0849093 0.028615 19.6946 ( 0.0200407 -0.0204252 0.0799423 ) 0.237624 0.202498 58.4492 ( 0.115297 -0.166469 0.124338 ) 0.876789 0.855665 102.602 ( 0.416404 -0.74751 -0.191299 ) 0.0606288 0.0187204 17.9852 ( 0.00509841 0.0180127 0.0576663 ) 0.962982 0.289888 17.5196 ( 0.283118 -0.0622874 0.918313 ) 0.275722 0.142764 31.1836 ( 0.12816 0.0629009 0.235883 ) 0.837384 0.837374 89.71 ( -0.561434 -0.621278 0.0042382 ) 2.21517 0.731518 19.2828 ( 0.514025 -0.520478 2.0909 ) 0.0869416 0.0438064 30.2557 ( -0.0430866 -0.00790857 0.0750989 ) 0.336012 0.0657709 11.2879 ( 0.057233 -0.0324069 0.329512 ) 0.331126 0.188794 34.7612 ( -0.170917 -0.080191 0.272032 ) 0.0412819 0.0318619 50.517 ( -0.0237311 0.0212607 0.0262491 ) 0.411353 0.143972 20.4871 ( -0.0926718 0.110181 0.385335 ) 0.123346 0.113654 67.1346 ( 0.0525635 0.100768 0.0479286 ) 0.0436396 0.0243122 33.8565 ( -0.020283 0.0134046 0.0362399 ) 0.192919 0.132213 43.2614 ( 0.101495 0.0847284 0.14049 ) 0.694575 0.332611 28.6117 ( 0.295166 -0.153321 0.609757 )
theAnalysis->FillList(mcpiplus,"PionLoosePlus","PidAlgoIdealCharged");
Quote: |
To clarify: The PidAlgoIdealCharged delivers perfect PID probabilities for all particle species, but it's not meant to be a McTruth match (as I just realized today...). |
theAnalysis->FillList(mcpiplus,"PionLoosePlus","PidAlgoIdealCharged");
theAnalysis->FillList(mcpiplus,"PionTightPlus","PidAlgoIdealCharged");
Quote: |
I understand that the PidAlgoIdealCharged just sets the right probability and nothing else, but still I thik that the name is then missleading. I thought i would use a somehow MC base algorythem which sets all characteristics right so that the FillList method really just pick the right ones. If this is kept like this, this should be mentioned in the tutorial. |
Quote: |
We have 5 particle hypothesis. If the pid algorithm fails, whatever it is, then all the 5 particles have the same probability -> 1/5 = 0.2 -> 20%. from the statistical point of view this is correct. Those tracks should not becut away, simply you don0t have pid information for them. The point is that one should cut with probability more than such 20%, maybe the Loose condition should be moved to 25% just to be safe. |
Quote: |
I have not understood, the PidAlgoIdealCharged assigns the mc id to each candidate, as it should be, using the PndPidProbability object -> a mcpion will have probability of being a pion 1 and prog of e/mu/k/p = 0, so that this info can be used by FillList. This is not "ideal" parameters, this is ideal identification. The FillList picks the correct particles identified by MC. In this sense, PidAlgoIdealCharged is doing its job coherent with all the other algorithms, and I have not understood the last comment. Could you please be more explicit? |
Quote: |
For the rest of the discussion I see a discrepancy between what the designers of the code think their code is doing and the expectation of the users what the code should do according to the used names. I fear that the problem Simone and Martin had will happen to other users as well. |
Quote: |
In addition I think there should be a method for an ideal list filling. |
theAnalysis->FillList(mctrack, "McTruth");
theAnalysis->FillList(piall,"PionAll"); pimatchplus.Cleanup(); pimatchminus.Cleanup(); // for pimatch for ( int ii=0 ; ii<piall.GetLength() ; ++ii ){ if ( theAnalysis->McTruthMatch(piall[ii]) ){ if ( 0 < piall[ii]->PdgCode() ){ pimatchplus.Add( piall[ii] ); } if ( 0 > piall[ii]->PdgCode() ){ pimatchminus.Add( piall[ii] ); } } }
SelectWithMcTruthPdgSimulateMcMatch(piall, pdgpiplus, 211); int SelectWithMcTruthPdgSimulateMcMatch(RhoCandList &lOld, RhoCandList &lNew, Int_t SelectCandidatesWithPdgCode) { lNew.Cleanup(); int notSelected = 0; for ( int ii=lOld.GetLength()-1; ii>=0; --ii ) { if ( ( lOld[ii]->GetMcTruth()->PdgCode() == SelectCandidatesWithPdgCode ) && ( lOld[ii]->PdgCode() == SelectCandidatesWithPdgCode ) ) { lNew.Add( lOld[ii] ); } else { notSelected++; } } return notSelected; }
theAnalysis->FillList(mcpiplus,"PionLoosePlus","PidAlgoIdealCharged");
theAnalysis->FillList(mcpiplus,"PionTightPlus","PidAlgoIdealCharged");
svn info Path: . Working Copy Root Path: /home/pandaroot_jun13/trunk URL: https://subversion.gsi.de/fairroot/pandaroot/trunk Repository Root: https://subversion.gsi.de/fairroot Repository UUID: 0381ead4-6506-0410-b988-94b70fbc4730 Revision: 21362 Node Kind: directory Schedule: normal Last Changed Author: spataro Last Changed Rev: 21361 Last Changed Date: 2013-08-22 17:17:46 +0200 (Thu, 22 Aug 2013)
svn status M . X GenfitTools/trackrep/GeaneTrackRep2 X GenfitTools/trackrep/LSLtrackRep X GenfitTools/trackrep/RKTrackRep X MbsAPI X base X cmake X dbase X eventdisplay X fairtools X geane X generators X genfit X geobase X ora X parbase X scripts X templates X trackbase Performing status on external item at 'eventdisplay': Performing status on external item at 'generators': Performing status on external item at 'base': Performing status on external item at 'MbsAPI': Performing status on external item at 'genfit': Performing status on external item at 'parbase': Performing status on external item at 'dbase': Performing status on external item at 'geane': Performing status on external item at 'cmake': Performing status on external item at 'GenfitTools/trackrep/RKTrackRep': Performing status on external item at 'ora': Performing status on external item at 'scripts': Performing status on external item at 'templates': Performing status on external item at 'GenfitTools/trackrep/LSLtrackRep': Performing status on external item at 'trackbase': Performing status on external item at 'fairtools': Performing status on external item at 'GenfitTools/trackrep/GeaneTrackRep2': Performing status on external item at 'geobase':
theAnalysis->FillList(mcpiplus,"PionLoosePlus","PidAlgoIdealCharged");
theAnalysis->FillList(mcpiplus,"PionTightPlus","PidAlgoIdealCharged");
Decay psi(2S) 1.0 J/psi gamma PHSP; Enddecay End
[ERROR ] init() ANAPidSelections not initialized
root [0] Processing mcmatchtestRemove.C... (int)0 Warning in <TStreamerInfo::BuildCheck>: The StreamerInfo of class PndDrc read from file simparams.root has the same version (=11) as the active class but a different checksum. You should update the version to ClassDef(PndDrc,12). Do not try to write objects with the current class definition, the files will not be readable. Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Double_t fPackingFraction; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Bool_t fStopTime; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Double_t fPhoMaxTime; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Bool_t fTakeDirect; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Bool_t fTakeReflected; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Int_t fFocusing; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Bool_t fTakeRealReflectivity; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Bool_t fStopSecondaries; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Bool_t fStopChargedTrackAfterDIRC; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Bool_t fSetBlackLens; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: TArrayI fProc; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Int_t fPdgCode; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Double_t fThetaC; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Int_t fEventID; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Float_t fTime_out; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Float_t fTime_in; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Float_t fLength_in; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Float_t fLength_out; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Float_t fPEnergy; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Float_t fLambda1; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Float_t fDeltaT; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Double32_t fTrackTime; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Int_t fSenId1; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Int_t fSenId2; // Warning in <TStreamerInfo::CompareContent>: The following data member of the in-memory layout version 11 of class 'PndDrc' is missing from the on-file layout version 11: Int_t fSenIdBar; // FairRootManager::OpenOutFile("output.root") [INFO ] The input consists out of the following trees and files: [INFO ] - cbmsim [INFO ] - pid_complete.root [INFO ] Parameter and input file are available, Assure that basic info is there for the run! [INFO ] The number of entries in chain is 10000 [INFO ] Branch: MCEventHeader. not found in Tree [INFO ] Branch: MCEventHeader. not found in Tree ************************************************************* initialisation for run id 1377190965 ************************************************************* -I- FairRunTimeDB::InitContainer() FairBaseParSet Info in (PndGeoHandling::Instance): Making a new instance using the framework. Error in <TBufferFile::CheckByteCount>: object of class PndDrc read too many bytes: 27185 instead of 27177 Warning in <TBufferFile::CheckByteCount>: PndDrc::Streamer() not in sync with data on file simparams.root, fix Streamer() Info in <TGeoManager::CloseGeometry>: Geometry loaded from file... Info in <TGeoManager::SetTopVolume>: Top volume is cave. Master volume is cave Info in <TGeoNavigator::BuildCache>: --- Maximum geometry depth set to 100 Info in <TGeoManager::Voxelize>: Voxelizing... Info in <TGeoManager::CountLevels>: max level = 12, max placements = 4896 Info in <TGeoManager::CloseGeometry>: 2008273 nodes/ 5804 volume UID's in FAIR geometry Info in <TGeoManager::CloseGeometry>: ----------------modeler ready---------------- Container FairBaseParSet initialized from ROOT file. ************************************************************* initialisation for run id 1377190965 ************************************************************* -I- FairRunTimeDB::InitContainer() FairBaseParSet -I- FairRunTimeDB::InitContainer() PndSensorNamePar Container PndSensorNamePar initialized from ROOT file. PndFieldCreator::SetParm() 0x8890830 ************************************************************* initialisation for run id 1377190965 ************************************************************* -I- FairRunTimeDB::InitContainer() FairBaseParSet -I- FairRunTimeDB::InitContainer() PndSensorNamePar -I- FairRunTimeDB::InitContainer() PndMultiFieldPar Container PndMultiFieldPar initialized from ROOT file. OBJ: PndTransPar PndTransPar Trans. Field parameter container OBJ: PndDipole1Par PndDipole1Par Dipole Field parameter container OBJ: PndDipole2Par PndDipole2Par Dipole Field parameter container OBJ: PndSolenoid1Par PndSolenoid1Par Solenoid 1st region parameter container OBJ: PndSolenoid2Par PndSolenoid2Par Solenoid 2nd region parameter container OBJ: PndSolenoid3Par PndSolenoid3Par Solenoid 3rd region parameter container OBJ: PndSolenoid4Par PndSolenoid4Par Solenoid 4th region parameter container [INFO ] PndFieldMap: Reading field map from ROOT file /home/pandaroot_jun13/trunk/input/TransMap.0890.root [INFO ] PndFieldMap: Reading field map from ROOT file /home/pandaroot_jun13/trunk/input/DipoleMap1.0890.root [INFO ] PndFieldMap: Reading field map from ROOT file /home/pandaroot_jun13/trunk/input/DipoleMap2.0890.root [INFO ] PndFieldMap: Reading field map from ROOT file /home/pandaroot_jun13/trunk/input/SolenoidMap1.root [INFO ] PndFieldMap: Reading field map from ROOT file /home/pandaroot_jun13/trunk/input/SolenoidMap2.root [INFO ] PndFieldMap: Reading field map from ROOT file /home/pandaroot_jun13/trunk/input/SolenoidMap3.root [INFO ] PndFieldMap: Reading field map from ROOT file /home/pandaroot_jun13/trunk/input/SolenoidMap4.root -I- PndAnalysis::Init(): Trying now. [INFO ] Branch: not found in Tree [INFO ] Branch: not found in Tree -I- PndAnalysis::ReadTCA(): No array found. -I- PndAnalysis::Init(): Trying SttMvdGenTrack now. [INFO ] Branch: LheGenTrack not found in Tree [INFO ] Branch: LheGenTrack not found in Tree -I- PndAnalysis::ReadTCA(): No LheGenTrack array found. -I- PndAnalysis::Init(): Trying SttMvdGenTrack now. [INFO ] Branch: SttMvdGenTrack not found in Tree [INFO ] Branch: SttMvdGenTrack not found in Tree -I- PndAnalysis::ReadTCA(): No SttMvdGenTrack array found. -I- PndAnalysis::Init(): Trying SttMvdGemGenTrack now. [INFO ] Branch: SttMvdGemGenTrack not found in Tree [INFO ] Branch: SttMvdGemGenTrack not found in Tree -I- PndAnalysis::ReadTCA(): No SttMvdGemGenTrack array found. -I- PndAnalysis::Init(): Trying BarrelGenTrack now. [INFO ] Branch: BarrelGenTrack not found in Tree [INFO ] Branch: BarrelGenTrack not found in Tree -I- PndAnalysis::ReadTCA(): No BarrelGenTrack array found. -E- PndAnalysis::Init(): No track inpt array. Make a Zero TclonesArray. -I- PndAnalysis::Init(): Second: Trying now. [INFO ] Branch: not found in Tree [INFO ] Branch: not found in Tree -I- PndAnalysis::ReadTCA(): No array found. -I- PndAnalysis::Init(): Second: Trying FTSGenTrack now. [INFO ] Branch: FTSGenTrack not found in Tree [INFO ] Branch: FTSGenTrack not found in Tree -I- PndAnalysis::ReadTCA(): No FTSGenTrack array found. -I- PndAnalysis::Init(): Second: Trying FTSTrkIdeal now. [INFO ] Branch: FTSTrkIdeal not found in Tree [INFO ] Branch: FTSTrkIdeal not found in Tree -I- PndAnalysis::ReadTCA(): No FTSTrkIdeal array found. [INFO ] Branch: PndMcTracks not found in Tree [INFO ] Branch: PndMcTracks not found in Tree -I- PndAnalysis::ReadTCA(): No PndMcTracks array found. -I- PndAnalysis::Init(): Trying mc stack now. ************************************************************* initialisation for run id 1377190965 ************************************************************* -I- FairRunTimeDB::InitContainer() FairBaseParSet -I- FairRunTimeDB::InitContainer() PndSensorNamePar -I- FairRunTimeDB::InitContainer() PndMultiFieldPar -I- FairRunTimeDB::InitContainer() ANAPidSelections [ERROR ] init() ANAPidSelections not initialized Error in <FairRuntimeDb::initContainers()>: Error occured during initialization [INFO ] The number of entries in chain is 10000 [INFO ] The number of entries in chain is 10000
// *** initialization FairRunAna* fRun = new FairRunAna(); FairRuntimeDb* rtdb = fRun->GetRuntimeDb(); fRun->SetInputFile(inPidFile); + TString anaParFile = gSystem->Getenv("VMCWORKDIR"); + anaParFile += "/macro/params/all.par"; + FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo(); + parIo1->open(anaParFile.Data(),"in"); FairParRootFileIo* parIO = new FairParRootFileIo(); parIO->open(inParFile); rtdb->setFirstInput(parIO); + rtdb->setSecondInput(parIo1); rtdb->setOutput(parIO);
-I- FairRunTimeDB::InitContainer() ANAPidSelections ANAPidSelections initialized from Ascii file