fCentClass(10),
fNVariables(25),
fVariables(0x0),
+ fITSClusterMap(0),
fAvgTrials(1),
fNEventAll(0),
fNEventSel(0),
fPtRelUncertainty1Pt(0x0),
fPtRelUncertainty1PtNClus(0x0),
fPtRelUncertainty1PtNClusIter1(0x0),
+ fPtRelUncertainty1PtNPointITS(0x0),
+ fPtRelUncertainty1PtITSClusterMap(0x0),
fPtRelUncertainty1PtChi2(0x0),
fPtRelUncertainty1PtChi2Iter1(0x0),
fPtRelUncertainty1PtPhi(0x0),
fPtChi2PerClusterTPCIter1(0x0),
fPtNCrossedRows(0x0),
fPtNCrossedRowsPhi(0x0),
- fPtNCrossedRowsNClusF(0x0),
+ fPtNCrossedRowsNClusFPhi(0x0),
fPtNCrRNCrRNClusF(0x0),
fPtNCrossedRowsFit(0x0),
fPtNCrossedRowsFitPhi(0x0),
- fPtNCrossedRowsNClusFFit(0x0),
+ fPtNCrossedRowsNClusFFitPhi(0x0),
fNCrossedRowsNCrossedRowsFit(0x0),
fNClustersNCrossedRows(0x0),
fNClustersNCrossedRowsFit(0x0),
+ fPtRelUncertainty1PtNCrossedRows(0x0),
+ fPtRelUncertainty1PtNCrossedRowsFit(0x0),
fPtChi2Gold(0x0),
fPtChi2GGC(0x0),
fPtChi2GoldPhi(0x0),
fCentClass(10),
fNVariables(25),
fVariables(0x0),
+ fITSClusterMap(0),
fAvgTrials(1),
fNEventAll(0),
fNEventSel(0),
fPtRelUncertainty1Pt(0x0),
fPtRelUncertainty1PtNClus(0x0),
fPtRelUncertainty1PtNClusIter1(0x0),
+ fPtRelUncertainty1PtNPointITS(0x0),
+ fPtRelUncertainty1PtITSClusterMap(0x0),
fPtRelUncertainty1PtChi2(0x0),
fPtRelUncertainty1PtChi2Iter1(0x0),
fPtRelUncertainty1PtPhi(0x0),
fPtChi2PerClusterTPCIter1(0x0),
fPtNCrossedRows(0x0),
fPtNCrossedRowsPhi(0x0),
- fPtNCrossedRowsNClusF(0x0),
+ fPtNCrossedRowsNClusFPhi(0x0),
fPtNCrRNCrRNClusF(0x0),
fPtNCrossedRowsFit(0x0),
fPtNCrossedRowsFitPhi(0x0),
- fPtNCrossedRowsNClusFFit(0x0),
+ fPtNCrossedRowsNClusFFitPhi(0x0),
fNCrossedRowsNCrossedRowsFit(0x0),
fNClustersNCrossedRows(0x0),
fNClustersNCrossedRowsFit(0x0),
+ fPtRelUncertainty1PtNCrossedRows(0x0),
+ fPtRelUncertainty1PtNCrossedRowsFit(0x0),
fPtChi2Gold(0x0),
fPtChi2GGC(0x0),
fPtChi2GoldPhi(0x0),
Double_t *binsNPointITS=new Double_t[fgkNNPointITSBins+1];
for(Int_t i=0; i<=fgkNNPointITSBins; i++) binsNPointITS[i]=(Double_t)fgkNPointITSMin + (fgkNPointITSMax-fgkNPointITSMin)/fgkNNPointITSBins*(Double_t)i ;
+ Int_t fgkNITSClusterMapBins=65;
+ Float_t fgkITSClusterMapMin = -0.5;
+ Float_t fgkITSClusterMapMax = 64.5;
+ Double_t *binsITSClusterMap=new Double_t[fgkNITSClusterMapBins+1];
+ for(Int_t i=0; i<=fgkNITSClusterMapBins; i++) binsITSClusterMap[i]=(Double_t)fgkITSClusterMapMin + (fgkITSClusterMapMax-fgkITSClusterMapMin)/fgkNITSClusterMapBins*(Double_t)i ;
+
+
Int_t fgkNNSigmaToVertexBins=9;
Float_t fgkNSigmaToVertexMin = 0.;
Float_t fgkNSigmaToVertexMax = 9.;
Double_t *binsChi2PerClus=new Double_t[fgkNChi2PerClusBins+1];
for(Int_t i=0; i<=fgkNChi2PerClusBins; i++) binsChi2PerClus[i]=(Double_t)fgkChi2PerClusMin + (fgkChi2PerClusMax-fgkChi2PerClusMin)/fgkNChi2PerClusBins*(Double_t)i ;
- Int_t fgkNCrossedRowsNClusFBins = 50;
+ Int_t fgkNCrossedRowsNClusFBins = 45;
Float_t fgkNCrossedRowsNClusFMin = 0.;
- Float_t fgkNCrossedRowsNClusFMax = 1.;
+ Float_t fgkNCrossedRowsNClusFMax = 1.5;
Double_t *binsNCrossedRowsNClusF=new Double_t[fgkNCrossedRowsNClusFBins+1];
for(Int_t i=0; i<=fgkNCrossedRowsNClusFBins; i++) binsNCrossedRowsNClusF[i]=(Double_t)fgkNCrossedRowsNClusFMin + (fgkNCrossedRowsNClusFMax-fgkNCrossedRowsNClusFMin)/fgkNCrossedRowsNClusFBins*(Double_t)i ;
fPtRelUncertainty1PtNClusIter1 = new TH3F("fPtRelUncertainty1PtNClusIter1","fPtRelUncertainty1PtNClusIter1",fgkNPtBins,binsPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNNClustersTPCBins,binsNClustersTPC);
fHistList->Add(fPtRelUncertainty1PtNClusIter1);
+ fPtRelUncertainty1PtNPointITS = new TH3F("fPtRelUncertainty1PtNPointITS","fPtRelUncertainty1PtNPointITS",fgkNPtBins,binsPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNNPointITSBins,binsNPointITS);
+ fHistList->Add(fPtRelUncertainty1PtNPointITS);
+
+ fPtRelUncertainty1PtITSClusterMap = new TH3F("fPtRelUncertainty1PtITSClusterMap","fPtRelUncertainty1PtITSClusterMap",fgkNPtBins,binsPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNITSClusterMapBins,binsITSClusterMap);
+ fHistList->Add(fPtRelUncertainty1PtITSClusterMap);
+
fPtRelUncertainty1PtChi2 = new TH3F("fPtRelUncertainty1PtChi2","fPtRelUncertainty1PtChi2",fgkNPtBins,binsPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNChi2PerClusBins,binsChi2PerClus);
fHistList->Add(fPtRelUncertainty1PtChi2);
fPtNCrossedRowsPhi = new TH3F("fPtNCrossedRowsPhi","fPtNCrossedRowsPhi",fgkNPtBins,binsPt,fgkNNClustersTPCBins,binsNClustersTPC,fgkNPhiBins,binsPhi);
fHistList->Add(fPtNCrossedRowsPhi);
- fPtNCrossedRowsNClusF = new TH2F("fPtNCrossedRowsNClusF","fPtNCrossedRowsNClusF",fgkNPtBins,binsPt,fgkNCrossedRowsNClusFBins,binsNCrossedRowsNClusF);
- fHistList->Add(fPtNCrossedRowsNClusF);
+ fPtNCrossedRowsNClusFPhi = new TH3F("fPtNCrossedRowsNClusFPhi","fPtNCrossedRowsNClusFPhi",fgkNPtBins,binsPt,fgkNCrossedRowsNClusFBins,binsNCrossedRowsNClusF,fgkNPhiBins,binsPhi);
+ fHistList->Add(fPtNCrossedRowsNClusFPhi);
fPtNCrRNCrRNClusF = new TH3F("fPtNCrRNCrRNClusF","fPtNCrRNCrRNClusF",fgkNPtBins,binsPt,fgkNNClustersTPCBins,binsNClustersTPC,fgkNCrossedRowsNClusFBins,binsNCrossedRowsNClusF);
fHistList->Add(fPtNCrRNCrRNClusF);
fPtNCrossedRowsFitPhi = new TH3F("fPtNCrossedRowsFitPhi","fPtNCrossedRowsFitPhi",fgkNPtBins,binsPt,fgkNNClustersTPCBins,binsNClustersTPC,fgkNPhiBins,binsPhi);
fHistList->Add(fPtNCrossedRowsFitPhi);
- fPtNCrossedRowsNClusFFit = new TH2F("fPtNCrossedRowsNClusFFit","fPtNCrossedRowsNClusFFit",fgkNPtBins,binsPt,fgkNCrossedRowsNClusFBins,binsNCrossedRowsNClusF);
- fHistList->Add(fPtNCrossedRowsNClusFFit);
+ fPtNCrossedRowsNClusFFitPhi = new TH3F("fPtNCrossedRowsNClusFFitPhi","fPtNCrossedRowsNClusFFitPhi",fgkNPtBins,binsPt,fgkNCrossedRowsNClusFBins,binsNCrossedRowsNClusF,fgkNPhiBins,binsPhi);
+ fHistList->Add(fPtNCrossedRowsNClusFFitPhi);
fNCrossedRowsNCrossedRowsFit = new TH2F("fNCrossedRowsNCrossedRowsFit","fNCrossedRowsNCrossedRowsFit",fgkNNClustersTPCBins,binsNClustersTPC,fgkNNClustersTPCBins,binsNClustersTPC);
fHistList->Add(fNCrossedRowsNCrossedRowsFit);
fNClustersNCrossedRowsFit = new TH2F("fNClustersNCrossedRowsFit","fNClustersNCrossedRowsFit",fgkNNClustersTPCBins,binsNClustersTPC,fgkNNClustersTPCBins,binsNClustersTPC);
fHistList->Add(fNClustersNCrossedRowsFit);
+ fPtRelUncertainty1PtNCrossedRows = new TH3F("fPtRelUncertainty1PtNCrossedRows","fPtRelUncertainty1PtNCrossedRows",fgkNPtBins,binsPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNNClustersTPCBins,binsNClustersTPC);
+ fHistList->Add(fPtRelUncertainty1PtNCrossedRows);
+
+ fPtRelUncertainty1PtNCrossedRowsFit = new TH3F("fPtRelUncertainty1PtNCrossedRowsFit","fPtRelUncertainty1PtNCrossedRowsFit",fgkNPtBins,binsPt,fgkNRel1PtUncertaintyBins,binsRel1PtUncertainty,fgkNNClustersTPCBins,binsNClustersTPC);
+ fHistList->Add(fPtRelUncertainty1PtNCrossedRowsFit);
+
fPtChi2Gold = new TH2F("fPtChi2Gold","fPtChi2Gold",fgkNPtBins,binsPt,fgkNChi2CBins,binsChi2C);
fHistList->Add(fPtChi2Gold);
fVariables->SetAt((float)track->GetTPCNcls(),5);
Int_t nPointITS = 0;
+ fITSClusterMap = track->GetITSClusterMap();
UChar_t itsMap = track->GetITSClusterMap();
for (Int_t i=0; i < 6; i++) {
if (itsMap & (1 << i))
fPtRelUncertainty1Pt->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)));
fPtRelUncertainty1PtNClus->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)),fVariables->At(5));
fPtRelUncertainty1PtNClusIter1->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)),fVariables->At(18));
+ fPtRelUncertainty1PtNPointITS->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)),fVariables->At(6));
+
+ fPtRelUncertainty1PtITSClusterMap->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)),(int)fITSClusterMap);
+
fPtRelUncertainty1PtChi2->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)),fVariables->At(10));
if(fVariables->At(18)>0.)
fPtRelUncertainty1PtChi2Iter1->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)),fVariables->At(19)/fVariables->At(18));
fPtChi2PerClusterTPC->Fill(fVariables->At(0),fVariables->At(10));
fPtNCrossedRows->Fill(fVariables->At(0),fVariables->At(11));
fPtNCrossedRowsPhi->Fill(fVariables->At(0),fVariables->At(11),fVariables->At(1));
- fPtNCrossedRowsNClusF->Fill(fVariables->At(0),fVariables->At(12));
+ fPtNCrossedRowsNClusFPhi->Fill(fVariables->At(0),fVariables->At(12),fVariables->At(1));
fPtNCrRNCrRNClusF->Fill(fVariables->At(0),fVariables->At(11),fVariables->At(12));
fPtChi2Gold->Fill(fVariables->At(0),fVariables->At(21));
fPtNCrossedRowsFit->Fill(fVariables->At(0),fVariables->At(23));
fPtNCrossedRowsFitPhi->Fill(fVariables->At(0),fVariables->At(23),fVariables->At(1));
- fPtNCrossedRowsNClusFFit->Fill(fVariables->At(0),fVariables->At(24));
+ fPtNCrossedRowsNClusFFitPhi->Fill(fVariables->At(0),fVariables->At(24),fVariables->At(1));
fNCrossedRowsNCrossedRowsFit->Fill(fVariables->At(11),fVariables->At(23));
fNClustersNCrossedRows->Fill(fVariables->At(5),fVariables->At(11));
fNClustersNCrossedRowsFit->Fill(fVariables->At(5),fVariables->At(23));
+ fPtRelUncertainty1PtNCrossedRows->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)),fVariables->At(11));
+ fPtRelUncertainty1PtNCrossedRowsFit->Fill(fVariables->At(0),fVariables->At(0)*TMath::Sqrt(fVariables->At(17)),fVariables->At(23));
+
}
//________________________________________________________________________
// bextra == 0 4 plus
// bextra == 1 large pass1 split..
// bextra == 2 3 plus
- Int_t bRun = 802; Int_t bExtra = 0; char* cDate = "111018b";
+ // Int_t bRun = 802; Int_t bExtra = 0; char* cDate = "111018b";
+ Int_t bRun = 5014; Int_t bExtra = 0; char* cDate = "120104a";
// Int_t bRun = 8102; Int_t bExtra = 1; char* cDate = "110725a";
iAODanalysis = 0;
// 1 == Read Jets and tracks form the input AOD
// 1 = write the Full AOD for all events
// 2 = write the Full AOD for triggered events
// 3 = write the deltaAOD for all events
+ iFilterAnalysis = 1;
// iFilterAnalysis = 2;kJetTriggerPtCut = 40;
- iFilterAnalysis = 3;
+ // iFilterAnalysis = 3;
// iFilterAnalysis = 2;
+
+ if(iFilterAnalysis==1){
+ kSaveAOD = 1;
+ kGridFilesPerJob = 5;
+ kDeltaAODJetName = "";
+ kFilterAOD = false;
+ }
+ else if(iFilterAnalysis==2){
+ kSaveAOD = 1;
+ kGridFilesPerJob = 20;
+ kDeltaAODJetName = "";
+ kFilterAOD = true;
+ }
+ else if(iFilterAnalysis == 3){
+ kSaveAOD = 2;
+ kGridFilesPerJob = 20;
+ kDeltaAODJetName = "AliAOD.Jets.root";
+ kFilterAOD = true;
+ }
+
+
if (kPluginMode.Contains("merge")){
// currently merging this one...
// cDate = "110717a";
}
if(iAODanalysis)kTrainName = Form("tAOD_10h_pass2_%s",cDate);
- if(iFilterAnalysis==1){
- kSaveAOD = 1;
- kGridFilesPerJob = 5;
- kDeltaAODJetName = "";
- kFilterAOD = false;
- }
- else if(iFilterAnalysis==2){
- kSaveAOD = 1;
- kGridFilesPerJob = 20;
- kDeltaAODJetName = "";
- kFilterAOD = true;
- }
- else if(iFilterAnalysis == 3){
- kSaveAOD = 2;
- kGridFilesPerJob = 20;
- kDeltaAODJetName = "AliAOD.Jets.root";
- kFilterAOD = true;
- }
-
if(iAODanalysis==0){
// select what is running in the spectrum task, list of jet names is filles automatically
kGridFilesPerJob = 30;
iPWG4CaloConv = 0; // 25.08. off: Output size 03.09 crashes
iPWG4omega3pi = 0; // OFF no feedback
iPWGPPQASym = 0; // excluded since also on QA train
+ iPWG4Minijet = 0;
+ iPWG4ThreeJets = 0; // tmp off mem leak
+ iPWG4KMeans = 0; // OFF no FEEDBACK
+ iPWG4Tagged = 0; // OFF crashes on MC
+ iPWG4CaloQA = 0; // OFF not needed on MC
+ iPWG4JetCorr = 0;
+ iPWG4JCORRAN = 0; // TMP OFF: Writes a Tree
+ iPWG4omega3pi = 0; // OFF no feedback
+
+ // swtich off most tasks for Pb+Pb
+ iDIJETAN = 0; // only run on one JetFinder for the moment
+ iPWG4LeadingUE = 0;
+ iPWG4JetChem = 0;
+ iPWG4QGSep = 0;
+ iPWG4Minijet = 0;
+ iPWG4PartCorr = 0;
+ iPWG4GammaConv = 0;
+
+ // running as light a possible
+
+ iPWG4PtQAMC = 0; //
+ iPWG4PtQATPC = 0; //
+ iPWG4PtSpectra = 0; //
+ iPWG4PtTrackQA = 0; // currently not needed 08.09.2011
+ iPWG4JetSpectrum = 1;
+ iPWG4JetServices = 1; // !!!!!!!!!!!
+ iPWG4Cluster = 1;// not 5....
+ kHighPtFilterMask = 1<<4|1<<8; // Global tracks with SPD requirment global constraitn for the rest
+ iPWG4Fragmentation = 1;
+ //
+
kDeltaAODJetName = ""; // for OTF we do not need to write a delta/saves some extension gymnastics in the tasks
kHighPtFilterMask = 1<<4|1<<8;
-
- if(iFilterAnalysis==1){
- kSaveAOD = 1;
- kDeltaAODJetName = "";
- kFilterAOD = false;
- }
- else if(iFilterAnalysis==2){
- kJetTriggerPtCut = 20; //pt
- kSaveAOD = 1;
- kDeltaAODJetName = "";
- kFilterAOD = true;
- }
- else if(iFilterAnalysis == 3){
- kSaveAOD = 2;
- kDeltaAODJetName = "AliAOD.Jets.root";
- kFilterAOD = true;
- }
kGridFilesPerJob = 100;
/*
############# Possible jet branches ###################
// local
if(iAODanalysis)kNumberOfEvents = 2000;
kUseSysInfo = 1;
- kUseDebug = kTRUE;
- kTrainName = Form("pwg4train_test_local");
- kLocalDataList = "local_esd_lhc10d_pass2.txt";
- kUsePAR = kFALSE; // cannot patch the macro for local test, need to laod FASTjet libs before loading FASTJETA.so
- kUseCPAR = kFALSE;
- if(bRun==802){
- kLocalDataList = "local_esd_lhc10h.txt";
- if(iAODanalysis) kLocalDataList = "local_aod_lhc10h.txt";
- }
- // iPWG4PtTrackQA = 0;
- // iPWG4PtQAMC = 0;
- // iPWG4PtSpectra = 0;
- // iPWG4PtQATPC = 0;
- // iPWG4PtTrackQA = 0;
- // iPWG4Cluster = 0;
- kUseCPAR = kFALSE;
- kUsePAR = kFALSE;
- // kNumberOfEvents = 200;
- // all OFF
+ kUseDebug = kTRUE;
+ kTrainName = Form("pwg4train_test_local");
+ kLocalDataList = "local_esd_lhc10d_pass2.txt";
+ kUsePAR = kFALSE; // cannot patch the macro for local test, need to laod FASTjet libs before loading FASTJETA.so
+ kUseCPAR = kFALSE;
+ if(bRun==802){
+ kLocalDataList = "local_esd_lhc10h.txt";
+ if(iAODanalysis) kLocalDataList = "local_aod_lhc10h.txt";
+ }
+ else if (bRun == 5014){
+ kLocalDataList = "local_esd_lhc10e14.txt";
+ }
+ // iPWG4PtTrackQA = 0;
+ // iPWG4PtQAMC = 0;
+ // iPWG4PtSpectra = 0;
+ // iPWG4PtQATPC = 0;
+ // iPWG4PtTrackQA = 0;
+ // iPWG4Cluster = 0;
+ kUseCPAR = kFALSE;
+ kUsePAR = kFALSE;
+ // kNumberOfEvents = 70;
+ // all OFF
}
}
if(kPluginAliRootVersion.Length()==0){