X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGCF%2FFLOW%2Fmacros%2FAddTaskFlowStrange.C;h=ce244aca19baa7ac973eb96c3f32470704ac513d;hb=faf09db4b26cab047b10d32b5cb4ddeb122e1ecc;hp=6bdb8ed74d76b46800c7b1f042808202252080bd;hpb=c34553fd97ea5d3073a585f29f37c43b7a717d1e;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGCF/FLOW/macros/AddTaskFlowStrange.C b/PWGCF/FLOW/macros/AddTaskFlowStrange.C index 6bdb8ed74d7..ce244aca19b 100644 --- a/PWGCF/FLOW/macros/AddTaskFlowStrange.C +++ b/PWGCF/FLOW/macros/AddTaskFlowStrange.C @@ -3,6 +3,7 @@ Bool_t SFT_gbReadESD; Bool_t SFT_gbReadMC; Int_t SFT_gbMatchMC; Bool_t SFT_gbAvoidExec; +Bool_t SFT_gbSkipCentrality; Bool_t SFT_gbExtraEventCut; TString SFT_gbCentMethod; Int_t SFT_gbCentPerMin,SFT_gbCentPerMax; @@ -12,6 +13,7 @@ Int_t SFT_gbSpecie; Bool_t SFT_gbHomemade; Bool_t SFT_gbOnline; Int_t SFT_gbMinNClsTPC; +Int_t SFT_gbMinNClsITS; Int_t SFT_gbMinXRows; Double_t SFT_gbMaxChi2PerNClsTPC; Double_t SFT_gbMinXRowsOverNClsFTPC; @@ -23,6 +25,7 @@ Double_t SFT_gbMaxNSigmaPID; Double_t SFT_gbMaxRapidity; Double_t SFT_gbMaxDCAdaughters; Double_t SFT_gbMinCosinePointingAngleXY; +Double_t SFT_gbPIDPt; Double_t SFT_gbMinQt; Bool_t SFT_gbQtPie; Double_t SFT_gbMinRadXY; @@ -36,16 +39,18 @@ TString SFT_gbStamp; Int_t SFT_gbRFPFilterBit; Double_t SFT_gbRFPminPt; Double_t SFT_gbRFPmaxPt; -Double_t SFT_gbRFPminEta; -Double_t SFT_gbRFPmaxEta; +Double_t SFT_gbRFPAminEta; +Double_t SFT_gbRFPAmaxEta; +Double_t SFT_gbRFPCminEta; +Double_t SFT_gbRFPCmaxEta; Double_t SFT_gbRFPTPCsignal; Double_t SFT_gbRFPmaxIPxy; Double_t SFT_gbRFPmaxIPz; Int_t SFT_gbRFPTPCncls; - +Bool_t SFT_gbAddPitoMCRP; Bool_t SFT_gbAllCC; Bool_t SFT_gbSkipSelection; -Bool_t SFT_gbSkipFlow; +Bool_t SFT_gbSkipVn; Int_t SFT_gbWhichPsi; Bool_t SFT_gbFlowPackage; Bool_t SFT_gbShrinkFP; @@ -53,6 +58,7 @@ Bool_t SFT_gbSPVZE; Bool_t SFT_gbSPTPC; Bool_t SFT_gbSPVZEhalf; Bool_t SFT_gbQCTPC; +Bool_t SFT_gbMCEP; Int_t SFT_gbHarmonic; TString SFT_gbVZEload; Bool_t SFT_gbVZEsave; @@ -62,53 +68,54 @@ Int_t SFT_gbV0CRingMin; Int_t SFT_gbV0CRingMax; Int_t SFT_gbV0ARingMin; Int_t SFT_gbV0ARingMax; +Int_t SFT_gbDauITS0On; +Int_t SFT_gbDauITS1On; +Int_t SFT_gbDauITS2On; +Int_t SFT_gbDauITS3On; +Int_t SFT_gbDauITS4On; +Int_t SFT_gbDauITS5On; +Bool_t SFT_gbDauSPDany; +Bool_t SFT_gbDauITSrefit; Bool_t SFT_gbUntagDaughter; +Int_t SFT_gbPostMatched; +Double_t SFT_gbVertexZcut; -void AddTaskFlowStrange(TString configFile, TString alienaddress, - Int_t VZECm=0, Int_t VZECM=3, Int_t VZEAm=0, Int_t VZEAM=3) { +void AddTaskFlowStrange(TString configFile, TString alienaddress, Bool_t skipTerminate=kFALSE) { Int_t ret = gSystem->Exec( Form("alien_cp %s/%s .",alienaddress.Data(),configFile.Data()) ); printf("FlowStrange copying from grid %d\n",ret); - AddTaskFlowStrange(configFile,VZECm,VZECM,VZEAm,VZEAM); + AddTaskFlowStrange(configFile,skipTerminate); } -void AddTaskFlowStrange(TString configFile, - Int_t VZECm=0, Int_t VZECM=3, Int_t VZEAm=0, Int_t VZEAM=3) { +void AddTaskFlowStrange(TString configFile, Bool_t skipTerminate=kFALSE) { SFT_ReadConfig(configFile); - SFT_gbV0CRingMin = VZECm; - SFT_gbV0CRingMax = VZECM; - SFT_gbV0ARingMin = VZEAm; - SFT_gbV0ARingMax = VZEAM; - SFT_gbSuffix = Form("%s%d%d%d%d", SFT_gbSuffix.Data(), - SFT_gbV0CRingMin, SFT_gbV0CRingMax, SFT_gbV0ARingMin, SFT_gbV0ARingMax); if(SFT_gbAllCC) { - int centMin[9] = {00,05,10,20,30,40,50,60,70}; - int centMax[9] = {05,10,20,30,40,50,60,70,80}; - int ncent=9; + int centMin[8] = {00,05,10,20,30,40,50,60}; + int ncent=7; if(SFT_gbRunPP) { ncent=3; - centMin[0]=10; centMax[0]=30; - centMin[1]=30; centMax[1]=50; - centMin[2]=0; centMax[2]=100; + centMin[0]=00; + centMin[1]=20; + centMin[2]=40; + centMin[3]=60; } else if(SFT_gbRunPA) { - ncent=4; - centMin[0]=00; centMax[0]=20; - centMin[1]=20; centMax[1]=40; - centMin[2]=40; centMax[2]=60; - centMin[3]=60; centMax[3]=80; - } else { + ncent=3; + centMin[0]=00; + centMin[1]=20; + centMin[2]=40; + centMin[3]=60; } TString antSuffix = SFT_gbSuffix; for(int cc=0; cc!=ncent; ++cc) { SFT_gbCentPerMin = centMin[cc]; - SFT_gbCentPerMax = centMax[cc]; - SFT_gbSuffix = Form("%s%d%d",antSuffix.Data(),SFT_gbCentPerMin,SFT_gbCentPerMax); - AddTaskFlowStrange(); + SFT_gbCentPerMax = centMin[cc+1]; + SFT_gbSuffix = Form("%s%02d%02d",antSuffix.Data(),SFT_gbCentPerMin,SFT_gbCentPerMax); + AddTaskFlowStrange(skipTerminate); } } else { - AddTaskFlowStrange(); + AddTaskFlowStrange(skipTerminate); } } -void AddTaskFlowStrange() { +void AddTaskFlowStrange(Bool_t skipTerminate) { SFT_PrintConfig(); TString fileName = AliAnalysisManager::GetCommonFileName(); @@ -122,12 +129,21 @@ void AddTaskFlowStrange() { AliAnalysisTaskFlowStrange *taskSel = new AliAnalysisTaskFlowStrange(Form("FS_%s",SFT_gbStamp.Data()) ); taskSel->SelectCollisionCandidates(SFT_gbTrigger); taskSel->SetReadESD(SFT_gbReadESD); + taskSel->SetPostMatched(SFT_gbPostMatched); taskSel->SetReadMC(SFT_gbReadMC); taskSel->SetAvoidExec(SFT_gbAvoidExec); + taskSel->SetSkipCentralitySelection(SFT_gbSkipCentrality); taskSel->SetSkipSelection(SFT_gbSkipSelection); - taskSel->SetSkipFlow(SFT_gbSkipFlow); + taskSel->SetSkipVn(SFT_gbSkipVn); taskSel->SetExtraEventRejection(SFT_gbExtraEventCut); taskSel->SetCentralityRange(SFT_gbCentMethod,SFT_gbCentPerMin,SFT_gbCentPerMax); + taskSel->SetSkipTerminate(skipTerminate); + taskSel->SetHarmonic(SFT_gbHarmonic); + Int_t npt = 24; + Double_t ptbin[25] = { 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, + 2.0, 2.2, 2.4, 2.8, 3.2, 3.6, 4.0, 4.5, 5.0, 6.0, + 8.0, 10., 12., 16., 20.}; + taskSel->SetPtEdges(npt,ptbin); if(SFT_gbRunPP) taskSel->Setpp(); if(SFT_gbRunPA) taskSel->SetpA(); taskSel->SetDebug(SFT_gbDebug); @@ -141,16 +157,21 @@ void AddTaskFlowStrange() { taskSel->SetRFPFilterBit(SFT_gbRFPFilterBit); taskSel->SetRFPMinPt(SFT_gbRFPminPt); taskSel->SetRFPMaxPt(SFT_gbRFPmaxPt); - taskSel->SetRFPMinEta(SFT_gbRFPminEta); - taskSel->SetRFPMaxEta(SFT_gbRFPmaxEta); + taskSel->SetRFPAMinEta(SFT_gbRFPAminEta); + taskSel->SetRFPAMaxEta(SFT_gbRFPAmaxEta); + taskSel->SetRFPCMinEta(SFT_gbRFPCminEta); + taskSel->SetRFPCMaxEta(SFT_gbRFPCmaxEta); taskSel->SetRFPTPCSignal(SFT_gbRFPTPCsignal); taskSel->SetRFPMaxIPxy(SFT_gbRFPmaxIPxy); taskSel->SetRFPMaxIPz(SFT_gbRFPmaxIPz); taskSel->SetRFPMinTPCCls(SFT_gbRFPTPCncls); + taskSel->SetAddPiToMCReactionPlane(SFT_gbAddPitoMCRP); taskSel->SetDauUnTagProcedure(SFT_gbUntagDaughter); + taskSel->SetVertexZcut(SFT_gbVertexZcut); taskSel->SetDauMinNClsTPC(SFT_gbMinNClsTPC); + taskSel->SetDauMinNClsITS(SFT_gbMinNClsITS); taskSel->SetDauMinXRows(SFT_gbMinXRows); taskSel->SetDauMaxChi2PerNClsTPC(SFT_gbMaxChi2PerNClsTPC); taskSel->SetDauMinXRowsOverNClsFTPC(SFT_gbMinXRowsOverNClsFTPC); @@ -159,11 +180,20 @@ void AddTaskFlowStrange() { taskSel->SetDauMinPt(SFT_gbMinPt); taskSel->SetDauMinImpactParameterXY(SFT_gbMinImpactParameterXY); taskSel->SetDauMaxNSigmaPID(SFT_gbMaxNSigmaPID); + taskSel->SetDauITSLayer(0,SFT_gbDauITS0On); + taskSel->SetDauITSLayer(1,SFT_gbDauITS1On); + taskSel->SetDauITSLayer(2,SFT_gbDauITS2On); + taskSel->SetDauITSLayer(3,SFT_gbDauITS3On); + taskSel->SetDauITSLayer(4,SFT_gbDauITS4On); + taskSel->SetDauITSLayer(5,SFT_gbDauITS5On); + taskSel->SetDauSPDRequireAny(SFT_gbDauSPDany); + taskSel->SetDauITSrefit(SFT_gbDauITSrefit); taskSel->SetMaxRapidity(SFT_gbMaxRapidity); taskSel->SetMaxDCAdaughters(SFT_gbMaxDCAdaughters); taskSel->SetMinCosinePointingAngleXY(SFT_gbMinCosinePointingAngleXY); taskSel->SetMinQt(SFT_gbMinQt,SFT_gbQtPie); + taskSel->SetStopPIDAtPt(SFT_gbPIDPt); taskSel->SetMinRadXY(SFT_gbMinRadXY); taskSel->SetMaxDecayLength(SFT_gbMaxDecayLength); taskSel->SetMaxProductIPXY(SFT_gbMaxProductIPXY); @@ -207,17 +237,22 @@ void AddTaskFlowStrange() { if( (!SFT_gbQCTPC) && (!SFT_gbSPVZE) && (!SFT_gbSPTPC) ) return; //-------------------FLOWPACKAGE TASKS---------------------------- AliFlowTrackSimpleCuts *filter[20], *filterhf[20][2]; // MASS BANDS - for(int mb=0; mb!=SFT_MassBands(SFT_gbSpecie); ++mb) { + int mbs = SFT_MassBands(SFT_gbSpecie); + if(SFT_gbPostMatched) mbs = 1; + for(int mb=0; mb!=mbs; ++mb) { filter[mb] = new AliFlowTrackSimpleCuts( Form("Filter_MB%d",mb) ); filter[mb]->SetEtaMin( -0.8 ); filter[mb]->SetEtaMax( +0.8 ); - filter[mb]->SetMassMin( SFT_MassBandLowEdge(SFT_gbSpecie,mb) ); filter[mb]->SetMassMax( SFT_MassBandLowEdge(SFT_gbSpecie,mb+1) ); + Double_t minmass = SFT_MassBandLowEdge(SFT_gbSpecie,mb); + Double_t maxmass = SFT_MassBandLowEdge(SFT_gbSpecie,mb+1); + if(SFT_gbPostMatched) maxmass = SFT_MassBandLowEdge(SFT_gbSpecie,SFT_MassBands(SFT_gbSpecie)); + filter[mb]->SetMassMin( minmass ); filter[mb]->SetMassMax( maxmass ); //half window for POIs filterhf[mb][0] = new AliFlowTrackSimpleCuts( Form("Filterhf0_MB%d",mb) ); filterhf[mb][0]->SetEtaMin( +0.0 ); filterhf[mb][0]->SetEtaMax( +0.8 ); - filterhf[mb][0]->SetMassMin( SFT_MassBandLowEdge(SFT_gbSpecie,mb) ); filterhf[mb][0]->SetMassMax( SFT_MassBandLowEdge(SFT_gbSpecie,mb+1) ); + filterhf[mb][0]->SetMassMin( minmass ); filterhf[mb][0]->SetMassMax( maxmass ); filterhf[mb][1] = new AliFlowTrackSimpleCuts( Form("Filterhf1_MB%d",mb) ); filterhf[mb][1]->SetEtaMin( -0.8 ); filterhf[mb][1]->SetEtaMax( -0.0 ); - filterhf[mb][1]->SetMassMin( SFT_MassBandLowEdge(SFT_gbSpecie,mb) ); filterhf[mb][1]->SetMassMax( SFT_MassBandLowEdge(SFT_gbSpecie,mb+1) ); + filterhf[mb][1]->SetMassMin( minmass ); filterhf[mb][1]->SetMassMax( maxmass ); if(SFT_gbQCTPC) { SFT_AddQCmethod( Form("QCTPCMB%d",mb), exc_TPC, filter[mb]); // QC TPC } @@ -229,6 +264,9 @@ void AddTaskFlowStrange() { SFT_AddSPmethod( Form("SPTPC4MB%d",mb), exc_TPC, filterhf[mb][0], "Qa", 0.4 ); // SP TPC Qa SFT_AddSPmethod( Form("SPTPC4MB%d",mb), exc_TPC, filterhf[mb][1], "Qb", 0.4 ); // SP TPC Qb } + if(SFT_gbMCEP) { + SFT_AddMCEPmethod( Form("MCEPMB%d",mb), exc_TPC, filter[mb]); // MCEP TPC + } if(SFT_gbSPVZE) { if(SFT_gbSPVZEhalf) { SFT_AddSPmethod( Form("SPVZEMB%d",mb), exc_VZE, filterhf[mb][0], "Qa", 1.0 ); // SP VZE Qa @@ -240,6 +278,27 @@ void AddTaskFlowStrange() { } } } +void SFT_AddMCEPmethod(char *name, AliAnalysisDataContainer *flowEvent, AliFlowTrackSimpleCuts *cutsPOI=NULL) { + TString fileName = AliAnalysisManager::GetCommonFileName(); + TString myFolder = Form("%sv%d",SFT_gbFolder.Data(),SFT_gbHarmonic); + TString myName = Form("%sv%d_%s",name,SFT_gbHarmonic,SFT_gbSuffix.Data()); + AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); + AliAnalysisDataContainer *flowEvent2 = mgr->CreateContainer( Form("Filter_%s", myName.Data()), + AliFlowEventSimple::Class(), + AliAnalysisManager::kExchangeContainer ); + AliAnalysisTaskFilterFE *tskFilter = new AliAnalysisTaskFilterFE( Form("TaskFilter_%s",myName.Data()), + NULL, cutsPOI); + mgr->AddTask(tskFilter); + mgr->ConnectInput( tskFilter,0,flowEvent); + mgr->ConnectOutput(tskFilter,1,flowEvent2); + AliAnalysisDataContainer *outQC = mgr->CreateContainer( myName.Data(),TList::Class(),AliAnalysisManager::kOutputContainer, + Form("%s:FlowStrange_MCEP_%s",fileName.Data(),myFolder.Data()) ); + AliAnalysisTaskMCEventPlane *tskQC = new AliAnalysisTaskMCEventPlane( Form("TaskMCEP_%s",myName.Data()) ); + tskQC->SetHarmonic(SFT_gbHarmonic); + mgr->AddTask(tskQC); + mgr->ConnectInput( tskQC,0,flowEvent2); + mgr->ConnectOutput(tskQC,1,outQC); +} void SFT_AddQCmethod(char *name, AliAnalysisDataContainer *flowEvent, AliFlowTrackSimpleCuts *cutsPOI=NULL) { TString fileName = AliAnalysisManager::GetCommonFileName(); TString myFolder = Form("%sv%d",SFT_gbFolder.Data(),SFT_gbHarmonic); @@ -289,6 +348,8 @@ void SFT_AddSPmethod(char *name, AliAnalysisDataContainer *flowEvent, AliFlowTra mgr->ConnectOutput(tskSP,1,outSP); } double SFT_MassBandLowEdge( int nv0, int mb ) { + if(nv0>10&&mb==0) return -5; + if(nv0>10&&mb==1) return +5; switch(nv0) { case(0): double lowEdge[14]={0.398, 0.420, 0.444, 0.468, 0.486, @@ -301,8 +362,6 @@ double SFT_MassBandLowEdge( int nv0, int mb ) { 1.148, 1.158, 1.168}; break; } - if(nv0>10&&mb==0) return -5; - if(nv0>10&&mb==1) return +5; return lowEdge[mb]; } int SFT_MassBands( int nv0 ) { @@ -339,61 +398,84 @@ double SFT_MaxMass( int nv0 ) { void SFT_PrintConfig() { printf("***********************************\n"); printf("* STRANGE FLOW TASK CONFIGURATION *\n"); - printf("* SUFFIX %8s *\n", SFT_gbSuffix.Data() ); - printf("* TRIGGER %8d *\n", SFT_gbTrigger ); - printf("* RUNPP %3d *\n", SFT_gbRunPP ); - printf("* RUNPA %3d *\n", SFT_gbRunPA ); - printf("* AVOIDEXEC %3d *\n", SFT_gbAvoidExec ); - printf("* ESD %3d *\n", SFT_gbReadESD ); - printf("* MC %3d *\n", SFT_gbReadMC ); - printf("* EXTRAEVENTCUT %3d *\n", SFT_gbExtraEventCut ); - printf("* CENTMETHOD %8s *\n", SFT_gbCentMethod.Data() ); - printf("* CENTPERMIN %3d *\n", SFT_gbCentPerMin ); - printf("* CENTPERMAX %3d *\n", SFT_gbCentPerMax ); - printf("* SPECIE %3d *\n", SFT_gbSpecie ); - printf("* HOMEMADE %3d *\n", SFT_gbHomemade ); - printf("* ONLINE %3d *\n", SFT_gbOnline ); - printf("* MINNCLSTTPC %3d *\n", SFT_gbMinNClsTPC ); - printf("* MINXROWS %3d *\n", SFT_gbMinXRows ); - printf("* MAXCHI2NCLSTPC %+9.6f *\n", SFT_gbMaxChi2PerNClsTPC ); - printf("* MINXROWSNFCLSTPC %+9.6f *\n", SFT_gbMinXRowsOverNClsFTPC ); - printf("* MINETA %+9.6f *\n", SFT_gbMinEta ); - printf("* MAXETA %+9.6f *\n", SFT_gbMaxEta ); - printf("* MINPT %+9.6f *\n", SFT_gbMinPt ); - printf("* UNTAG %+9.6f *\n", SFT_gbUntagDaughter ); - printf("* MIND0XY %+9.6f *\n", SFT_gbMinImpactParameterXY ); - printf("* MAXSIGMAPID %+9.6f *\n", SFT_gbMaxNSigmaPID ); - printf("* MAXY %+9.6f *\n", SFT_gbMaxRapidity ); - printf("* MAXDCA %+9.6f *\n", SFT_gbMaxDCAdaughters ); - printf("* MINCTP %+9.6f *\n", SFT_gbMinCosinePointingAngleXY ); - printf("* MINQT %+9.6f *\n", SFT_gbMinQt ); - printf("* QTPIE %+9.6f *\n", SFT_gbQtPie ); - printf("* MINRADXY %+9.6f *\n", SFT_gbMinRadXY ); - printf("* MAXDL %+9.6f *\n", SFT_gbMaxDecayLength ); - printf("* D0D0XY %+9.6f *\n", SFT_gbMaxProductIPXY ); - printf("* DEBUG %3d *\n", SFT_gbDebug ); - printf("* QA %3d *\n", SFT_gbQA ); - printf("* SKIPSELECTION %3d *\n", SFT_gbSkipSelection ); - printf("* SKIPFLOW %3d *\n", SFT_gbSkipFlow ); - printf("* USEFP %3d *\n", SFT_gbFlowPackage ); - printf("* SPVZE %3d *\n", SFT_gbSPVZE ); - printf("* SPVZEHALF %3d *\n", SFT_gbSPVZEhalf ); - printf("* SPTPC %3d *\n", SFT_gbSPTPC ); - printf("* QCTPC %3d *\n", SFT_gbQCTPC ); - printf("* SHRINKFP %3d *\n", SFT_gbShrinkFP ); - printf("* RFFILTERBIT %3d *\n", SFT_gbRFPFilterBit ); - printf("* RFMINPT %+9.6f *\n", SFT_gbRFPminPt ); - printf("* RFMAXPT %+9.6f *\n", SFT_gbRFPmaxPt ); - printf("* RFMINETA %+9.6f *\n", SFT_gbRFPminEta ); - printf("* RFMAXETA %+9.6f *\n", SFT_gbRFPmaxEta ); - printf("* RFTPCSIGNAL %+9.6f *\n", SFT_gbRFPTPCsignal ); - printf("* RFMAXIPXY %+9.6f *\n", SFT_gbRFPmaxIPxy ); - printf("* RFMAXIPZ %+9.6f *\n", SFT_gbRFPmaxIPz ); - printf("* RFTPCNCLS %3d *\n", SFT_gbRFPTPCncls ); - printf("* VZELOAD %8s *\n", SFT_gbVZEload.Data() ); - printf("* VZELINEAR %3d *\n", SFT_gbVZEmb ); - printf("* VZEPERDISK %3d *\n", SFT_gbVZEpdisk ); - printf("* VZESAVE %3d *\n", SFT_gbVZEsave ); + printf("* SUFFIX %s *\n", SFT_gbSuffix.Data() ); + printf("* TRIGGER %d *\n", SFT_gbTrigger ); + printf("* RUNPP %d *\n", SFT_gbRunPP ); + printf("* RUNPA %d *\n", SFT_gbRunPA ); + printf("* AVOIDEXEC %d *\n", SFT_gbAvoidExec ); + printf("* SKIPCENTRALITY %d *\n", SFT_gbSkipCentrality ); + printf("* ESD %d *\n", SFT_gbReadESD ); + printf("* MC %d *\n", SFT_gbReadMC ); + printf("* HARMONIC %d *\n", SFT_gbHarmonic ); + printf("* ADDPITOMCEP %d *\n", SFT_gbAddPitoMCRP ); + printf("* POSTMATCHED %d *\n", SFT_gbPostMatched ); + printf("* EXTRAEVENTCUT %d *\n", SFT_gbExtraEventCut ); + printf("* CENTMETHOD %s *\n", SFT_gbCentMethod.Data() ); + printf("* CENTPERMIN %d *\n", SFT_gbCentPerMin ); + printf("* CENTPERMAX %d *\n", SFT_gbCentPerMax ); + printf("* VERTEXZ %f *\n", SFT_gbVertexZcut ); + printf("* SPECIE %d *\n", SFT_gbSpecie ); + printf("* HOMEMADE %d *\n", SFT_gbHomemade ); + printf("* ONLINE %d *\n", SFT_gbOnline ); + printf("* MINNCLSTTPC %d *\n", SFT_gbMinNClsTPC ); + printf("* MINNCLSITS %d *\n", SFT_gbMinNClsITS ); + printf("* MINXROWS %d *\n", SFT_gbMinXRows ); + printf("* MAXCHI2NCLSTPC %f *\n", SFT_gbMaxChi2PerNClsTPC ); + printf("* MINXROWSNFCLSTPC %f *\n", SFT_gbMinXRowsOverNClsFTPC ); + printf("* MINETA %f *\n", SFT_gbMinEta ); + printf("* MAXETA %f *\n", SFT_gbMaxEta ); + printf("* MINPT %f *\n", SFT_gbMinPt ); + printf("* UNTAG %f *\n", SFT_gbUntagDaughter ); + printf("* MIND0XY %f *\n", SFT_gbMinImpactParameterXY ); + printf("* MAXSIGMAPID %f *\n", SFT_gbMaxNSigmaPID ); + printf("* MAXY %f *\n", SFT_gbMaxRapidity ); + printf("* MAXDCA %f *\n", SFT_gbMaxDCAdaughters ); + printf("* MINCTP %f *\n", SFT_gbMinCosinePointingAngleXY ); + printf("* MINQT %f *\n", SFT_gbMinQt ); + printf("* QTPIE %f *\n", SFT_gbQtPie ); + printf("* STOPPID %f *\n", SFT_gbPIDPt ); + printf("* MINRADXY %f *\n", SFT_gbMinRadXY ); + printf("* MAXDL %f *\n", SFT_gbMaxDecayLength ); + printf("* D0D0XY %f *\n", SFT_gbMaxProductIPXY ); + printf("* DEBUG %d *\n", SFT_gbDebug ); + printf("* QA %d *\n", SFT_gbQA ); + printf("* SKIPSELECTION %d *\n", SFT_gbSkipSelection ); + printf("* SKIPVN %d *\n", SFT_gbSkipVn ); + printf("* USEFP %d *\n", SFT_gbFlowPackage ); + printf("* SPVZE %d *\n", SFT_gbSPVZE ); + printf("* SPVZEHALF %d *\n", SFT_gbSPVZEhalf ); + printf("* SPTPC %d *\n", SFT_gbSPTPC ); + printf("* QCTPC %d *\n", SFT_gbQCTPC ); + printf("* MCEP %d *\n", SFT_gbMCEP ); + printf("* SHRINKFP %d *\n", SFT_gbShrinkFP ); + printf("* RFFILTERBIT %d *\n", SFT_gbRFPFilterBit ); + printf("* RFMINPT %f *\n", SFT_gbRFPminPt ); + printf("* RFMAXPT %f *\n", SFT_gbRFPmaxPt ); + printf("* RFCMINETA %f *\n", SFT_gbRFPCminEta ); + printf("* RFCMAXETA %f *\n", SFT_gbRFPCmaxEta ); + printf("* RFAMINETA %f *\n", SFT_gbRFPAminEta ); + printf("* RFAMAXETA %f *\n", SFT_gbRFPAmaxEta ); + printf("* RFTPCSIGNAL %f *\n", SFT_gbRFPTPCsignal ); + printf("* RFMAXIPXY %f *\n", SFT_gbRFPmaxIPxy ); + printf("* RFMAXIPZ %f *\n", SFT_gbRFPmaxIPz ); + printf("* RFTPCNCLS %d *\n", SFT_gbRFPTPCncls ); + printf("* RFVZEC_RingMin %d *\n", SFT_gbV0CRingMin ); + printf("* RFVZEC_RingMax %d *\n", SFT_gbV0CRingMax ); + printf("* RFVZEA_RingMin %d *\n", SFT_gbV0ARingMin ); + printf("* RFVZEA_RingMax %d *\n", SFT_gbV0ARingMax ); + printf("* WHICHPSI %d *\n", SFT_gbWhichPsi ); + printf("* VZELOAD %s *\n", SFT_gbVZEload.Data() ); + printf("* VZELINEAR %d *\n", SFT_gbVZEmb ); + printf("* VZEPERDISK %d *\n", SFT_gbVZEpdisk ); + printf("* VZESAVE %d *\n", SFT_gbVZEsave ); + printf("* DAUITS0 %d *\n", SFT_gbDauITS0On ); + printf("* DAUITS1 %d *\n", SFT_gbDauITS1On ); + printf("* DAUITS2 %d *\n", SFT_gbDauITS2On ); + printf("* DAUITS3 %d *\n", SFT_gbDauITS3On ); + printf("* DAUITS4 %d *\n", SFT_gbDauITS4On ); + printf("* DAUITS5 %d *\n", SFT_gbDauITS5On ); + printf("* DAUSPDANY %d *\n", SFT_gbDauSPDany ); + printf("* DAUITSrefit %d *\n", SFT_gbDauITSrefit ); printf("***********************************\n"); } void SFT_ReadConfig(TString ipf) { @@ -419,6 +501,8 @@ void SFT_ReadConfig(TString ipf) { input >> SFT_gbRunPA; } else if(!varname.CompareTo("AVOIDEXEC")) { input >> SFT_gbAvoidExec; + } else if(!varname.CompareTo("SKIPCENTRALITY")) { + input >> SFT_gbSkipCentrality; } else if(!varname.CompareTo("ESD")) { input >> SFT_gbReadESD; } else if(!varname.CompareTo("MC")) { @@ -439,6 +523,8 @@ void SFT_ReadConfig(TString ipf) { input >> SFT_gbOnline; } else if(!varname.CompareTo("MINNCLSTTPC")) { input >> SFT_gbMinNClsTPC; + } else if(!varname.CompareTo("MINNCLSITS")) { + input >> SFT_gbMinNClsITS; } else if(!varname.CompareTo("MINXROWS")) { input >> SFT_gbMinXRows; } else if(!varname.CompareTo("MAXCHI2NCLSTPC")) { @@ -465,6 +551,8 @@ void SFT_ReadConfig(TString ipf) { input >> SFT_gbMinQt; } else if(!varname.CompareTo("QTPIE")) { input >> SFT_gbQtPie; + } else if(!varname.CompareTo("STOPPID")) { + input >> SFT_gbPIDPt; } else if(!varname.CompareTo("MINRADXY")) { input >> SFT_gbMinRadXY; } else if(!varname.CompareTo("MAXDL")) { @@ -477,8 +565,8 @@ void SFT_ReadConfig(TString ipf) { input >> SFT_gbQA; } else if(!varname.CompareTo("SKIPSELECTION")) { input >> SFT_gbSkipSelection; - } else if(!varname.CompareTo("SKIPFLOW")) { - input >> SFT_gbSkipFlow; + } else if(!varname.CompareTo("SKIPVN")) { + input >> SFT_gbSkipVn; } else if(!varname.CompareTo("USEFP")) { input >> SFT_gbFlowPackage; } else if(!varname.CompareTo("SPVZE")) { @@ -489,18 +577,26 @@ void SFT_ReadConfig(TString ipf) { input >> SFT_gbSPVZEhalf; } else if(!varname.CompareTo("QCTPC")) { input >> SFT_gbQCTPC; + } else if(!varname.CompareTo("MCEP")) { + input >> SFT_gbMCEP; + } else if(!varname.CompareTo("ADDPITOMCEP")) { + input >> SFT_gbAddPitoMCRP; } else if(!varname.CompareTo("SHRINKFP")) { - input >> SFT_ShrinkFP; + input >> SFT_gbShrinkFP; } else if(!varname.CompareTo("RFFILTERBIT")) { input >> SFT_gbRFPFilterBit; } else if(!varname.CompareTo("RFMINPT")) { input >> SFT_gbRFPminPt; } else if(!varname.CompareTo("RFMAXPT")) { input >> SFT_gbRFPmaxPt; - } else if(!varname.CompareTo("RFMINETA")) { - input >> SFT_gbRFPminEta; - } else if(!varname.CompareTo("RFMAXETA")) { - input >> SFT_gbRFPmaxEta; + } else if(!varname.CompareTo("RFCMINETA")) { + input >> SFT_gbRFPCminEta; + } else if(!varname.CompareTo("RFCMAXETA")) { + input >> SFT_gbRFPCmaxEta; + } else if(!varname.CompareTo("RFAMINETA")) { + input >> SFT_gbRFPAminEta; + } else if(!varname.CompareTo("RFAMAXETA")) { + input >> SFT_gbRFPAmaxEta; } else if(!varname.CompareTo("RFTPCSIGNAL")) { input >> SFT_gbRFPTPCsignal; } else if(!varname.CompareTo("RFMAXIPXY")) { @@ -521,6 +617,38 @@ void SFT_ReadConfig(TString ipf) { input >> SFT_gbAllCC; } else if(!varname.CompareTo("UNTAG")) { input >> SFT_gbUntagDaughter; + } else if(!varname.CompareTo("POSTMATCHED")) { + input >> SFT_gbPostMatched; + } else if(!varname.CompareTo("VERTEXZ")) { + input >> SFT_gbVertexZcut; + } else if(!varname.CompareTo("WHICHPSI")) { + input >> SFT_gbWhichPsi; + } else if(!varname.CompareTo("DAUITS0")) { + input >> SFT_gbDauITS0On; + } else if(!varname.CompareTo("DAUITS1")) { + input >> SFT_gbDauITS1On; + } else if(!varname.CompareTo("DAUITS2")) { + input >> SFT_gbDauITS2On; + } else if(!varname.CompareTo("DAUITS3")) { + input >> SFT_gbDauITS3On; + } else if(!varname.CompareTo("DAUITS4")) { + input >> SFT_gbDauITS4On; + } else if(!varname.CompareTo("DAUITS5")) { + input >> SFT_gbDauITS5On; + } else if(!varname.CompareTo("DAUSPDANY")) { + input >> SFT_gbDauSPDany; + } else if(!varname.CompareTo("DAUITSREFIT")) { + input >> SFT_gbDauITSrefit; + } else if(!varname.CompareTo("RFVZEC_RingMin")) { + input >> SFT_gbV0CRingMin; + } else if(!varname.CompareTo("RFVZEC_RingMax")) { + input >> SFT_gbV0CRingMax; + } else if(!varname.CompareTo("RFVZEA_RingMin")) { + input >> SFT_gbV0ARingMin; + } else if(!varname.CompareTo("RFVZEA_RingMax")) { + input >> SFT_gbV0ARingMax; + } else if(!varname.CompareTo("HARMONIC")) { + input >> SFT_gbHarmonic; } else { printf("I dont understand %s\n",varname.Data()); } @@ -542,6 +670,7 @@ void SFT_ResetVars() { SFT_gbHomemade=0; SFT_gbOnline=0; SFT_gbMinNClsTPC=70; + SFT_gbMinNClsITS=-1; SFT_gbMinXRows=70; SFT_gbMaxChi2PerNClsTPC=4.0; SFT_gbMinXRowsOverNClsFTPC=0.8; @@ -555,6 +684,7 @@ void SFT_ResetVars() { SFT_gbMinCosinePointingAngleXY=0.998; SFT_gbMinQt=0.2; SFT_gbQtPie=kTRUE; + SFT_gbPIDPt=3.0; SFT_gbMinRadXY=5.0; SFT_gbMaxDecayLength=3.0; SFT_gbMaxProductIPXY=0.0; @@ -565,26 +695,45 @@ void SFT_ResetVars() { SFT_gbRFPFilterBit=1; SFT_gbRFPminPt=0.2; SFT_gbRFPmaxPt=5.0; - SFT_gbRFPminEta=-0.8; - SFT_gbRFPmaxEta=+0.8; + SFT_gbRFPCminEta=-0.8; + SFT_gbRFPCmaxEta=0.0; + SFT_gbRFPAminEta=0.0; + SFT_gbRFPAmaxEta=+0.8; SFT_gbRFPTPCsignal=10; SFT_gbRFPmaxIPxy=2.4; SFT_gbRFPmaxIPz=3.2; SFT_gbRFPTPCncls=70; + SFT_gbV0CRingMin=0; + SFT_gbV0CRingMax=3; + SFT_gbV0ARingMin=0; + SFT_gbV0ARingMax=3; SFT_gbAllCC=0; SFT_gbSkipSelection=0; - SFT_gbSkipFlow=0; - SFT_gbWhichPsi=2; + SFT_gbSkipVn=0; + SFT_gbWhichPsi=1; SFT_gbFlowPackage=0; SFT_gbSPVZE=0; SFT_gbSPVZEhalf=kFALSE; SFT_gbSPTPC=0; SFT_gbQCTPC=0; + SFT_gbMCEP=0; SFT_gbHarmonic=2; SFT_gbVZEload="no"; SFT_gbVZEsave=0; SFT_gbVZEmb=0; SFT_gbVZEpdisk=0; SFT_gbUntagDaughter=kTRUE; + SFT_gbPostMatched=kFALSE; SFT_gbShrinkFP=kTRUE; + SFT_gbVertexZcut=10.0; + SFT_gbDauITS0On=-1; + SFT_gbDauITS1On=-1; + SFT_gbDauITS2On=-1; + SFT_gbDauITS3On=-1; + SFT_gbDauITS4On=-1; + SFT_gbDauITS5On=-1; + SFT_gbSkipCentrality=kFALSE; + SFT_gbAddPitoMCRP=kFALSE; + SFT_gbDauSPDany=kFALSE; + SFT_gbDauITSrefit=kFALSE; }