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;
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;
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;
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;
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;
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();
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);
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);
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);
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
}
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
}
}
}
+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);
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,
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 ) {
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) {
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")) {
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")) {
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")) {
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")) {
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")) {
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());
}
SFT_gbHomemade=0;
SFT_gbOnline=0;
SFT_gbMinNClsTPC=70;
+ SFT_gbMinNClsITS=-1;
SFT_gbMinXRows=70;
SFT_gbMaxChi2PerNClsTPC=4.0;
SFT_gbMinXRowsOverNClsFTPC=0.8;
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;
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;
}