fUseDistanceToBadChannel(0),
fMaxTimeDiff(10e10),
fUseTimeDiff(0),
- fMinDistTrackToCluster(0),
+ fMaxDistTrackToClusterEta(0),
+ fMinDistTrackToClusterPhi(0),
+ fMaxDistTrackToClusterPhi(0),
fUseDistTrackToCluster(0),
fExtendedMatching(kFALSE),
fExoticCell(0),
fHistDistanceTrackToClusterAfterQA(NULL),
fHistClusterdEtadPhiPosTracksBeforeQA(NULL),
fHistClusterdEtadPhiNegTracksBeforeQA(NULL),
- fHistClusterdEtadPhiPosTracks_E0_AfterQA(NULL),
- fHistClusterdEtadPhiPosTracks_E08_AfterQA(NULL),
- fHistClusterdEtadPhiPosTracks_E8_AfterQA(NULL),
- fHistClusterdEtadPhiNegTracks_E0_AfterQA(NULL),
- fHistClusterdEtadPhiNegTracks_E08_AfterQA(NULL),
- fHistClusterdEtadPhiNegTracks_E8_AfterQA(NULL),
+ fHistClusterdEtadPhiPosTracksAfterQA(NULL),
+ fHistClusterdEtadPhiNegTracksAfterQA(NULL),
+ fHistClusterdEtadPhiPosTracks_P1_BeforeQA(NULL),
+ fHistClusterdEtadPhiPosTracks_P14_BeforeQA(NULL),
+ fHistClusterdEtadPhiPosTracks_P4_BeforeQA(NULL),
+ fHistClusterdEtadPhiNegTracks_P1_BeforeQA(NULL),
+ fHistClusterdEtadPhiNegTracks_P14_BeforeQA(NULL),
+ fHistClusterdEtadPhiNegTracks_P4_BeforeQA(NULL),
fHistClusterdEtadPtBeforeQA(NULL),
fHistClusterdPhidPtBeforeQA(NULL),
fHistClusterM20Pt_dPhiBeforeQA(NULL),
fUseDistanceToBadChannel(ref.fUseDistanceToBadChannel),
fMaxTimeDiff(ref.fMaxTimeDiff),
fUseTimeDiff(ref.fUseTimeDiff),
- fMinDistTrackToCluster(ref.fMinDistTrackToCluster),
+ fMaxDistTrackToClusterEta(ref.fMaxDistTrackToClusterEta),
+ fMinDistTrackToClusterPhi(ref.fMinDistTrackToClusterPhi),
+ fMaxDistTrackToClusterPhi(ref.fMaxDistTrackToClusterPhi),
fUseDistTrackToCluster(ref.fUseDistTrackToCluster),
fExtendedMatching(ref.fExtendedMatching),
fExoticCell(ref.fExoticCell),
fHistDistanceTrackToClusterAfterQA(NULL),
fHistClusterdEtadPhiPosTracksBeforeQA(NULL),
fHistClusterdEtadPhiNegTracksBeforeQA(NULL),
- fHistClusterdEtadPhiPosTracks_E0_AfterQA(NULL),
- fHistClusterdEtadPhiPosTracks_E08_AfterQA(NULL),
- fHistClusterdEtadPhiPosTracks_E8_AfterQA(NULL),
- fHistClusterdEtadPhiNegTracks_E0_AfterQA(NULL),
- fHistClusterdEtadPhiNegTracks_E08_AfterQA(NULL),
- fHistClusterdEtadPhiNegTracks_E8_AfterQA(NULL),
+ fHistClusterdEtadPhiPosTracksAfterQA(NULL),
+ fHistClusterdEtadPhiNegTracksAfterQA(NULL),
+ fHistClusterdEtadPhiPosTracks_P1_BeforeQA(NULL),
+ fHistClusterdEtadPhiPosTracks_P14_BeforeQA(NULL),
+ fHistClusterdEtadPhiPosTracks_P4_BeforeQA(NULL),
+ fHistClusterdEtadPhiNegTracks_P1_BeforeQA(NULL),
+ fHistClusterdEtadPhiNegTracks_P14_BeforeQA(NULL),
+ fHistClusterdEtadPhiNegTracks_P4_BeforeQA(NULL),
fHistClusterdEtadPtBeforeQA(NULL),
fHistClusterdPhidPtBeforeQA(NULL),
fHistClusterM20Pt_dPhiBeforeQA(NULL),
//fHistograms->Add(fHistDistanceToBadChannelAfterAcc);
// Cluster quality related histograms
- Double_t timeMin = -10e-6;
- Double_t timeMax = 10e-6;
- fHistClusterTimevsEBeforeQA=new TH2F(Form("ClusterTimeVsE_beforeClusterQA %s",GetCutNumber().Data()),"ClusterTimeVsE_beforeClusterQA",400,timeMin,timeMax,100,0.,40);
+ Double_t timeMin = -2e-6;
+ Double_t timeMax = 8e-6;
+ fHistClusterTimevsEBeforeQA=new TH2F(Form("ClusterTimeVsE_beforeClusterQA %s",GetCutNumber().Data()),"ClusterTimeVsE_beforeClusterQA",800,timeMin,timeMax,100,0,40);
fHistograms->Add(fHistClusterTimevsEBeforeQA);
- fHistClusterTimevsEAfterQA=new TH2F(Form("ClusterTimeVsE_afterClusterQA %s",GetCutNumber().Data()),"ClusterTimeVsE_afterClusterQA",400,timeMin,timeMax,100,0.,40);
+ fHistClusterTimevsEAfterQA=new TH2F(Form("ClusterTimeVsE_afterClusterQA %s",GetCutNumber().Data()),"ClusterTimeVsE_afterClusterQA",800,timeMin,timeMax,100,0,40);
fHistograms->Add(fHistClusterTimevsEAfterQA);
//fHistExoticCellBeforeQA=new TH2F(Form("ExoticCell_beforeClusterQA %s",GetCutNumber().Data()),"ExoticCell_beforeClusterQA",400,0,40,50,0.75,1);
//fHistograms->Add(fHistExoticCellBeforeQA);
fHistograms->Add(fHistClusterdEtadPhiPosTracksBeforeQA);
fHistClusterdEtadPhiNegTracksBeforeQA = new TH2F(Form("dEtaVsdPhi_negTracks_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
fHistograms->Add(fHistClusterdEtadPhiNegTracksBeforeQA);
- fHistClusterdEtadPhiPosTracks_E0_AfterQA = new TH2F(Form("dEtaVsdPhi_posTracks_E<0.5_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_E<0.5_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
- fHistograms->Add(fHistClusterdEtadPhiPosTracks_E0_AfterQA);
- fHistClusterdEtadPhiPosTracks_E08_AfterQA = new TH2F(Form("dEtaVsdPhi_posTracks_0.5<E<8_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_0.5<E<8_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
- fHistograms->Add(fHistClusterdEtadPhiPosTracks_E08_AfterQA);
- fHistClusterdEtadPhiPosTracks_E8_AfterQA = new TH2F(Form("dEtaVsdPhi_posTracks_E>8_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_E>8_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
- fHistograms->Add(fHistClusterdEtadPhiPosTracks_E8_AfterQA);
- fHistClusterdEtadPhiNegTracks_E0_AfterQA = new TH2F(Form("dEtaVsdPhi_negTrack_E<0.5s_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTrack_E<0.5s_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
- fHistograms->Add(fHistClusterdEtadPhiNegTracks_E0_AfterQA);
- fHistClusterdEtadPhiNegTracks_E08_AfterQA = new TH2F(Form("dEtaVsdPhi_negTracks_0.5<E<8_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_0.5<E<8_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
- fHistograms->Add(fHistClusterdEtadPhiNegTracks_E08_AfterQA);
- fHistClusterdEtadPhiNegTracks_E8_AfterQA = new TH2F(Form("dEtaVsdPhi_negTracks_E>8_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_E>8_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
- fHistograms->Add(fHistClusterdEtadPhiNegTracks_E8_AfterQA);
+ fHistClusterdEtadPhiPosTracksAfterQA = new TH2F(Form("dEtaVsdPhi_posTracks_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiPosTracksAfterQA);
+ fHistClusterdEtadPhiNegTracksAfterQA = new TH2F(Form("dEtaVsdPhi_negTracks_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiNegTracksAfterQA);
+ fHistClusterdEtadPhiPosTracks_P1_BeforeQA = new TH2F(Form("dEtaVsdPhi_posTracks_P<1_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_P<1_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiPosTracks_P1_BeforeQA);
+ fHistClusterdEtadPhiPosTracks_P14_BeforeQA = new TH2F(Form("dEtaVsdPhi_posTracks_1<P<4_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_1<P<4_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiPosTracks_P14_BeforeQA);
+ fHistClusterdEtadPhiPosTracks_P4_BeforeQA = new TH2F(Form("dEtaVsdPhi_posTracks_P>4_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_posTracks_P>4_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiPosTracks_P4_BeforeQA);
+ fHistClusterdEtadPhiNegTracks_P1_BeforeQA= new TH2F(Form("dEtaVsdPhi_negTrack_P<1s_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTrack_P<1s_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiNegTracks_P1_BeforeQA);
+ fHistClusterdEtadPhiNegTracks_P14_BeforeQA = new TH2F(Form("dEtaVsdPhi_negTracks_1<P<4_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_1<P<4_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiNegTracks_P14_BeforeQA);
+ fHistClusterdEtadPhiNegTracks_P4_BeforeQA = new TH2F(Form("dEtaVsdPhi_negTracks_P>4_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_negTracks_P>4_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiNegTracks_P4_BeforeQA);
fHistClusterdEtadPtBeforeQA = new TH2F(Form("dEtaVsPt_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsPt_beforeClusterQA",240,-0.3,0.3,250,0,25);
fHistograms->Add(fHistClusterdEtadPtBeforeQA);
fHistClusterdPhidPtBeforeQA = new TH2F(Form("dPhiVsPt_beforeClusterQA %s",GetCutNumber().Data()),"dPhiVsPt_beforeClusterQA",480,-0.6,0.6,250,0,25);
///________________________________________________________________________
Bool_t AliCaloPhotonCuts::ClusterQualityCuts(AliVCluster* cluster, AliVEvent *event, Bool_t isMC)
{ // Specific Photon Cuts
+ if(event){} // suppress warning
Int_t cutIndex = 0;
if(fHistClusterIdentificationCuts)fHistClusterIdentificationCuts->Fill(cutIndex);
Bool_t AliCaloPhotonCuts::AcceptanceCuts(AliVCluster *cluster, AliVEvent* event)
{
// Exclude certain areas for photon reconstruction
+ if(event){} // suppress warning
Int_t cutIndex=0;
if(fHistAcceptanceCuts)fHistAcceptanceCuts->Fill(cutIndex);
if(fHistDistanceTrackToClusterBeforeQA)fHistDistanceTrackToClusterBeforeQA->Fill(TMath::Sqrt(dR2));
if(fHistClusterdEtadPhiBeforeQA) fHistClusterdEtadPhiBeforeQA->Fill(dEta, dPhi);
- Float_t clusM02 = (Float_t)cluster->GetM02();
- Float_t clusM20 = (Float_t)cluster->GetM20();
+ Float_t clusM02 = (Float_t) cluster->GetM02();
+ Float_t clusM20 = (Float_t) cluster->GetM20();
if(fExtendedMatching){
- if(inTrack->Charge() > 0) fHistClusterdEtadPhiPosTracksBeforeQA->Fill(dEta, dPhi);
- if(inTrack->Charge() < 0) fHistClusterdEtadPhiNegTracksBeforeQA->Fill(dEta, dPhi);
+ if(inTrack->Charge() > 0) {
+ fHistClusterdEtadPhiPosTracksBeforeQA->Fill(dEta, dPhi);
+ if(inTrack->P() < 1) fHistClusterdEtadPhiPosTracks_P1_BeforeQA->Fill(dEta, dPhi);
+ else if(inTrack->P() < 4) fHistClusterdEtadPhiPosTracks_P14_BeforeQA->Fill(dEta, dPhi);
+ else fHistClusterdEtadPhiPosTracks_P4_BeforeQA->Fill(dEta, dPhi);
+ }
+ else{
+ fHistClusterdEtadPhiNegTracksBeforeQA->Fill(dEta, dPhi);
+ if(inTrack->P() < 1) fHistClusterdEtadPhiNegTracks_P1_BeforeQA->Fill(dEta, dPhi);
+ else if(inTrack->P() < 4) fHistClusterdEtadPhiNegTracks_P14_BeforeQA->Fill(dEta, dPhi);
+ else fHistClusterdEtadPhiNegTracks_P4_BeforeQA->Fill(dEta, dPhi);
+ }
fHistClusterdEtadPtBeforeQA->Fill(dEta, inTrack->Pt());
fHistClusterdPhidPtBeforeQA->Fill(dPhi, inTrack->Pt());
- if(abs(dPhi) > 0.05) fHistClusterM20Pt_dPhiBeforeQA->Fill(clusM20, inTrack->Pt());
- if(abs(dPhi) > 0.05) fHistClusterM02Pt_dPhiBeforeQA->Fill(clusM02, inTrack->Pt());
+ if(abs(dPhi) > 0.05){
+ fHistClusterM20Pt_dPhiBeforeQA->Fill(clusM20, inTrack->Pt());
+ fHistClusterM02Pt_dPhiBeforeQA->Fill(clusM02, inTrack->Pt());
+ }
fHistClusterM20M02BeforeQA->Fill(clusM20, clusM02);
}
- if(dR2 < fMinDistTrackToCluster*fMinDistTrackToCluster){
+ Bool_t match_dEta = (abs(dEta) < fMaxDistTrackToClusterEta) ? kTRUE : kFALSE;
+ Bool_t match_dPhi = kFALSE;
+ if( (inTrack->Charge() > 0) && (dPhi > fMinDistTrackToClusterPhi) && (dPhi < fMaxDistTrackToClusterPhi) ) match_dPhi = kTRUE;
+ else if( (inTrack->Charge() < 0) && (dPhi < -fMinDistTrackToClusterPhi) && (dPhi > -fMaxDistTrackToClusterPhi) ) match_dPhi = kTRUE;
+
+ if(match_dEta && match_dPhi){
+ //if(dR2 < fMinDistTrackToCluster*fMinDistTrackToCluster){
matched = kTRUE;
} else {
if(fHistDistanceTrackToClusterAfterQA)fHistDistanceTrackToClusterAfterQA->Fill(TMath::Sqrt(dR2));
if(fHistClusterdEtadPhiAfterQA) fHistClusterdEtadPhiAfterQA->Fill(dEta, dPhi);
if(fHistClusterRAfterQA) fHistClusterRAfterQA->Fill(clusterR);
if(fExtendedMatching){
- if(inTrack->Charge() > 0){
- if(inTrack->E < 0.5) fHistClusterdEtadPhiPosTracks_E0_AfterQA;
- else if(inTrack->E < 8) fHistClusterdEtadPhiPosTracks_E08_AfterQA;
- else fHistClusterdEtadPhiPosTracks_E8_AfterQA;
- }
- if(inTrack->Charge() < 0){
- if(inTrack->E < 0.5) fHistClusterdEtadPhiNegTracks_E0_AfterQA;
- else if(inTrack->E < 8) fHistClusterdEtadPhiNegTracks_E08_AfterQA;
- else fHistClusterdEtadPhiNegTracks_E8_AfterQA;
- }
-
+ if(inTrack->Charge() > 0) fHistClusterdEtadPhiPosTracksAfterQA->Fill(dEta, dPhi);
+ else fHistClusterdEtadPhiNegTracksAfterQA->Fill(dEta, dPhi);
fHistClusterM20M02AfterQA->Fill(clusM20, clusM02);
}
}
printf("Cluster Quality cuts: \n");
if (fUseTimeDiff) printf("\t time difference < %3.2f\n", fMaxTimeDiff );
- if (fUseDistTrackToCluster) printf("\tmin distance to track > %3.2f\n", fMinDistTrackToCluster );
- if (fUseExoticCell)printf("\t min distance to track > %3.2f\n", fMinDistTrackToCluster );
+ if (fUseDistTrackToCluster) printf("\tmin distance to track in eta > %3.2f, min phi < %3.2f and max phi > %3.2f\n", fMaxDistTrackToClusterEta, fMinDistTrackToClusterPhi, fMaxDistTrackToClusterPhi );
+ if (fUseExoticCell)printf("\t exotic cell: %3.2f\n", fExoticCell );
if (fUseMinEnergy)printf("\t E_{cluster} > %3.2f\n", fMinEnergy );
if (fUseNCells) printf("\t number of cells per cluster >= %d\n", fMinNCells );
if (fUseM02) printf("\t %3.2f < M02 < %3.2f\n", fMinM02, fMaxM02 );
{
switch(trackMatching){
case 0:
- fUseDistTrackToCluster=0;
- fMinDistTrackToCluster=0;
+ fUseDistTrackToCluster = 0;
+ fMaxDistTrackToClusterEta = 0;
+ fMinDistTrackToClusterPhi = 0;
+ fMaxDistTrackToClusterPhi = 0;
break;
case 1:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.03; //0.04;
+ fMaxDistTrackToClusterEta = 0.015;
+ fMinDistTrackToClusterPhi = -0.01;
+ fMaxDistTrackToClusterPhi = 0.03; //0.04;
break;
case 2:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.035; //0.05;
+ fMaxDistTrackToClusterEta = 0.015;
+ fMinDistTrackToClusterPhi = -0.01;
+ fMaxDistTrackToClusterPhi = 0.035; //0.05;
break;
case 3:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.04; //0.1;
+ fMaxDistTrackToClusterEta = 0.015;
+ fMinDistTrackToClusterPhi = -0.015;
+ fMaxDistTrackToClusterPhi = 0.04; //0.1;
break;
case 4:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.045; //0.13;
+ fMaxDistTrackToClusterEta = 0.015;
+ fMinDistTrackToClusterPhi = -0.015;
+ fMaxDistTrackToClusterPhi = 0.045; //0.13;
break;
case 5:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.05; //0.15
+ fMaxDistTrackToClusterEta = 0.015;
+ fMinDistTrackToClusterPhi = -0.02;
+ fMaxDistTrackToClusterPhi = 0.05; //0.15
break;
case 6:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.055; //0.2;
+ fMaxDistTrackToClusterEta = 0.015;
+ fMinDistTrackToClusterPhi = -0.02;
+ fMaxDistTrackToClusterPhi = 0.055; //0.2;
break;
case 7:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.06; //0.3;
+ fMaxDistTrackToClusterEta = 0.015;
+ fMinDistTrackToClusterPhi = -0.025;
+ fMaxDistTrackToClusterPhi = 0.06; //0.3;
break;
case 8:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.07; //0.4;
+ fMaxDistTrackToClusterEta = 0.015;
+ fMinDistTrackToClusterPhi = -0.025;
+ fMaxDistTrackToClusterPhi = 0.07; //0.4;
break;
case 9:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster= 0.1; //0.5;
+ fMaxDistTrackToClusterEta = 0.02;
+ fMinDistTrackToClusterPhi = -0.03;
+ fMaxDistTrackToClusterPhi = 0.1; //0.5;
break;
default: