AliVertexer* AliITSUReconstructor::CreateVertexer() const
{
// create a ITS vertexer
- // to be implemented for the upgrade
- AliInfo("Creating dummy vertexer");
+ //
+ AliInfo("Creating vertexer using tracklets with the first 3 ITS layers");
// AliDebug(1,"ITSU vertexer should be initiated here\n");
return new AliITSUVertexer();
}
}
fVertices=new AliESDVertex[fNoClusters];
- for(Int_t i0=0; i0<fNoClusters; ++i0) {
+ for(UInt_t i0=0; i0<fNoClusters; ++i0) {
AliITSUClusterLines *clu0 = (AliITSUClusterLines*)fLinesClusters.At(i0);
Int_t size=clu0->GetSize();
if(size<fClusterContribCut&&fNoClusters>1) {
const Double_t AliITSUv1Layer::fgkOBHalfStaveYTrans = 1.76 *fgkmm;
const Double_t AliITSUv1Layer::fgkOBHalfStaveXOverlap = 4.3 *fgkmm;
const Double_t AliITSUv1Layer::fgkOBGraphiteFoilThick = 30.0 *fgkmicron;
-const Double_t AliITSUv1Layer::fgkOBCoolTubeInnerD = 2.67 *fgkmm;
-const Double_t AliITSUv1Layer::fgkOBCoolTubeThick = 64.0 *fgkmicron;
+const Double_t AliITSUv1Layer::fgkOBCoolTubeInnerD = 2.052*fgkmm;
+const Double_t AliITSUv1Layer::fgkOBCoolTubeThick = 32.0 *fgkmicron;
const Double_t AliITSUv1Layer::fgkOBCoolTubeXDist = 11.1 *fgkmm;
const Double_t AliITSUv1Layer::fgkOBSpaceFrameWidth = 42.0 *fgkmm;
TGeoMedium *medCarbonFleece = mgr->GetMedium("ITS_CarbonFleece$");
// Local parameters
- Double_t kConeOutRadius =0.107/2;//0.107/2;
- Double_t kConeInRadius = 0.1015/2;//0.10105/2
+ Double_t kConeOutRadius =(0.1024+0.0025)/2;//0.107/2;
+ Double_t kConeInRadius = 0.1024/2;//0.10105/2
Double_t kStaveLength = zsta;
Double_t kStaveWidth = xsta*2;
Double_t kWidth = (kStaveWidth)/4;
-beamPhiPrime*TMath::RadToDeg(), -90);
TGeoCombiTrans *beamTransf[8];
- xpos = 0.5*triangleHeight*TMath::Tan(halfTheta);
+ xpos = 0.49*triangleHeight*TMath::Tan(halfTheta);//was 0.5, fix small overlap
ypos = staveBeamRadius/2;
zpos = seglen/8;
beamTransf[0] = new TGeoCombiTrans( xpos, ypos,-3*zpos, beamRot1);
Int_t nCandidates = fCandidateTracks->GetEntriesFast();
for (Int_t iCandidate=0; iCandidate<nCandidates; iCandidate++) {
+
+ if (!(fCandidateTracks->UncheckedAt(iCandidate))) continue;
fCurrentTrack = (AliMuonForwardTrack*) fCandidateTracks->UncheckedAt(iCandidate);
// if the old track is compatible with the new cluster, the track is updated and inserted as new track in the array
for (Int_t iFinalCandidate=0; iFinalCandidate<nFinalTracks; iFinalCandidate++) {
+ if (!(fCandidateTracks->UncheckedAt(iFinalCandidate))) continue;
AliMuonForwardTrack *finalTrack = (AliMuonForwardTrack*) fCandidateTracks->UncheckedAt(iFinalCandidate);
Int_t nMFTClusters = finalTrack->GetNMFTClusters();
snprintf(hname,100,"h1_time_mod%d_iter%d",fMod,fIterId);
snprintf(htitle,100,"Time : Mod:%d Iter:%d",fMod,fIterId);
fH1Time = (TH1I*) gDirectory->Get(hname);
- if( fH1Time>0 ){
+ if( fH1Time ){
std::cout<<" AliPHOSDApi0mip:Warning!! Output object already exist : "<<fH1Time->GetName()<<std::endl;
return false;
}
return ancLabel;
}
-//_______________________________________________________________________
+//________________________________________________________________________________________
Int_t AliMCAnalysisUtils::CheckOrigin(const Int_t * label, Int_t nlabels,
- const AliCaloTrackReader* reader)
+ const AliCaloTrackReader* reader, TString calorimeter)
{
//Play with the montecarlo particles if available
Int_t tag = 0;
return kMCBadLabel;
}
+ TObjArray* arrayCluster = 0;
+ if ( calorimeter == "EMCAL" ) arrayCluster = reader->GetEMCALClusters();
+ else if ( calorimeter == "PHOS" ) arrayCluster= reader->GetPHOSClusters();
+
//Select where the information is, ESD-galice stack or AOD mcparticles branch
if(reader->ReadStack()){
- tag = CheckOriginInStack(label, nlabels, reader->GetStack());
+ tag = CheckOriginInStack(label, nlabels, reader->GetStack(), arrayCluster);
}
else if(reader->ReadAODMCParticles()){
- tag = CheckOriginInAOD(label, nlabels, reader->GetAODMCParticles());
+ tag = CheckOriginInAOD(label, nlabels, reader->GetAODMCParticles(),arrayCluster);
}
return tag ;
}
-//__________________________________________________________________________________
-Int_t AliMCAnalysisUtils::CheckOrigin(Int_t label, const AliCaloTrackReader* reader)
+//____________________________________________________________________________________________________
+Int_t AliMCAnalysisUtils::CheckOrigin(Int_t label, const AliCaloTrackReader* reader, TString calorimeter)
{
//Play with the montecarlo particles if available
Int_t tag = 0;
return kMCBadLabel;
}
+ TObjArray* arrayCluster = 0;
+ if ( calorimeter == "EMCAL" ) arrayCluster = reader->GetEMCALClusters();
+ else if ( calorimeter == "PHOS" ) arrayCluster= reader->GetPHOSClusters();
+
Int_t labels[]={label};
//Select where the information is, ESD-galice stack or AOD mcparticles branch
if(reader->ReadStack()){
- tag = CheckOriginInStack(labels, 1,reader->GetStack());
+ tag = CheckOriginInStack(labels, 1,reader->GetStack(),arrayCluster);
}
else if(reader->ReadAODMCParticles()){
- tag = CheckOriginInAOD(labels, 1,reader->GetAODMCParticles());
+ tag = CheckOriginInAOD(labels, 1,reader->GetAODMCParticles(),arrayCluster);
}
return tag ;
}
-//_______________________________________________________________________________________________
-Int_t AliMCAnalysisUtils::CheckOriginInStack(const Int_t *labels, Int_t nlabels, AliStack* stack)
+//__________________________________________________________________________________________
+Int_t AliMCAnalysisUtils::CheckOriginInStack(const Int_t *labels, Int_t nlabels,
+ AliStack* stack, const TObjArray* arrayCluster)
{
// Play with the MC stack if available. Tag particles depending on their origin.
// Do same things as in CheckOriginInAOD but different input.
printf("AliMCAnalysisUtils::CheckOriginInStack() - First mother is directly pi0, not decayed by generator \n");
CheckOverlapped2GammaDecay(labels,nlabels, iMom, stack, tag); //set to kMCPi0 if 2 gammas in same cluster
+
}
else if(mPdg == 221)
{
if(fDebug > 2 ) printf("AliMCAnalysisUtils::CheckOriginInStack() - PYTHIA pi0 decay photon, parent pi0 with status 11 \n");
CheckOverlapped2GammaDecay(labels,nlabels, iParent, stack, tag); //set to kMCPi0 if 2 gammas in same cluster
+ // In case it did not merge, check if the decay companion is lost
+ if(!CheckTagBit(tag, kMCPi0) && !CheckTagBit(tag,kMCDecayPairInCalo))
+ CheckLostDecayPair(arrayCluster,iMom, iParent, stack, tag);
+
+ //printf("Bit set is Merged %d, Pair in calo %d, Lost %d\n",CheckTagBit(tag, kMCPi0),CheckTagBit(tag,kMCDecayPairInCalo),CheckTagBit(tag,kMCDecayPairLost));
}
else if (pPdg == 221)
{
if(fDebug > 2 ) printf("AliMCAnalysisUtils::CheckOriginInStack() - PYTHIA eta decay photon, parent pi0 with status 11 \n");
CheckOverlapped2GammaDecay(labels,nlabels, iParent, stack, tag);//set to kMCEta if 2 gammas in same cluster
+ // In case it did not merge, check if the decay companion is lost
+ if(!CheckTagBit(tag, kMCEta) && !CheckTagBit(tag,kMCDecayPairInCalo))
+ CheckLostDecayPair(arrayCluster,iMom, iParent, stack, tag);
}
else if(mStatus == 1)
{ //undecayed particle
if(fDebug > 0) printf("AliMCAnalysisUtils::CheckOriginInStack() - Checking ancestors of electrons\n");
- if (pPdg == 111) { SetTagBit(tag,kMCPi0Decay); } //Pi0 Dalitz decay
- else if (pPdg == 221) { SetTagBit(tag,kMCEtaDecay); } //Eta Dalitz decay
+ if (pPdg == 111) { SetTagBit(tag,kMCPi0Decay); SetTagBit(tag, kMCDecayDalitz) ; } //Pi0 Dalitz decay
+ else if (pPdg == 221) { SetTagBit(tag,kMCEtaDecay); SetTagBit(tag, kMCDecayDalitz) ; } //Eta Dalitz decay
else if((499 < pPdg && pPdg < 600)||(4999 < pPdg && pPdg < 6000)) { SetTagBit(tag,kMCEFromB); } //b-->e decay
else if((399 < pPdg && pPdg < 500)||(3999 < pPdg && pPdg < 5000)) { //check charm decay
if(parent)
}
-//____________________________________________________________________________
+//________________________________________________________________________________________________________
Int_t AliMCAnalysisUtils::CheckOriginInAOD(const Int_t *labels, Int_t nlabels,
- const TClonesArray *mcparticles)
+ const TClonesArray *mcparticles, const TObjArray* arrayCluster)
{
// Play with the MCParticles in AOD if available. Tag particles depending on their origin.
// Do same things as in CheckOriginInStack but different input.
if(fDebug > 2 ) printf("AliMCAnalysisUtils::CheckOriginInAOD() - Generator pi0 decay photon \n");
CheckOverlapped2GammaDecay(labels,nlabels, iParent, mcparticles, tag); //set to kMCPi0 if 2 gammas in same cluster
+ // In case it did not merge, check if the decay companion is lost
+ if(!CheckTagBit(tag, kMCPi0) && !CheckTagBit(tag,kMCDecayPairInCalo) && !CheckTagBit(tag,kMCDecayPairLost))
+ CheckLostDecayPair(arrayCluster,iMom, iParent, mcparticles, tag);
+
+ //printf("Bit set is Merged %d, Pair in calo %d, Lost %d\n",CheckTagBit(tag, kMCPi0),CheckTagBit(tag,kMCDecayPairInCalo),CheckTagBit(tag,kMCDecayPairLost));
}
else if (pPdg == 221)
{
if(fDebug > 2 ) printf("AliMCAnalysisUtils::CheckOriginInAOD() - Generator eta decay photon \n");
CheckOverlapped2GammaDecay(labels,nlabels, iParent, mcparticles, tag); //set to kMCEta if 2 gammas in same cluster
+ // In case it did not merge, check if the decay companion is lost
+ if(!CheckTagBit(tag, kMCEta) && !CheckTagBit(tag,kMCDecayPairInCalo))
+ CheckLostDecayPair(arrayCluster,iMom, iParent, mcparticles, tag);
}
else if(mom->IsPhysicalPrimary() && (fMCGenerator=="PYTHIA" || fMCGenerator=="HERWIG")) //undecayed particle
{
SetTagBit(tag,kMCElectron);
- if (fDebug > 0) printf("AliMCAnalysisUtils::CheckOriginInAOD() - Checking ancestors of electrons");
- if (pPdg == 111) { SetTagBit(tag,kMCPi0Decay); } //Pi0 Dalitz decay
- else if (pPdg == 221) { SetTagBit(tag,kMCEtaDecay); } //Eta Dalitz decay
+ if(fDebug > 0) printf("AliMCAnalysisUtils::CheckOriginInAOD() - Checking ancestors of electrons");
+
+ if (pPdg == 111) { SetTagBit(tag,kMCPi0Decay); SetTagBit(tag,kMCDecayDalitz);} //Pi0 Dalitz decay
+ else if (pPdg == 221) { SetTagBit(tag,kMCEtaDecay); SetTagBit(tag,kMCDecayDalitz);} //Eta Dalitz decay
else if((499 < pPdg && pPdg < 600)||(4999 < pPdg && pPdg < 6000)) { SetTagBit(tag,kMCEFromB);} //b-hadron decay
else if((399 < pPdg && pPdg < 500)||(3999 < pPdg && pPdg < 5000))
{ //c-hadron decay check
}
+//______________________________________________________________________________________________________
+void AliMCAnalysisUtils::CheckLostDecayPair(const TObjArray* arrayCluster, Int_t iMom, Int_t iParent,
+ AliStack * stack, Int_t & tag)
+{
+ // Check on ESDs if the current decay photon has the second photon companion lost
+
+ if(!arrayCluster || iMom < 0 || iParent < 0|| !stack) return;
+
+ TParticle * parent= stack->Particle(iParent);
+
+ if(parent->GetNDaughters()!=2)
+ {
+ SetTagBit(tag, kMCDecayPairLost);
+ return ;
+ }
+
+ Int_t pairLabel = -1;
+ if ( iMom != parent->GetDaughter(0) ) pairLabel = parent->GetDaughter(0);
+ else if( iMom != parent->GetDaughter(1) ) pairLabel = parent->GetDaughter(1);
+
+ if(pairLabel<0)
+ {
+ SetTagBit(tag, kMCDecayPairLost);
+ return ;
+ }
+
+ for(Int_t iclus = 0; iclus < arrayCluster->GetEntriesFast(); iclus++)
+ {
+ AliVCluster * cluster = (AliVCluster*) arrayCluster->At(iclus);
+ for(UInt_t ilab = 0; ilab< cluster->GetNLabels(); ilab++)
+ {
+ Int_t label = cluster->GetLabels()[ilab];
+ if(label==pairLabel)
+ {
+ SetTagBit(tag, kMCDecayPairInCalo);
+ return ;
+ }
+ else if(label== iParent || label== iMom)
+ {
+ continue;
+ }
+ else // check the ancestry
+ {
+ TParticle * mother = stack->Particle(label);
+ Int_t momPDG = TMath::Abs(mother->GetPdgCode());
+ if(momPDG!=11 && momPDG!=22) continue;
+
+ //Check if "mother" of entity is converted, if not, get the first non converted mother
+ Int_t iParentClus = mother->GetFirstMother();
+ if(iParentClus < 0) continue;
+
+ TParticle * parentClus = stack->Particle(iParentClus);
+ if(!parentClus) continue;
+
+ Int_t parentClusPDG = TMath::Abs(parentClus->GetPdgCode());
+ Int_t parentClusStatus = parentClus->GetStatusCode();
+
+ if( parentClusPDG != 22 && parentClusPDG != 11 && parentClusStatus != 0) continue;
+
+ //printf("Conversion\n");
+
+ //Check if the mother is photon or electron with status not stable
+ while ((parentClusPDG == 22 || parentClusPDG == 11) && parentClusStatus != 1)
+ {
+ //New Mother
+ label = iParentClus;
+ momPDG = parentClusPDG;
+
+ iParentClus = parentClus->GetFirstMother();
+ if(iParentClus < 0) break;
+
+ parentClus = stack->Particle(iParentClus);
+ if(!parentClus) break;
+
+ parentClusPDG = TMath::Abs(parentClus->GetPdgCode());
+ parentClusStatus = parentClus->GetStatusCode() ;
+ }//while
+
+ if((momPDG == 22 || parentClusPDG ==22) && (label==pairLabel || iParentClus == pairLabel))
+ {
+ SetTagBit(tag, kMCDecayPairInCalo);
+ //printf("Conversion is paired\n");
+ return ;
+ }
+ else continue;
+
+ }
+ }
+ } // cluster loop
+
+ SetTagBit(tag, kMCDecayPairLost);
+
+}
+
+//______________________________________________________________________________________________________
+void AliMCAnalysisUtils::CheckLostDecayPair(const TObjArray * arrayCluster,Int_t iMom, Int_t iParent,
+ const TClonesArray* mcparticles, Int_t & tag)
+{
+ // Check on AODs if the current decay photon has the second photon companion lost
+
+ if(!arrayCluster || iMom < 0 || iParent < 0|| !mcparticles) return;
+
+ AliAODMCParticle * parent = (AliAODMCParticle*) mcparticles->At(iParent);
+
+ //printf("*** Check label %d with parent %d\n",iMom, iParent);
+
+ if(parent->GetNDaughters()!=2)
+ {
+ SetTagBit(tag, kMCDecayPairLost);
+ //printf("\t ndaugh = %d\n",parent->GetNDaughters());
+ return ;
+ }
+
+ Int_t pairLabel = -1;
+ if ( iMom != parent->GetDaughter(0) ) pairLabel = parent->GetDaughter(0);
+ else if( iMom != parent->GetDaughter(1) ) pairLabel = parent->GetDaughter(1);
+
+ if(pairLabel<0)
+ {
+ //printf("\t pair Label not found = %d\n",pairLabel);
+ SetTagBit(tag, kMCDecayPairLost);
+ return ;
+ }
+
+ //printf("\t *** find pair %d\n",pairLabel);
+
+ for(Int_t iclus = 0; iclus < arrayCluster->GetEntriesFast(); iclus++)
+ {
+ AliVCluster * cluster = (AliVCluster*) arrayCluster->At(iclus);
+ //printf("\t \t ** Cluster %d, nlabels %d\n",iclus,cluster->GetNLabels());
+ for(UInt_t ilab = 0; ilab< cluster->GetNLabels(); ilab++)
+ {
+ Int_t label = cluster->GetLabels()[ilab];
+
+ //printf("\t \t label %d\n",label);
+
+ if(label==pairLabel)
+ {
+ //printf("\t \t Pair found\n");
+ SetTagBit(tag, kMCDecayPairInCalo);
+ return ;
+ }
+ else if(label== iParent || label== iMom)
+ {
+ //printf("\t \t skip\n");
+ continue;
+ }
+ else // check the ancestry
+ {
+ AliAODMCParticle * mother = (AliAODMCParticle*) mcparticles->At(label);
+ Int_t momPDG = TMath::Abs(mother->GetPdgCode());
+ if(momPDG!=11 && momPDG!=22)
+ {
+ //printf("\t \t skip, pdg %d\n",momPDG);
+ continue;
+ }
+
+ //Check if "mother" of entity is converted, if not, get the first non converted mother
+ Int_t iParentClus = mother->GetMother();
+ if(iParentClus < 0) continue;
+
+ AliAODMCParticle * parentClus = (AliAODMCParticle*) mcparticles->At(iParentClus);
+ if(!parentClus) continue;
+
+ Int_t parentClusPDG = TMath::Abs(parentClus->GetPdgCode());
+ Int_t parentClusStatus = parentClus->GetStatus();
+
+ if( parentClusPDG != 22 && parentClusPDG != 11 && parentClusStatus != 0)
+ {
+ //printf("\t \t skip, not a conversion, parent: pdg %d, status %d\n",parentClusPDG,parentClusStatus);
+ continue;
+ }
+
+ //printf("\t \t Conversion\n");
+
+ //Check if the mother is photon or electron with status not stable
+ while ((parentClusPDG == 22 || parentClusPDG == 11) && parentClusStatus != 1)
+ {
+ //New Mother
+ label = iParentClus;
+ momPDG = parentClusPDG;
+
+ iParentClus = parentClus->GetMother();
+ if(iParentClus < 0) break;
+
+ parentClus = (AliAODMCParticle*) mcparticles->At(iParentClus);
+ if(!parentClus) break;
+
+ parentClusPDG = TMath::Abs(parentClus->GetPdgCode());
+ parentClusStatus = parentClus->GetStatus() ;
+ }//while
+
+ if((momPDG == 22 || parentClusPDG ==22) && (label==pairLabel || iParentClus == pairLabel))
+ {
+ SetTagBit(tag, kMCDecayPairInCalo);
+ //printf("\t \t Conversion is paired: mom %d, parent %d\n",label,iParentClus);
+ return ;
+ }
+ else
+ {
+ //printf("\t \t Skip, finally label %d, pdg %d, parent label %d, pdg %d, status %d\n",label,momPDG,iParentClus,parentClusPDG,parentClusStatus);
+ continue;
+ }
+
+ }
+ }
+ } // cluster loop
+
+
+ SetTagBit(tag, kMCDecayPairLost);
+
+
+}
+
//_____________________________________________________________________
TList * AliMCAnalysisUtils::GetJets(const AliCaloTrackReader * reader)
{
//then charged particles on line 4,
//followed by other and unknown on line 5
enum mcTypes { kMCPhoton, kMCPrompt, kMCFragmentation, kMCISR,
- kMCPi0Decay, kMCEtaDecay, kMCOtherDecay, kMCConversion,
- kMCElectron, kMCEFromCFromB, kMCEFromC, kMCEFromB, kMCZDecay, kMCWDecay,
+ kMCPi0Decay, kMCEtaDecay, kMCOtherDecay,
+ kMCDecayPairLost, kMCDecayPairInCalo,
+ kMCDecayDalitz,kMCConversion, kMCElectron,
+ kMCEFromCFromB,kMCEFromC, kMCEFromB, kMCZDecay, kMCWDecay,
kMCMuon, kMCPion, kMCPi0, kMCKaon, kMCEta, kMCProton,
kMCAntiProton, kMCNeutron, kMCAntiNeutron,
kMCUnknown, kMCBadLabel } ;
Int_t CheckCommonAncestor(Int_t index1, Int_t index2, const AliCaloTrackReader* reader,
Int_t & ancPDG, Int_t & ancStatus, TLorentzVector & momentum, TVector3 & v) ;
- Int_t CheckOrigin(Int_t label, const AliCaloTrackReader * reader) ;
+ Int_t CheckOrigin(Int_t label, const AliCaloTrackReader * reader, TString calorimeter) ;
//Check the label of the most significant particle but do checks on the rest of the contributing labels
- Int_t CheckOrigin (const Int_t *label, Int_t nlabels, const AliCaloTrackReader * reader) ;
- Int_t CheckOriginInStack(const Int_t *labels, Int_t nlabels, AliStack * stack) ; // ESD
- Int_t CheckOriginInAOD (const Int_t *labels, Int_t nlabels, const TClonesArray* mcparticles) ; // AOD
+ Int_t CheckOrigin (const Int_t *label, Int_t nlabels, const AliCaloTrackReader * reader, TString calorimeter) ;
+ Int_t CheckOriginInStack(const Int_t *labels, Int_t nlabels, AliStack * stack , const TObjArray *arrayCluster) ; // ESD
+ Int_t CheckOriginInAOD (const Int_t *labels, Int_t nlabels, const TClonesArray* mcparticles, const TObjArray *arrayCluster) ; // AOD
- void CheckOverlapped2GammaDecay(const Int_t *labels, Int_t nlabels, Int_t mesonIndex, AliStack * stack, Int_t & tag); // ESD
+ void CheckOverlapped2GammaDecay(const Int_t *labels, Int_t nlabels, Int_t mesonIndex, AliStack * stack, Int_t & tag); // ESD
void CheckOverlapped2GammaDecay(const Int_t *labels, Int_t nlabels, Int_t mesonIndex, const TClonesArray* mcparticles, Int_t & tag); // AOD
+ void CheckLostDecayPair(const TObjArray *arrayCluster, Int_t iMom, Int_t iParent, AliStack* stack, Int_t & tag); // ESD
+ void CheckLostDecayPair(const TObjArray *arrayCluster, Int_t iMom, Int_t iParent, const TClonesArray* mcparticles, Int_t & tag); // AOD
+
TLorentzVector GetMother (Int_t label,const AliCaloTrackReader* reader, Bool_t & ok);
TLorentzVector GetMother (Int_t label,const AliCaloTrackReader* reader, Int_t & pdg, Int_t & status, Bool_t & ok);
TLorentzVector GetMother (Int_t label,const AliCaloTrackReader* reader, Int_t & pdg, Int_t & status, Bool_t & ok, Int_t & momLabel);
return kTRUE;
}
+//________________________________________________________________________
+Int_t AliClusterContainer::GetNAcceptedClusters()
+{
+ // Get number of accepted particles
+
+ Int_t nClus = 0;
+
+ AliVCluster *clus = GetNextAcceptCluster(0);
+ if(clus) nClus = 1;
+ while (GetNextAcceptCluster())
+ nClus++;
+
+ return nClus;
+}
+
//________________________________________________________________________
void AliClusterContainer::SetClassName(const char *clname)
{
AliVCluster *GetNextAcceptCluster(Int_t i=-1) ;
AliVCluster *GetNextCluster(Int_t i=-1) ;
Int_t GetNClusters() const { return GetNEntries(); }
+ Int_t GetNAcceptedClusters() ;
void SetClassName(const char *clname);
void SetClusECut(Double_t cut) { fClusECut = cut ; }
void SetClusPtCut(Double_t cut) { fClusPtCut = cut ; }
AliEmcalTrackingQATask::AliEmcalTrackingQATask() :
AliAnalysisTaskEmcal("AliEmcalTrackingQA", kTRUE),
fSelectHIJING(kTRUE),
+ fDoSigma1OverPt(kFALSE),
fGeneratorLevel(0),
fDetectorLevel(0),
fNPtHistBins(0),
fPhiHistBins(0),
fNCentHistBins(0),
fCentHistBins(0),
+ fNPtRelDiffHistBins(0),
+ fPtRelDiffHistBins(0),
fNPtResHistBins(0),
fPtResHistBins(0),
f1OverPtResHistBins(0),
AliEmcalTrackingQATask::AliEmcalTrackingQATask(const char *name) :
AliAnalysisTaskEmcal(name, kTRUE),
fSelectHIJING(kTRUE),
+ fDoSigma1OverPt(kFALSE),
fGeneratorLevel(0),
fDetectorLevel(0),
fNPtHistBins(0),
fPhiHistBins(0),
fNCentHistBins(0),
fCentHistBins(0),
+ fNPtRelDiffHistBins(0),
+ fPtRelDiffHistBins(0),
fNPtResHistBins(0),
fPtResHistBins(0),
f1OverPtResHistBins(0),
fCentHistBins[3] = 50;
fCentHistBins[4] = 90;
- fNPtResHistBins = 200;
+ fNPtResHistBins = 175;
fPtResHistBins = new Double_t[fNPtResHistBins+1];
- GenerateFixedBinArray(fNPtResHistBins, -2, 2, fPtResHistBins);
-
- fN1OverPtResHistBins = 100;
+ GenerateFixedBinArray(50, 0, 0.05, fPtResHistBins);
+ GenerateFixedBinArray(25, 0.05, 0.10, fPtResHistBins+50);
+ GenerateFixedBinArray(25, 0.10, 0.20, fPtResHistBins+75);
+ GenerateFixedBinArray(30, 0.20, 0.50, fPtResHistBins+100);
+ GenerateFixedBinArray(25, 0.50, 1.00, fPtResHistBins+130);
+ GenerateFixedBinArray(20, 1.00, 2.00, fPtResHistBins+155);
+
+ fNPtRelDiffHistBins = 200;
+ fPtRelDiffHistBins = new Double_t[fNPtRelDiffHistBins+1];
+ GenerateFixedBinArray(fNPtRelDiffHistBins, -2, 2, fPtRelDiffHistBins);
+
+ fN1OverPtResHistBins = 385;
f1OverPtResHistBins = new Double_t[fN1OverPtResHistBins+1];
- GenerateFixedBinArray(fN1OverPtResHistBins, 0, 1, f1OverPtResHistBins);
+ GenerateFixedBinArray(100, 0, 0.02, f1OverPtResHistBins);
+ GenerateFixedBinArray(60, 0.02, 0.05, f1OverPtResHistBins+100);
+ GenerateFixedBinArray(50, 0.05, 0.1, f1OverPtResHistBins+160);
+ GenerateFixedBinArray(50, 0.1, 0.2, f1OverPtResHistBins+210);
+ GenerateFixedBinArray(75, 0.2, 0.5, f1OverPtResHistBins+260);
+ GenerateFixedBinArray(50, 0.5, 1.5, f1OverPtResHistBins+335);
fNIntegerHistBins = 10;
fIntegerHistBins = new Double_t[fNIntegerHistBins+1];
dim++;
if (fIsEsd) {
- title[dim] = "#sigma(1/#it{p}_{T}) (GeV/#it{c})^{-1}";
- nbins[dim] = fN1OverPtResHistBins;
- binEdges[dim] = f1OverPtResHistBins;
- dim++;
+ if (fDoSigma1OverPt) {
+ title[dim] = "#sigma(1/#it{p}_{T}) (GeV/#it{c})^{-1}";
+ nbins[dim] = fN1OverPtResHistBins;
+ binEdges[dim] = f1OverPtResHistBins;
+ dim++;
+ }
+ else {
+ title[dim] = "#sigma(#it{p}_{T}) / #it{p}_{T}";
+ nbins[dim] = fNPtResHistBins;
+ binEdges[dim] = fPtResHistBins;
+ dim++;
+ }
}
fTracks = new THnSparseF("fTracks","fTracks",dim,nbins);
dim++;
title[dim] = "(#it{p}_{T}^{gen} - #it{p}_{T}^{det}) / #it{p}_{T}^{gen}";
- nbins[dim] = fNPtResHistBins;
- binEdges[dim] = fPtResHistBins;
+ nbins[dim] = fNPtRelDiffHistBins;
+ binEdges[dim] = fPtRelDiffHistBins;
dim++;
title[dim] = "track type";
contents[i] = trackPhi;
else if (title=="#sigma(1/#it{p}_{T}) (GeV/#it{c})^{-1}")
contents[i] = sigma1OverPt;
+ else if (title=="#sigma(#it{p}_{T}) / #it{p}_{T}")
+ contents[i] = sigma1OverPt*trackPt;
else if (title=="MC Generator")
contents[i] = mcGen;
else if (title=="track type")
// Task configuration
Bool_t fSelectHIJING ; // select HIJING particles
+ Bool_t fDoSigma1OverPt ; // add sigma(1/pt), if false add sigma(pt)/pt instead
// Service fields (non-streamed)
AliParticleContainer* fGeneratorLevel ; //! generator level container
Double_t* fPhiHistBins ; //! phi bins
Int_t fNCentHistBins ; //! number of cent bins
Double_t* fCentHistBins ; //! cent bins
+ Int_t fNPtRelDiffHistBins ; //! number of pt relative difference bins
+ Double_t* fPtRelDiffHistBins ; //! pt relative difference bins
Int_t fNPtResHistBins ; //! number of pt res bins
- Double_t* fPtResHistBins ; //! 1/pt res bins
- Double_t* f1OverPtResHistBins ; //! pt res bins
+ Double_t* fPtResHistBins ; //! pt res bins
+ Double_t* f1OverPtResHistBins ; //! 1/pt res bins
Int_t fN1OverPtResHistBins ; //! number of 1/pt res bins
Int_t fNIntegerHistBins ; //! number of integer bins
Double_t* fIntegerHistBins ; //! integer bins
AliEmcalTrackingQATask(const AliEmcalTrackingQATask&); // not implemented
AliEmcalTrackingQATask &operator=(const AliEmcalTrackingQATask&); // not implemented
- ClassDef(AliEmcalTrackingQATask, 1) // Track QA task (efficiency and pt resolution)
+ ClassDef(AliEmcalTrackingQATask, 2) // Track QA task (efficiency and pt resolution)
};
#endif
fMCTrackBitMap(0),
fMinMCLabel(0),
fMCFlag(0),
- fGeneratorIndex(-1)
+ fGeneratorIndex(-1),
+ fCharge(-1)
{
// Default constructor.
fMCTrackBitMap(0),
fMinMCLabel(0),
fMCFlag(0),
- fGeneratorIndex(-1)
+ fGeneratorIndex(-1),
+ fCharge(-1)
{
// Standard constructor.
if(!vp) return 0;
if(AcceptParticle(vp))
- return vp;
+ return vp;
else {
AliDebug(2,"Particle not accepted.");
return 0;
if (fGeneratorIndex >= 0 && fGeneratorIndex != vp->GetGeneratorIndex())
return kFALSE;
+
+ if (fCharge>=0 && fCharge != vp->Charge() )
+ return kFALSE;
return kTRUE;
}
void SetGeneratorIndex(Short_t i) { fGeneratorIndex = i ; }
void SelectPhysicalPrimaries(Bool_t s) { if (s) fMCFlag |= AliAODMCParticle::kPhysicalPrim ;
else fMCFlag &= ~AliAODMCParticle::kPhysicalPrim ; }
+ void SetCharge(Short_t c) { fCharge = c ; }
protected:
Double_t fParticlePtCut; // cut on particle pt
Int_t fMinMCLabel; // minimum MC label value for the tracks/clusters being considered MC particles
UInt_t fMCFlag; // select MC particles with flags
Short_t fGeneratorIndex; // select MC particles with generator index (default = -1 = switch off selection)
+ Short_t fCharge; // select particles with charge=fCharge
private:
AliParticleContainer(const AliParticleContainer& obj); // copy constructor
AliParticleContainer& operator=(const AliParticleContainer& other); // assignment
- ClassDef(AliParticleContainer,2);
+ ClassDef(AliParticleContainer,3);
};
Int_t up // upper bin
)
{
- // calculate some significance levels
- Double_t statE(0), shapeE(0), corrE(0), statT(0), totalE(0), y(0), x(0), average(0), averageStat(0), chi2(0);
+ // calculate confidence level based on statistical uncertainty only
+ Double_t statE(0), shapeE(0), corrE(0), totalE(0), y(0), x(0), chi2(0);
// print some stuff
for(Int_t i(low); i < up+1; i++) {
statE = n->GetErrorYlow(i);
printf(" > stat \t %.4f \n", statE);
}
- for(Int_t i(low); i < up+1; i++) {
- shapeE = shape->GetErrorYlow(i);
- printf(" > shape \t %.4f \n", shapeE);
- }
- for(Int_t i(low); i < up+1; i++) {
- corrE = corr->GetErrorYlow(i);
- printf(" > corr \t %.4f \n", corrE);
+
+ // get the p value based solely on statistical uncertainties
+ for(Int_t i(low); i < up+1; i++) {
+ // set some flags to 0
+ x = 0.;
+ y = 0.;
+ // get the nominal point
+ n->GetPoint(i, x, y);
+ statE = n->GetErrorYlow(i);
+ // combine the errors
+ chi2 += TMath::Power(y/statE, 2);
}
+ cout << "p-value: p(" << chi2 << ", 6) " << TMath::Prob(chi2, 6) << endl;
+ cout << " so the probability of finding data at least as imcompatible with 0 as the actually" << endl;
+ cout << " observed data, using only statistical uncertainties, is " << TMath::Prob(chi2, 2) << endl << endl << endl ;
+ // to plot the average error as function of number of events
for(Int_t i(low); i < up+1; i++) {
// set some flags to 0
- statE = 0.;
- shapeE = 0.;
- corrE = 0.;
x = 0.;
y = 0.;
- totalE = 0.;
// get the nominal point
n->GetPoint(i, x, y);
- printf(" > v2 \t %.4f \n", y);
- // get the uncorrelated errors. all errors are 'low' errors as all v2 points are positive in this range
statE = n->GetErrorYlow(i);
- printf(" > stat \t %.4f \n", statE);
- statT += statE;
shapeE = shape->GetErrorYlow(i);
- printf(" > shape \t %.4f \n", shapeE);
- // get the correalted error
corrE = corr->GetErrorYlow(i);
- printf(" > corr \t %.4f \n", corrE);
// combine the errors
- totalE = TMath::Sqrt(statE*statE+shapeE*shapeE) + TMath::Sqrt(corrE*corrE);
- printf(" > Bin %i \t totalE %.4f \t statE %.4f \t v2 %.4f \t nSigma %.4f \t(just stat %.4f) < \n", i, totalE, statE, y, y/totalE, y/statE);
- average += y/totalE;
- averageStat += y/statE;
- chi2 += TMath::Power(y/totalE, 2);
+ totalE = TMath::Sqrt(statE*statE+shapeE*shapeE);// + TMath::Sqrt(corrE*corrE);
}
- printf(" > Average n-sigmas: %.4f \t (stat only %.4f) <\n", average/(up-low+1), averageStat/(up-low+1));
- printf(" > Chi2: %.4f <\n", chi2);
- printf(" > p-value %.4f <\n", 1.-TMath::Gamma((up-low+1)/2., chi2/2.));
+ cout << " AVERAGE_E " << totalE/((float)(up-low+1)) << endl;
}
//_____________________________________________________________________________
void AliJetFlowTools::MinimizeChi22d()
Double_t AliJetFlowTools::PhenixChi2(const Double_t *xx )
{
// define arrays with results and errors
- Double_t v2[6] = {0.};
- Double_t stat[6] = {0.};
- Double_t corr[6] = {0.};
- Double_t shape[6] = {0.};
-
+
+ /*
+ Double_t v2[] = {
+ 0.0094,
+ 0.0559,
+ 0.0746,
+ 0.1077,
+ 0.1208,
+ 0.0883
+ };
+ Double_t stat[] = {
+ 0.0287,
+ 0.0311,
+ 0.0443,
+ 0.0600,
+ 0.0802,
+ 0.1223
+ };
+ Double_t shape[] = {
+ 0.0607,
+ 0.0623,
+ 0.0397,
+ 0.0312,
+ 0.0452,
+ 0.0716
+ };
+ Double_t corr[] = {
+ 0.0402,
+ 0.0460,
+ 0.0412,
+ 0.0411,
+ 0.0403,
+ 0.0402
+ };
+*/
+ // these points are for 30 - 50 centrality, 20-90 gev (in which data is reported)
+ Double_t v2[] = {
+ 0.0816,
+ 0.0955,
+ 0.0808,
+ 0.0690,
+ 0.0767,
+ 0.1005
+ };
+ Double_t stat[] = {
+ 0.0113,
+ 0.0172,
+ 0.0221,
+ 0.0317,
+ 0.0469,
+ 0.0694
+ };
+ Double_t shape[] = {
+ 0.1024,
+ 0.0552,
+ 0.0275,
+ 0.0231,
+ 0.0234,
+ 0.0665
+ };
+ Double_t corr[] = {
+ 0.0165,
+ 0.0164,
+ 0.0165,
+ 0.0166,
+ 0.0166,
+ 0.0165
+ };
+
// return the function value at certain epsilon
const Double_t epsc = xx[0];
Double_t chi2(0);
// define arrays with results and errors here, see example at PhenixChi2()
// very ugly, but two set of data, for 0-5 and 30-50 pct centrality
// this function has to be static, so this is the easiest way to implement it in the class ...
- Double_t v2[6] = {0.};
- Double_t stat[6] = {0.};
- Double_t corr[6] = {0.};
- Double_t shape[6] = {0.};
-
+
+ /*
+ Double_t v2[] = {
+ 0.0094,
+ 0.0559,
+ 0.0746,
+ 0.1077,
+ 0.1208,
+ 0.0883
+ };
+ Double_t stat[] = {
+ 0.0287,
+ 0.0311,
+ 0.0443,
+ 0.0600,
+ 0.0802,
+ 0.1223
+ };
+ Double_t shape[] = {
+ 0.0607,
+ 0.0623,
+ 0.0397,
+ 0.0312,
+ 0.0452,
+ 0.0716
+ };
+ Double_t corr[] = {
+ 0.0402,
+ 0.0460,
+ 0.0412,
+ 0.0411,
+ 0.0403,
+ 0.0402
+ };
+*/
+ // these points are for 30 - 50 centrality, 20-90 gev (in which data is reported)
+ Double_t v2[] = {
+ 0.0816,
+ 0.0955,
+ 0.0808,
+ 0.0690,
+ 0.0767,
+ 0.1005
+ };
+ Double_t stat[] = {
+ 0.0113,
+ 0.0172,
+ 0.0221,
+ 0.0317,
+ 0.0469,
+ 0.0694
+ };
+ Double_t shape[] = {
+ 0.1024,
+ 0.0552,
+ 0.0275,
+ 0.0231,
+ 0.0234,
+ 0.0665
+ };
+ Double_t corr[] = {
+ 0.0165,
+ 0.0164,
+ 0.0165,
+ 0.0166,
+ 0.0166,
+ 0.0165
+ };
+
// return the function value at certain epsilon
const Double_t epsc = xx[0];
const Double_t epsb = xx[1];
static void GetSignificance(
TGraphErrors* n, // points with stat error
TGraphAsymmErrors* shape, // points with shape error
- TGraphAsymmErrors* corr, // points with stat error
+ TGraphAsymmErrors* corr, // corr with stat error
Int_t low, // pt lower level
Int_t up // pt upper level
);
return tex;
}
- static void SavePadToPDF(TVirtualPad* pad) {pad->SaveAs(Form("%s.pdf", pad->GetName()));}
+ static void SavePadToPDF(TVirtualPad* pad) {return;/*pad->SaveAs(Form("%s.pdf", pad->GetName()));*/}
// interface to AliUnfolding, not necessary but nice to have all parameters in one place
static void SetMinuitStepSize(Float_t s) {AliUnfolding::SetMinuitStepSize(s);}
static void SetMinuitPrecision(Float_t s) {AliUnfolding::SetMinuitPrecision(s);}
fVertexVzMin(0.),
fVertexVzMax(0.),
fCheckMask(0),
- fDefaultTrigClassPatterns(""),
fSelectedTrigPattern(0x0),
fRejectedTrigPattern(0x0),
fSelectedTrigLevel(0x0),
fVertexVzMin(0.),
fVertexVzMax(0.),
fCheckMask(0xFFFF),
- fDefaultTrigClassPatterns(""),
fSelectedTrigPattern(new TObjArray()),
fRejectedTrigPattern(new TObjArray()),
fSelectedTrigLevel(new TObjArray()),
SetDefaultFilterMask();
SetDefaultTrigClassPatterns();
SetTrigClassLevels();
- SetDefaultTrigInputsMap();
SetCentralityClasses();
fAnalysisUtils = new AliAnalysisUtils();
fAllSelectedTrigClasses->SetOwner();
fVertexVzMin(obj.fVertexVzMin),
fVertexVzMax(obj.fVertexVzMax),
fCheckMask(obj.fCheckMask),
- fDefaultTrigClassPatterns(obj.fDefaultTrigClassPatterns),
fSelectedTrigPattern(obj.fSelectedTrigPattern),
fRejectedTrigPattern(obj.fRejectedTrigPattern),
fSelectedTrigLevel(obj.fSelectedTrigLevel),
fVertexVzMin = obj.fVertexVzMin;
fVertexVzMax = obj.fVertexVzMax;
fCheckMask = obj.fCheckMask;
- fDefaultTrigClassPatterns = obj.fDefaultTrigClassPatterns;
fSelectedTrigPattern = obj.fSelectedTrigPattern;
fRejectedTrigPattern = obj.fRejectedTrigPattern;
fSelectedTrigLevel = obj.fSelectedTrigLevel;
return kTRUE;
}
+//________________________________________________________________________
+TString AliMuonEventCuts::GetDefaultTrigClassPatterns () const
+{
+ /// Get the default patterns
+ /// (done in such a way to get all muon triggers)
+ return "CM*,C0M*,CINT*,CPBI*,CCENT*,CV*,!*ABCE*,!*-ACE-*,!*-AC-*,!*-E-*,!*WU*,!*EGA*,!*EJE*,!*PHS*";
+}
+
+//________________________________________________________________________
+TString AliMuonEventCuts::GetDefaultTrigInputsMap () const
+{
+ /// Get the default trigger inputs
+ ///
+
+ TString trigInputsMap = "0VBA:0,";
+ trigInputsMap += "0VBC:1,";
+ trigInputsMap += "0SMB:2,";
+ trigInputsMap += "0TVX:3,";
+ trigInputsMap += "0VGC:4,";
+ trigInputsMap += "0VGA:5,";
+ trigInputsMap += "0SH1:6,";
+ trigInputsMap += "0SH2:7,";
+ trigInputsMap += "0HPT:8,";
+ trigInputsMap += "0AMU:9,";
+ trigInputsMap += "0OB0:10,";
+ trigInputsMap += "0ASL:11,";
+ trigInputsMap += "0MSL:12,";
+ trigInputsMap += "0MSH:13,";
+ trigInputsMap += "0MUL:14,";
+ trigInputsMap += "0MLL:15,";
+ trigInputsMap += "0EMC:16,";
+ trigInputsMap += "0PH0:17,";
+ trigInputsMap += "0HWU:18,";
+ trigInputsMap += "0LSR:19,";
+ trigInputsMap += "0T0A:20,";
+ trigInputsMap += "0BPA:21,";
+ trigInputsMap += "0BPC:22,";
+ trigInputsMap += "0T0C:23,";
+
+ trigInputsMap += "1EJE:0,";
+ trigInputsMap += "1EGA:1,";
+ trigInputsMap += "1EJ2:2,";
+ trigInputsMap += "1EG2:3,";
+ trigInputsMap += "1PHL:4,";
+ trigInputsMap += "1PHM:5,";
+ trigInputsMap += "1PHH:6,";
+ trigInputsMap += "1HCO:8,";
+ trigInputsMap += "1HJT:9,";
+ trigInputsMap += "1HSE:10,";
+ trigInputsMap += "1DUM:11,";
+ trigInputsMap += "1HQU:12,";
+ trigInputsMap += "1H14:13,";
+ trigInputsMap += "1ZMD:14,";
+ trigInputsMap += "1ZMB:16,";
+ trigInputsMap += "1ZED:17,";
+ trigInputsMap += "1ZAC:18,";
+ trigInputsMap += "1EJE:19";
+
+ return trigInputsMap;
+}
+
//________________________________________________________________________
void AliMuonEventCuts::SetDefaultTrigClassPatterns ()
{
/// Set the default patterns
/// (done in such a way to get all muon triggers)
- fDefaultTrigClassPatterns = "CM*,C0M*,CINT*,CPBI*,CCENT*,CV*,!*ABCE*,!*-ACE-*,!*-AC-*,!*-E-*,!*WU*,!*EGA*,!*EJE*,!*PHS*";
- SetTrigClassPatterns(fDefaultTrigClassPatterns);
+ SetTrigClassPatterns(GetDefaultTrigClassPatterns(),GetDefaultTrigInputsMap());
}
//________________________________________________________________________
-void AliMuonEventCuts::SetTrigClassPatterns ( TString trigPattern )
+void AliMuonEventCuts::SetTrigClassPatterns ( TString trigPattern, TString trigInputsMap )
{
/// Set trigger classes
///
if ( fSelectedTrigPattern->GetEntries() > 0 ) fSelectedTrigPattern->Delete();
fRejectedTrigPattern->SetOwner();
if ( fRejectedTrigPattern->GetEntries() > 0 ) fRejectedTrigPattern->Delete();
-
+
+ SetTrigInputsMap(trigInputsMap);
+
TString badSyntax = "", duplicated = "";
TString listName[4] = {"L0","L1","L2","trigClass"};
Bool_t isSingleTrigger = ( ! isCombination && ! currPattern.BeginsWith("0") && ! currPattern.BeginsWith("1") && ! currPattern.BeginsWith("2") );
Bool_t isMatchPattern = ( currPattern.Contains("*") || isSingleTrigger );
Bool_t isRejectPattern = kFALSE;
- if ( currPattern.Contains("!") ) {
+ if ( isMatchPattern && currPattern.Contains("!") ) {
currPattern.ReplaceAll("!","");
isRejectPattern = kTRUE;
}
TString currPattern = objString->String();
TString tn (currPattern);
- Bool_t hasAND = kFALSE, hasOR = kFALSE;
+ Bool_t hasAND = kFALSE, hasOR = kFALSE, hasNOT = kFALSE;
if ( tn.Contains("&") ) {
tn.ReplaceAll("&",":");
hasAND = kTRUE;
tn.ReplaceAll("|",":");
hasOR = kTRUE;
}
+ if ( tn.Contains("!") ) {
+ tn.ReplaceAll("!","");
+ hasNOT = kTRUE;
+ }
if ( tn.Contains("(") || tn.Contains(")") ) {
tn.ReplaceAll("(","");
tn.ReplaceAll(")","");
}
- if ( ! hasAND && ! hasOR ) {
+ if ( ! hasAND && ! hasOR && ! hasNOT ) {
if ( CheckTriggerClassPattern(currPattern) ) {
duplicated += Form("%s ", currPattern.Data());
continue;
trigCombo->SetName(currPattern.Data());
UInt_t uniqueID = kComboSimple;
- if ( hasAND && hasOR ) uniqueID = kComboFormula;
+ if ( ( hasAND && hasOR ) || hasNOT ) uniqueID = kComboFormula;
else if ( hasAND ) uniqueID = kComboAND;
else if ( hasOR ) uniqueID = kComboOR;
fTrigInputsMap->SetOwner();
if ( fTrigInputsMap->GetEntries() > 0 ) fTrigInputsMap->Delete();
-
+
+ if ( trigInputsMap.IsNull() ) {
+ AliWarning("Trigger input map not specified: using default");
+ trigInputsMap = GetDefaultTrigInputsMap();
+ }
+
trigInputsMap.ReplaceAll(" ","");
-
+
TObjArray* fullList = trigInputsMap.Tokenize(",");
for ( Int_t ipat=0; ipat<fullList->GetEntries(); ++ipat ) {
TString currPattern = fullList->At(ipat)->GetName();
delete fullList;
}
-//________________________________________________________________________
-void AliMuonEventCuts::SetDefaultTrigInputsMap ()
-{
- /// Set default trigger input mask
-
- TString trigInputsMap = "0VBA:0,";
- trigInputsMap += "0VBC:1,";
- trigInputsMap += "0SMB:2,";
- trigInputsMap += "0TVX:3,";
- trigInputsMap += "0VGC:4,";
- trigInputsMap += "0VGA:5,";
- trigInputsMap += "0SH1:6,";
- trigInputsMap += "0SH2:7,";
- trigInputsMap += "0HPT:8,";
- trigInputsMap += "0AMU:9,";
- trigInputsMap += "0OB0:10,";
- trigInputsMap += "0ASL:11,";
- trigInputsMap += "0MSL:12,";
- trigInputsMap += "0MSH:13,";
- trigInputsMap += "0MUL:14,";
- trigInputsMap += "0MLL:15,";
- trigInputsMap += "0EMC:16,";
- trigInputsMap += "0PH0:17,";
- trigInputsMap += "0HWU:18,";
- trigInputsMap += "0LSR:19,";
- trigInputsMap += "0T0A:20,";
- trigInputsMap += "0BPA:21,";
- trigInputsMap += "0BPC:22,";
- trigInputsMap += "0T0C:23,";
-
- trigInputsMap += "1EJE:0,";
- trigInputsMap += "1EGA:1,";
- trigInputsMap += "1EJ2:2,";
- trigInputsMap += "1EG2:3,";
- trigInputsMap += "1PHL:4,";
- trigInputsMap += "1PHM:5,";
- trigInputsMap += "1PHH:6,";
- trigInputsMap += "1HCO:8,";
- trigInputsMap += "1HJT:9,";
- trigInputsMap += "1HSE:10,";
- trigInputsMap += "1DUM:11,";
- trigInputsMap += "1HQU:12,";
- trigInputsMap += "1H14:13,";
- trigInputsMap += "1ZMD:14,";
- trigInputsMap += "1ZMB:16,";
- trigInputsMap += "1ZED:17,";
- trigInputsMap += "1ZAC:18,";
- trigInputsMap += "1EJE:19";
-
- SetTrigInputsMap(trigInputsMap);
-}
-
//________________________________________________________________________
const TObjArray*
AliMuonEventCuts::GetSelectedTrigClassesInEvent(const TString& firedTriggerClasses,
// - the lowest pt cut among the macthing ones in case "toCheck" is a trigger class/input
// combined through (only) logical OR "|"
// This may lead to errors in case of complex combinations of trigger/inputs
+
+ // First eliminate trigger classes which are negated in combinations
+ TString checkStr(toCheck);
+ while ( checkStr.Contains("!") ) {
+ Int_t startNot = checkStr.Index("!");
+ Int_t endNot = startNot;
+ Int_t npars = 0;
+ for ( endNot = startNot; endNot<checkStr.Length(); endNot++ ) {
+ if ( checkStr[endNot] == '(' ) npars++;
+ else if ( checkStr[endNot] == ')' ) npars--;
+
+ if ( npars == 0 ) {
+ if ( checkStr[endNot] == '&' || checkStr[endNot] == '|' ) break;
+ }
+ }
+ checkStr.Remove(startNot,endNot-startNot);
+ }
+
+ // Then check if they match the Lpt or Hpt
Bool_t isFirst = kTRUE;
for ( Int_t ipat=0; ipat<fSelectedTrigLevel->GetEntries(); ++ipat ) {
- if ( toCheck.Contains(fSelectedTrigLevel->At(ipat)->GetName() ) ) {
+ if ( checkStr.Contains(fSelectedTrigLevel->At(ipat)->GetName() ) ) {
UInt_t currLevel = fSelectedTrigLevel->At(ipat)->GetUniqueID();
if ( comboType == kComboAND ) trigLevel = TMath::Max(trigLevel, currLevel);
else if ( comboType == kComboOR || comboType == kComboFormula ) {
void SkipTestsNonInFilterMask ( UInt_t skipMask = 0xFFFF) { fCheckMask = ~skipMask; }
// Handle trigger
- void SetTrigClassPatterns (TString trigPattern );
+ void SetTrigClassPatterns ( TString trigPattern, TString trigInputsMap = "" );
/// Get default trigger class patterns
- TString GetDefaultTrigClassPatterns() { return fDefaultTrigClassPatterns; };
+ TString GetDefaultTrigClassPatterns() const;
+ TString GetDefaultTrigInputsMap() const;
void SetTrigClassLevels (TString pattern = "MSL:Lpt,MUSL:Lpt,MSH:Hpt,MUSH:Hpt,MUL:LptLpt,MUU:LptLpt,MLL:LptLpt" );
TArrayI GetTrigClassPtCutLevel (TString trigClassName ) const;
- void SetTrigInputsMap (TString trigInputsMap );
/// Get trigger classes found in run
TList* GetAllSelectedTrigClasses () const { return fAllSelectedTrigClasses; }
const TObjArray* GetSelectedTrigClassesInEvent ( const AliVEvent* event );
void AddToEventSelectedClass ( const TString& toCheck, const TObjString* foundTrig, const UInt_t comboType = 0 );
Bool_t UpdateEvent( const AliVEvent* event );
void SetDefaultTrigClassPatterns();
- void SetDefaultTrigInputsMap();
+ void SetTrigInputsMap ( TString trigInputsMap );
UInt_t fPhysicsSelectionMask; ///< Physics selection mask
UInt_t fCheckMask; ///< Mask telling which cuts to check (by default check filter mask)
- TString fDefaultTrigClassPatterns; ///< Default trigger class patterns
TObjArray* fSelectedTrigPattern; ///< List of triggers to be kept
TObjArray* fRejectedTrigPattern; ///< List of triggers to be rejected
TObjArray* fSelectedTrigLevel; ///< Track-trigger pt cut for selected trigger class
TObjArray* fSelectedTrigClassesInEvent; //!< list of selected trigger classes in current event
enum {kComboSimple, kComboFormula, kComboAND, kComboOR}; //!< Trigger combination types
- ClassDef(AliMuonEventCuts, 5); // Class for muon event filters
+ ClassDef(AliMuonEventCuts, 6); // Class for muon event filters
};
#endif
--- /dev/null
+# -*- mode: CMake -*-
+#------------------------------------------------------------------------#
+# Package File for PWG2femtoscopy #
+# Author : Johny Jose (johny.jose@cern.ch) #
+# Variables Defined : #
+# #
+# SRCS - C++ source files #
+# HDRS - C++ header files #
+# DHDR - ROOT Dictionary Linkdef header file #
+# CSRCS - C source files #
+# CHDRS - C header files #
+# EINCLUDE - Include directories #
+# EDEFINE - Compiler definitions #
+# ELIBS - Extra libraries to link #
+# ELIBSDIR - Extra library directories #
+# PACKFFLAGS - Fortran compiler flags for package #
+# PACKCXXFLAGS - C++ compiler flags for package #
+# PACKCFLAGS - C compiler flags for package #
+# PACKSOFLAGS - Shared library linking flags #
+# PACKLDFLAGS - Module linker flags #
+# PACKBLIBS - Libraries to link (Executables only) #
+# EXPORT - Header files to be exported #
+# CINTHDRS - Dictionary header files #
+# CINTAUTOLINK - Set automatic dictionary generation #
+# ARLIBS - Archive Libraries and objects for linking (Executables only) #
+# SHLIBS - Shared Libraries and objects for linking (Executables only) #
+#------------------------------------------------------------------------#
+
+set ( SRCS
+ FEMTOSCOPY/ESE/AliAnalysisTaskFemtoESE.cxx
+ )
+
+string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
+
+set ( DHDR PWGCFESELinkDef.h)
+
+set ( EXPORT )
+
+set ( EINCLUDE PWGCF/FEMTOSCOPY/ESE STEER/AOD STEER/ESD STEER/STEERBase ANALYSIS PWGLF/SPECTRA/PiKaPr/TestAOD)
+
+install (DIRECTORY FEMTOSCOPY/macros
+ DESTINATION PWGCF/FEMTOSCOPY
+ PATTERN .svn EXCLUDE)
+
+#
+# EOF
+#
fMultLimit(0),
fCentBinLowLimit(0),
fCentBinHighLimit(1),
+ fTriggerType(0),
fEventCounter(0),
fEventsToMix(0),
fZvertexBins(0),
fMultLimit(0),
fCentBinLowLimit(0),
fCentBinHighLimit(1),
+ fTriggerType(0),
fEventCounter(0),
fEventsToMix(0),
fZvertexBins(0),
fMultLimit(obj.fMultLimit),
fCentBinLowLimit(obj.fCentBinLowLimit),
fCentBinHighLimit(obj.fCentBinHighLimit),
+ fTriggerType(obj.fTriggerType),
fEventCounter(obj.fEventCounter),
fEventsToMix(obj.fEventsToMix),
fZvertexBins(obj.fZvertexBins),
fMultLimit = obj.fMultLimit;
fCentBinLowLimit = obj.fCentBinLowLimit;
fCentBinHighLimit = obj.fCentBinHighLimit;
+ fTriggerType = obj.fTriggerType;
fEventCounter = obj.fEventCounter;
fEventsToMix = obj.fEventsToMix;
fZvertexBins = obj.fZvertexBins;
fShareFraction = .05;// max
////////////////////////////////////////////////
-
- fMultLimits[0]=0, fMultLimits[1]=2, fMultLimits[2]=4, fMultLimits[3]=6, fMultLimits[4]=8, fMultLimits[5]=10;
- fMultLimits[6]=12, fMultLimits[7]=14, fMultLimits[8]=16, fMultLimits[9]=18, fMultLimits[10]=20, fMultLimits[11]=150;
+ // pp and pPb mult limits
+ fMultLimits[0]=0, fMultLimits[1]=5; fMultLimits[2]=10; fMultLimits[3]=15; fMultLimits[4]=20;
+ fMultLimits[5]=30, fMultLimits[6]=40; fMultLimits[7]=50; fMultLimits[8]=70; fMultLimits[9]=100;
+ fMultLimits[10]=150;
fNormQcutHigh = 0.2;// 0.175
}else {// pp
fMultLimit=kMultLimitpp;
- fMbins=kMultBinspp;
+ fMbins=1;
fQcut=0.6;
fNormQcutLow = 1.0;
fNormQcutHigh = 1.5;
fEC = new AliFourPionEventCollection **[fZvertexBins];
for(UShort_t i=0; i<fZvertexBins; i++){
- fEC[i] = new AliFourPionEventCollection *[fCentBinsMixing];
+ fEC[i] = new AliFourPionEventCollection *[fMbinsMixing];
- for(UShort_t j=0; j<fCentBinsMixing; j++){
+ for(UShort_t j=0; j<fMbinsMixing; j++){
fEC[i][j] = new AliFourPionEventCollection(fEventsToMix+1, fMultLimit, kMCarrayLimit, fMCcase);
}
fMultDist3->GetXaxis()->SetTitle("Multiplicity");
fOutputList->Add(fMultDist3);
- TH3F *fPtEtaDist = new TH3F("fPtEtaDist","fPtEtaDist",2,-1.1,1.1, 300,0,3., 28,-1.4,1.4);
- fOutputList->Add(fPtEtaDist);
-
- TH3F *fPhiPtDist = new TH3F("fPhiPtDist","fPhiPtDist",2,-1.1,1.1, 120,0,2*PI, 300,0,3.);
- fOutputList->Add(fPhiPtDist);
+ TH3F *fChPtEtaDist = new TH3F("fChPtEtaDist","fChPtEtaDist",2,-1.1,1.1, 300,0,3., 28,-1.4,1.4);
+ fOutputList->Add(fChPtEtaDist);
+ TH3F *fChPhiPtDist = new TH3F("fChPhiPtDist","fChPhiPtDist",2,-1.1,1.1, 120,0,2*PI, 300,0,3.);
+ fOutputList->Add(fChPhiPtDist);
+ TH2F *fCentEtaDist = new TH2F("fCentEtaDist","",10,-.5,9.5, 28,-1.4,1.4);
+ fOutputList->Add(fCentEtaDist);
+ TH2F *fCentPtDist = new TH2F("fCentPtDist","",10,-.5,9.5, 600,0,3.);
+ fOutputList->Add(fCentPtDist);
+
TH3F *fTOFResponse = new TH3F("fTOFResponse","TOF relative time",20,0,100, 200,0,2, 4000,-20000,20000);
fOutputList->Add(fTOFResponse);
TH3F *fTPCResponse = new TH3F("fTPCResponse","TPCsignal",20,0,100, 200,0,2, 1000,0,1000);
for(Int_t mb=0; mb<fMbins; mb++){
- if((mb < fCentBinLowLimit) || (mb > fCentBinHighLimit)) continue;
+ if(fPbPbcase) {if((mb < fCentBinLowLimit) || (mb > fCentBinHighLimit)) continue;}
for(Int_t edB=0; edB<fEDbins; edB++){
for(Int_t c1=0; c1<2; c1++){
TH2D *fQ4Res = new TH2D("fQ4Res","",20,0,1, 200,-.4,.4);
fOutputList->Add(fQ4Res);
- TH2D *DistQinv4pion = new TH2D("DistQinv4pion","",6,0.5,6.5, 20,0,0.1);
+ TH2D *DistQinv4pion = new TH2D("DistQinv4pion","",6,0.5,6.5, fQbinsQ2,0,fQupperBoundQ2);
fOutputList->Add(DistQinv4pion);
- TH2D *DistQinvMC4pion = new TH2D("DistQinvMC4pion","",6,0.5,6.5, 20,0,0.1);
+ TH2D *DistQinvMC4pion = new TH2D("DistQinvMC4pion","",6,0.5,6.5, fQbinsQ2,0,fQupperBoundQ2);
if(fMCcase) fOutputList->Add(DistQinvMC4pion);
- TH2D *fAvgQ12VersusQ3 = new TH2D("fAvgQ12VersusQ3","",10,0,0.1, 20,0,0.1);
+ TH2D *fAvgQ12VersusQ3 = new TH2D("fAvgQ12VersusQ3","",40,0,0.2, fQbinsQ3,0,fQupperBoundQ3);
fOutputList->Add(fAvgQ12VersusQ3);
- TH2D *fAvgQ13VersusQ3 = new TH2D("fAvgQ13VersusQ3","",10,0,0.1, 20,0,0.1);
+ TH2D *fAvgQ13VersusQ3 = new TH2D("fAvgQ13VersusQ3","",40,0,0.2, fQbinsQ3,0,fQupperBoundQ3);
fOutputList->Add(fAvgQ13VersusQ3);
- TH2D *fAvgQ23VersusQ3 = new TH2D("fAvgQ23VersusQ3","",10,0,0.1, 20,0,0.1);
+ TH2D *fAvgQ23VersusQ3 = new TH2D("fAvgQ23VersusQ3","",40,0,0.2, fQbinsQ3,0,fQupperBoundQ3);
fOutputList->Add(fAvgQ23VersusQ3);
TH1D *fDistPionParents4 = new TH1D("fDistPionParents4","",4,0.5,4.5);
// Called for each event
//cout<<"=========== Event # "<<fEventCounter+1<<" ==========="<<endl;
fEventCounter++;
-
+ if(fEventCounter%1000==0) cout<<"=========== Event # "<<fEventCounter<<" ==========="<<endl;
+
if(!fAODcase) {cout<<"ESDs not supported"<<endl; return;}
fAOD = dynamic_cast<AliAODEvent*> (InputEvent());
Bool_t isSelected1 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kCentral);
Bool_t isSelected2 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kSemiCentral);
if(!isSelected1 && !isSelected2 && !fMCcase) {return;}
- }else {return;}
-
+ }else {
+ Bool_t isSelected[4]={kFALSE};
+ isSelected[0] = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
+ isSelected[1] = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kAny);
+ isSelected[2] = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kINT7);
+ isSelected[3] = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kHighMult);
+ if(!isSelected[fTriggerType] && !fMCcase) return;
+ }
+
///////////////////////////////////////////////////////////
const AliAODVertex *primaryVertexAOD;
AliCentrality *centrality;// for AODs and ESDs
Double_t zstep=2*10/Double_t(fZvertexBins), zstart=-10.;
/////////////////////////////////////////////////
// ratio of Real data to HIJING reconstructed pT (10 MeV bins)
- Double_t HIJINGptWeights[100]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.590355, 0.672751, 0.795686, 0.848618, 0.861539, 0.874636, 0.880394, 0.87923, 0.885105, 0.888841, 0.892765, 0.896278, 0.899725, 0.903054, 0.907074, 0.91066, 0.913765, 0.918804, 0.923374, 0.929005, 0.935538, 0.942802, 0.949584, 0.956928, 0.963521, 0.972898, 0.981403, 0.989027, 0.997965, 1.00558, 1.01372, 1.02148, 1.03064, 1.04131, 1.05199, 1.06319, 1.07698, 1.09113, 1.10416, 1.11662, 1.12823, 1.14161, 1.15455, 1.1683, 1.18439, 1.19696, 1.21124, 1.22607, 1.24087, 1.25386, 1.26666, 1.27374, 1.2821, 1.29218, 1.30137, 1.30795, 1.31512, 1.32047, 1.32571, 1.33242, 1.3376, 1.34084, 1.34644, 1.34978, 1.35259, 1.35149, 1.35534, 1.3541, 1.35808, 1.36003, 1.35981, 1.36037, 1.35774, 1.35814, 1.35796, 1.35764, 1.35517, 1.34804, 1.34797, 1.33822, 1.32501, 1.30844, 1.2971, 1.27107};
+ //Double_t HIJINGptWeights[100]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0.590355, 0.672751, 0.795686, 0.848618, 0.861539, 0.874636, 0.880394, 0.87923, 0.885105, 0.888841, 0.892765, 0.896278, 0.899725, 0.903054, 0.907074, 0.91066, 0.913765, 0.918804, 0.923374, 0.929005, 0.935538, 0.942802, 0.949584, 0.956928, 0.963521, 0.972898, 0.981403, 0.989027, 0.997965, 1.00558, 1.01372, 1.02148, 1.03064, 1.04131, 1.05199, 1.06319, 1.07698, 1.09113, 1.10416, 1.11662, 1.12823, 1.14161, 1.15455, 1.1683, 1.18439, 1.19696, 1.21124, 1.22607, 1.24087, 1.25386, 1.26666, 1.27374, 1.2821, 1.29218, 1.30137, 1.30795, 1.31512, 1.32047, 1.32571, 1.33242, 1.3376, 1.34084, 1.34644, 1.34978, 1.35259, 1.35149, 1.35534, 1.3541, 1.35808, 1.36003, 1.35981, 1.36037, 1.35774, 1.35814, 1.35796, 1.35764, 1.35517, 1.34804, 1.34797, 1.33822, 1.32501, 1.30844, 1.2971, 1.27107};
+ Float_t HIJINGq2WeightsSC[200]={0.72, 0.723886, 0.770856, 0.799396, 0.815821, 0.827209, 0.833142, 0.837393, 0.839721, 0.842022, 0.84374, 0.845376, 0.84732, 0.848803, 0.850515, 0.852089, 0.853712, 0.855571, 0.857279, 0.85894, 0.860671, 0.862479, 0.863945, 0.865519, 0.867301, 0.868955, 0.870215, 0.871652, 0.873089, 0.874289, 0.875633, 0.876694, 0.877712, 0.878681, 0.879694, 0.88073, 0.881459, 0.882039, 0.882761, 0.88334, 0.884004, 0.884455, 0.884816, 0.885327, 0.88556, 0.885997, 0.886291, 0.886526, 0.886975, 0.887374, 0.887712, 0.888016, 0.888627, 0.888971, 0.889295, 0.889845, 0.890088, 0.890599, 0.890893, 0.891363, 0.891598, 0.892019, 0.892141, 0.892256, 0.892372, 0.892276, 0.892012, 0.891801, 0.891554, 0.891267, 0.891074, 0.890822, 0.890737, 0.890768, 0.89081, 0.890987, 0.89124, 0.891499, 0.891887, 0.892403, 0.892978, 0.893485, 0.894214, 0.894858, 0.895669, 0.896584, 0.897447, 0.89844, 0.899375, 0.900527, 0.901568, 0.902717, 0.903952, 0.905128, 0.90645, 0.907729, 0.909055, 0.910516, 0.911916, 0.913396, 0.914911, 0.91645, 0.918067, 0.919725, 0.921435, 0.923185, 0.925044, 0.926784, 0.928747, 0.930641, 0.932574, 0.934767, 0.93666, 0.938805, 0.94098, 0.943166, 0.945492, 0.947778, 0.950146, 0.952474, 0.954981, 0.957334, 0.959891, 0.96247, 0.965063, 0.967719, 0.97025, 0.973033, 0.975868, 0.978622, 0.981536, 0.984275, 0.987362, 0.990211, 0.993284, 0.996277, 0.999363, 1.00251, 1.00555, 1.00883, 1.01209, 1.01519, 1.01853, 1.02184, 1.0252, 1.02866, 1.03206, 1.03545, 1.03881, 1.04227, 1.04569, 1.04914, 1.05259, 1.056, 1.05953, 1.063, 1.06652, 1.07005, 1.07353, 1.07719, 1.0808, 1.08426, 1.08763, 1.09136, 1.09486, 1.0985, 1.10199, 1.10562, 1.10933, 1.11293, 1.11628, 1.11992, 1.1236, 1.12736, 1.13088, 1.13448, 1.13815, 1.14168, 1.14537, 1.1489, 1.15255, 1.15629, 1.15981, 1.16349, 1.16699, 1.17076, 1.17445, 1.17833, 1.18188, 1.18551, 1.18928, 1.19318, 1.19691, 1.20059, 1.20455, 1.20817, 1.21199, 1.21609, 1.21977, 1.22367};
+ Float_t HIJINGq2WeightsMC[200]={0.83, 0.833821, 0.834928, 0.836263, 0.837359, 0.83809, 0.838463, 0.840012, 0.840868, 0.842129, 0.843379, 0.844784, 0.846186, 0.847562, 0.849184, 0.850567, 0.85239, 0.854038, 0.855708, 0.857257, 0.859145, 0.860831, 0.862469, 0.864066, 0.865664, 0.867224, 0.868654, 0.870187, 0.871525, 0.872742, 0.874066, 0.875166, 0.876261, 0.877325, 0.878249, 0.879089, 0.879897, 0.880624, 0.881234, 0.881898, 0.88248, 0.882964, 0.883452, 0.883857, 0.884323, 0.884818, 0.885157, 0.885589, 0.88595, 0.886352, 0.886864, 0.887326, 0.887809, 0.888366, 0.888873, 0.889273, 0.889781, 0.890211, 0.890571, 0.891011, 0.891294, 0.891612, 0.891867, 0.892072, 0.89211, 0.891951, 0.891729, 0.891513, 0.891194, 0.890843, 0.89054, 0.890331, 0.890168, 0.890082, 0.890156, 0.890266, 0.890395, 0.890707, 0.891075, 0.891482, 0.891972, 0.89255, 0.893115, 0.893882, 0.89471, 0.895582, 0.896505, 0.897537, 0.898425, 0.89959, 0.900708, 0.901903, 0.903061, 0.904374, 0.905684, 0.907069, 0.908443, 0.909809, 0.911322, 0.912849, 0.914481, 0.916016, 0.917755, 0.919439, 0.921197, 0.922945, 0.924892, 0.926703, 0.928648, 0.930665, 0.932648, 0.934779, 0.936863, 0.939002, 0.941158, 0.943437, 0.945753, 0.948068, 0.950428, 0.952854, 0.955338, 0.957853, 0.960329, 0.962977, 0.965578, 0.968212, 0.970931, 0.97373, 0.97653, 0.979386, 0.982208, 0.985161, 0.988179, 0.991104, 0.994135, 0.997152, 1.00033, 1.00348, 1.00664, 1.00977, 1.01307, 1.01632, 1.01975, 1.02304, 1.02628, 1.02974, 1.03302, 1.03653, 1.03986, 1.04345, 1.04684, 1.05039, 1.05374, 1.05738, 1.06089, 1.06444, 1.06794, 1.07139, 1.07506, 1.07841, 1.08201, 1.08563, 1.08919, 1.09277, 1.09637, 1.10003, 1.10361, 1.10713, 1.11064, 1.11432, 1.11795, 1.12165, 1.12533, 1.1289, 1.13251, 1.13617, 1.13979, 1.1435, 1.14709, 1.15079, 1.15436, 1.15803, 1.16164, 1.16529, 1.1688, 1.17255, 1.17619, 1.17996, 1.18369, 1.18727, 1.19104, 1.19478, 1.1986, 1.20233, 1.20613, 1.20977, 1.21385, 1.21761, 1.22134, 1.22535};
+ //
+ Float_t HIJINGq3WeightsSC[35]={0.946, 0.946, 0.946171, 0.92177, 0.958284, 0.986155, 0.99244, 0.999372, 1.00152, 1.00427, 1.00328, 1.00546, 1.00546, 1.00628, 1.00586, 1.00446, 1.00496, 1.00427, 1.00413, 1.00354, 1.00322, 1.00266, 1.00158, 1.00123, 1.00048, 0.999826, 0.99901, 0.997586, 0.996728, 0.994507, 0.993044, 0.990995, 0.989289, 0.988248, 0.988455};
+ Float_t HIJINGq3WeightsMC[35]={0.634, 0.63488, 0.963204, 0.977364, 0.992797, 1.00015, 1.00179, 1.00467, 1.00602, 1.00635, 1.00665, 1.00677, 1.00643, 1.00601, 1.00562, 1.00542, 1.00494, 1.0048, 1.00406, 1.0036, 1.00297, 1.0025, 1.00178, 1.00126, 1.00035, 0.999798, 0.998795, 0.997544, 0.996334, 0.994345, 0.992467, 0.991007, 0.988918, 0.9877, 0.98789};
+ //
+ Float_t HIJINGq4WeightsSC[50]={0.88, 0.88, 0.88, 0.88, 0.88, 0.88, 0.889957, 0.911624, 0.932747, 0.959097, 0.987571, 0.974175, 0.974291, 0.985743, 0.989953, 0.988542, 0.992858, 0.995232, 0.995808, 0.997182, 0.997073, 0.99795, 0.998597, 0.999141, 0.999598, 1.00026, 1.0002, 1.00061, 1.0003, 1.00054, 1.0006, 1.00082, 1.00094, 1.00092, 1.00058, 1.00036, 0.999695, 0.999366, 0.998782, 0.998301, 0.997107, 0.995746, 0.994276, 0.992814, 0.992403, 0.992536, 0.994614, 0.982908, 0.992077, .99};
+ Float_t HIJINGq4WeightsMC1[50]={0.82, 0.82, 0.82, 0.82, 0.82, 0.823248, 0.917691, 0.960501, 0.96697, 0.972048, 0.984931, 0.98916, 0.986344, 0.992934, 0.996263, 0.996503, 0.996566, 0.997508, 0.998417, 0.999181, 0.999746, 0.999707, 1.00034, 1.00065, 1.00081, 1.00104, 1.0009, 1.00097, 1.00088, 1.00111, 1.00101, 1.00095, 1.00078, 1.00069, 1.00037, 1.00002, 0.999555, 0.998796, 0.998073, 0.997315, 0.9964, 0.994994, 0.993685, 0.990758, 0.990211, 0.987958, 0.980713, 0.985536, 0.923206, 0.92};
+ Float_t HIJINGq4WeightsMC2[50]={0.88, 0.88, 0.88, 0.88, 0.885817, 0.9888, 1.00199, 0.974765, 0.987792, 0.989186, 0.984239, 0.991871, 0.992879, 0.995809, 0.997829, 0.998076, 0.998521, 0.998509, 0.999429, 0.999958, 1.00029, 1.00064, 1.00052, 1.00095, 1.00107, 1.00121, 1.0011, 1.00123, 1.00106, 1.00111, 1.00108, 1.00097, 1.00078, 1.00066, 1.00038, 0.999903, 0.99931, 0.998711, 0.997939, 0.997057, 0.99611, 0.994732, 0.993368, 0.991332, 0.989286, 0.987895, 0.983888, 0.986218, 0.945475, .94};
+
-
Float_t centralityPercentile=0;
Float_t cStep=5.0, cStepMixing=5.0, cStart=0;
Int_t MbinMixing=0;
primaryVertexAOD = fAOD->GetPrimaryVertex();
vertex[0]=primaryVertexAOD->GetX(); vertex[1]=primaryVertexAOD->GetY(); vertex[2]=primaryVertexAOD->GetZ();
- if(fabs(vertex[2]) > 10) {cout<<"Zvertex Out of Range. Skip Event"<<endl; return;} // Z-Vertex Cut
+ if(fabs(vertex[2]) > 10) {/*cout<<"Zvertex Out of Range. Skip Event"<<endl;*/ return;} // Z-Vertex Cut
((TH3F*)fOutputList->FindObject("fVertexDist"))->Fill(vertex[0], vertex[1], vertex[2]);
if(!fMCcase && primaryVertexAOD->GetNContributors() < 1) {cout<<"Bad Vertex. Skip Event"<<endl; return;}
if(!goodMomentum) continue;
aodtrack->GetXYZ( fTempStruct[myTracks].fX);
-
+
Double_t dca2[2]={0};
dca2[0] = sqrt( pow(fTempStruct[myTracks].fX[0] - vertex[0],2) + pow(fTempStruct[myTracks].fX[1] - vertex[1],2));
dca2[1] = sqrt( pow(fTempStruct[myTracks].fX[2] - vertex[2],2));
if(fTempStruct[myTracks].fPion && fTempStruct[myTracks].fKaon) continue;
if(fTempStruct[myTracks].fPion && fTempStruct[myTracks].fProton) continue;
if(fTempStruct[myTracks].fKaon && fTempStruct[myTracks].fProton) continue;
- //if(fTempStruct[myTracks].fPion && fTempStruct[myTracks].fKaon && fTempStruct[myTracks].fProton) continue;// superfluous
- ////////////////////////
- //if(fTempStruct[myTracks].fProton && fTempStruct[myTracks].fMom < 0.25) continue;//extra cut for protons// superfluous
+
((TH2F*)fOutputList->FindObject("fDCAzDistMinus"))->Fill(fTempStruct[myTracks].fPt, dca2[1]);
}
- ((TH3F*)fOutputList->FindObject("fPhiPtDist"))->Fill(aodtrack->Charge(), aodtrack->Phi(), aodtrack->Pt());
- ((TH3F*)fOutputList->FindObject("fPtEtaDist"))->Fill(aodtrack->Charge(), aodtrack->Pt(), aodtrack->Eta());
-
+ ((TH3F*)fOutputList->FindObject("fChPhiPtDist"))->Fill(aodtrack->Charge(), aodtrack->Phi(), aodtrack->Pt());
+ ((TH3F*)fOutputList->FindObject("fChPtEtaDist"))->Fill(aodtrack->Charge(), aodtrack->Pt(), aodtrack->Eta());
+ ((TH2F*)fOutputList->FindObject("fCentPtDist"))->Fill(int(centralityPercentile/5.), aodtrack->Pt());
+ ((TH2F*)fOutputList->FindObject("fCentEtaDist"))->Fill(int(centralityPercentile/5.), aodtrack->Eta());
+
((TH2D*)fOutputList->FindObject("fDistTPCNclsFindable"))->Fill(aodtrack->Pt(), aodtrack->GetTPCNclsF());
((TProfile*)fOutputList->FindObject("fProfileTPCNclsFindable"))->Fill(aodtrack->Pt(), aodtrack->GetTPCNclsF());
//
/////////////////////////////////////////
// Pion Multiplicity Cut (To ensure all Correlation orders are present in each event)
- if(myTracks < 4) {cout<<"Less than 4 tracks. Skipping Event."<<endl; return;}
+ if(myTracks < 4) {/*cout<<"Less than 4 tracks. Skipping Event."<<endl;*/ return;}
/////////////////////////////////////////
// Mbin set to Pion Count Only for pp!!!!!!!
fMbin=-1;
if(!fPbPbcase){
- for(Int_t i=0; i<kMultBinspp; i++){
- if( ( pionCount > fMultLimits[i]) && ( pionCount <= fMultLimits[i+1]) ) { fMbin=i; break;}
- // Mbin 0 has 1 pion
+
+ if(pionCount >= fMultLimits[3] && pionCount < fMultLimits[10]) fMbin=0;// only 1 bin
+
+ for(Int_t i=0; i<fMbinsMixing; i++){// event-mixing M bin
+ if( ( pionCount >= fMultLimits[i]) && ( pionCount < fMultLimits[i+1]) ){
+ MbinMixing=i;// 0 = lowest mult
+ break;
+ }
}
+
}else{
for(Int_t i=0; i<fCentBins; i++){// correlation analysis M bin
if( (centralityPercentile >= cStart+i*cStep) && (centralityPercentile < cStart+(i+1)*cStep) ){
break;
}
}
- for(Int_t i=0; i<fCentBinsMixing; i++){// event-mixing M bin
+ for(Int_t i=0; i<fMbinsMixing; i++){// event-mixing M bin
if( (centralityPercentile >= cStart+i*cStepMixing) && (centralityPercentile < cStart+(i+1)*cStepMixing) ){
MbinMixing=i;// 0 = most central
break;
}
}
}
-
- if(fMbin==-1) {cout<<"Bad Mbin+++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl; return;}
+
+ if(fMbin==-1) {return;}
///////////////////
// can only be called after fMbin has been set
Int_t KT3index=0, KT4index=0;
// reset to defaults
- for(Int_t i=0; i<kMultLimitPbPb; i++) {
+ for(Int_t i=0; i<fMultLimit; i++) {
fLowQPairSwitch_E0E0[i]->Set(kMultLimitPbPb,fDefaultsCharSwitch);
fLowQPairSwitch_E0E1[i]->Set(kMultLimitPbPb,fDefaultsCharSwitch);
fLowQPairSwitch_E0E2[i]->Set(kMultLimitPbPb,fDefaultsCharSwitch);
}
-
+
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
}// muon check
- Int_t index1pt = sqrt(pow(pVect1MC[1],2)+pow(pVect1MC[2],2)) / 0.01;
- Int_t index2pt = sqrt(pow(pVect2MC[1],2)+pow(pVect2MC[2],2)) / 0.01;
- if(index1pt >=100) index1pt=99;
- if(index2pt >=100) index2pt=99;
- Float_t WptSpectrum = HIJINGptWeights[index1pt] * HIJINGptWeights[index2pt];
+ Int_t indexq2 = qinv12 / 0.005;
+ if(indexq2 >=200) indexq2=199;
+ Float_t WSpectrum = HIJINGq2WeightsSC[indexq2];
+ if(ch1!=ch2) WSpectrum = HIJINGq2WeightsMC[indexq2];
// momentum resolution
for(Int_t Riter=0; Riter<fRVALUES; Riter++){
Float_t Rvalue = 5+Riter;
Float_t WInput = MCWeight(chGroup2, Rvalue, ffcSqMRC, qinv12MC, 0.);
- Charge1[bin1].Charge2[bin2].MB[0].EDB[kTindex].TwoPT[0].fIdeal->Fill(Rvalue, qinv12MC, WInput * WptSpectrum);
- Charge1[bin1].Charge2[bin2].MB[0].EDB[kTindex].TwoPT[1].fIdeal->Fill(Rvalue, qinv12MC, WptSpectrum);
- Charge1[bin1].Charge2[bin2].MB[0].EDB[kTindex].TwoPT[0].fSmeared->Fill(Rvalue, qinv12, WInput * WptSpectrum);
- Charge1[bin1].Charge2[bin2].MB[0].EDB[kTindex].TwoPT[1].fSmeared->Fill(Rvalue, qinv12, WptSpectrum);
+ Charge1[bin1].Charge2[bin2].MB[0].EDB[kTindex].TwoPT[0].fIdeal->Fill(Rvalue, qinv12MC, WInput * WSpectrum);
+ Charge1[bin1].Charge2[bin2].MB[0].EDB[kTindex].TwoPT[1].fIdeal->Fill(Rvalue, qinv12MC, WSpectrum);
+ Charge1[bin1].Charge2[bin2].MB[0].EDB[kTindex].TwoPT[0].fSmeared->Fill(Rvalue, qinv12, WInput * WSpectrum);
+ Charge1[bin1].Charge2[bin2].MB[0].EDB[kTindex].TwoPT[1].fSmeared->Fill(Rvalue, qinv12, WSpectrum);
}
}// ENsum check
Float_t QinvMCGroup3[3]={0};
Float_t kTGroup3[3]={0};
FilledMCtriplet123 = kFALSE;
- if(fMCcase && fGenerateSignal){
+ if(fMCcase){
if((fEvt+en3)->fTracks[k].fLabel == (fEvt+en2)->fTracks[j].fLabel) continue;
if((fEvt+en3)->fTracks[k].fLabel == (fEvt)->fTracks[i].fLabel) continue;
}
// r3 denominator
- if(ENsum==6 && ch1==ch2 && ch1==ch3){
+ if(ENsum==6 && ch1==ch2 && ch1==ch3 && fPbPbcase){
Positive1stTripletWeights = kTRUE;
//
GetWeight(pVect1, pVect2, weight12, weight12Err);
}else{
Charge1[bin1].Charge2[bin2].Charge3[bin3].MB[fMbin].EDB[KT3index].ThreePT[4].fTwoPartNegNorm->Fill(4, q3, 1);
}
+
//
// Full Weight reconstruction
}// pion parent check
}// parentQ check (muon correction)
- Int_t index1pt = sqrt(pow(pVect1MC[1],2)+pow(pVect1MC[2],2)) / 0.01;
- Int_t index2pt = sqrt(pow(pVect2MC[1],2)+pow(pVect2MC[2],2)) / 0.01;
- Int_t index3pt = sqrt(pow(pVect3MC[1],2)+pow(pVect3MC[2],2)) / 0.01;
- if(index1pt >=100) index1pt=99;
- if(index2pt >=100) index2pt=99;
- if(index3pt >=100) index3pt=99;
- Float_t WptSpectrum = HIJINGptWeights[index1pt] * HIJINGptWeights[index2pt] * HIJINGptWeights[index3pt];
+
+ Int_t indexq3 = q3 / 0.005;
+ if(indexq3 >=35) indexq3=34;
+ Float_t WSpectrum = HIJINGq3WeightsSC[indexq3];
+ if(ch1!=ch2 || ch1!=ch3) WSpectrum = HIJINGq3WeightsMC[indexq3];
// 3-pion momentum resolution
for(Int_t term=1; term<=5; term++){
for(Int_t Riter=0; Riter<fRVALUES; Riter++){
Float_t Rvalue = 5+Riter;
Float_t WInput = MCWeight3(term, Rvalue, ffcSqMRC, chGroup3, QinvMCGroup3, kTGroup3);
- Charge1[bin1].Charge2[bin2].Charge3[bin3].MB[0].EDB[KT3index].ThreePT[term-1].fIdeal->Fill(Rvalue, q3MC, WInput*WptSpectrum);
- Charge1[bin1].Charge2[bin2].Charge3[bin3].MB[0].EDB[KT3index].ThreePT[term-1].fSmeared->Fill(Rvalue, q3, WInput*WptSpectrum);
+ Charge1[bin1].Charge2[bin2].Charge3[bin3].MB[0].EDB[KT3index].ThreePT[term-1].fIdeal->Fill(Rvalue, q3MC, WInput*WSpectrum);
+ Charge1[bin1].Charge2[bin2].Charge3[bin3].MB[0].EDB[KT3index].ThreePT[term-1].fSmeared->Fill(Rvalue, q3, WInput*WSpectrum);
}
}
Float_t QinvMCGroup4[6]={0};
Float_t kTGroup4[6]={0};
- if(fMCcase && fGenerateSignal){// for momentum resolution and muon correction
+ if(fMCcase){// for momentum resolution and muon correction
if((fEvt+en4)->fTracks[l].fLabel == (fEvt+en3)->fTracks[k].fLabel) continue;
if((fEvt+en4)->fTracks[l].fLabel == (fEvt+en2)->fTracks[j].fLabel) continue;
if((fEvt+en4)->fTracks[l].fLabel == (fEvt)->fTracks[i].fLabel) continue;
/////////////////////////////////////////////////////////////
// r4{2}
- if(ch1==ch2 && ch1==ch3 && ch1==ch4 && ENsum==6){
+ if(ch1==ch2 && ch1==ch3 && ch1==ch4 && ENsum==6 && fPbPbcase){
Positive2ndTripletWeights=kTRUE;
//
GetWeight(pVect1, pVect4, weight14, weight14Err);
}// pion parent check
}// parentQ check (muon correction)
- Int_t index1pt = sqrt(pow(pVect1MC[1],2)+pow(pVect1MC[2],2)) / 0.01;
- Int_t index2pt = sqrt(pow(pVect2MC[1],2)+pow(pVect2MC[2],2)) / 0.01;
- Int_t index3pt = sqrt(pow(pVect3MC[1],2)+pow(pVect3MC[2],2)) / 0.01;
- Int_t index4pt = sqrt(pow(pVect4MC[1],2)+pow(pVect4MC[2],2)) / 0.01;
- if(index1pt >=100) index1pt=99;
- if(index2pt >=100) index2pt=99;
- if(index3pt >=100) index3pt=99;
- if(index4pt >=100) index4pt=99;
- Float_t WptSpectrum = HIJINGptWeights[index1pt] * HIJINGptWeights[index2pt] * HIJINGptWeights[index3pt] * HIJINGptWeights[index4pt];
+ Int_t indexq4 = q4 / 0.005;
+ if(indexq4 >=50) indexq4=49;
+ Float_t WSpectrum = HIJINGq4WeightsSC[indexq4];
+ if((ch1+ch2+ch3+ch4)==3 || (ch1+ch2+ch3+ch4)==1) WSpectrum = HIJINGq4WeightsMC1[indexq4];
+ if((ch1+ch2+ch3+ch4)==2) WSpectrum = HIJINGq4WeightsMC2[indexq4];
// 4-pion momentum resolution
for(Int_t term=1; term<=13; term++){
for(Int_t Riter=0; Riter<fRVALUES; Riter++){
Float_t Rvalue = 5+Riter;
Float_t WInput = MCWeight4(term, Rvalue, ffcSqMRC, chGroup4, QinvMCGroup4, kTGroup4);
- Charge1[bin1].Charge2[bin2].Charge3[bin3].Charge4[bin4].MB[0].EDB[KT4index].FourPT[term-1].fIdeal->Fill(Rvalue, q4MC, WInput*WptSpectrum);
- Charge1[bin1].Charge2[bin2].Charge3[bin3].Charge4[bin4].MB[0].EDB[KT4index].FourPT[term-1].fSmeared->Fill(Rvalue, q4, WInput*WptSpectrum);
+ Charge1[bin1].Charge2[bin2].Charge3[bin3].Charge4[bin4].MB[0].EDB[KT4index].FourPT[term-1].fIdeal->Fill(Rvalue, q4MC, WInput*WSpectrum);
+ Charge1[bin1].Charge2[bin2].Charge3[bin3].Charge4[bin4].MB[0].EDB[KT4index].FourPT[term-1].fSmeared->Fill(Rvalue, q4, WInput*WSpectrum);
}
}
-
+
}// label check particle 4
}// MCcase
kNormPairLimit = 45000,
kMultLimitPbPb = 1800,//1800
kMultLimitpp = 300,
- kMultBinspp = 11,
+ kMultBinspp = 10,
kMCarrayLimit = 150000,// 110000
kQbinsWeights = 40,
kNDampValues = 16,
static const Int_t fKbinsY = 1;// Set fKstep as well !!!!
static const Int_t fEDbins = 2;
static const Int_t fCentBins = 10;// 0-50%
- static const Int_t fCentBinsMixing = 10;// 5% widths
+ static const Int_t fMbinsMixing = 10;// 5% widths
static const Int_t fRVALUES = 7;// 7 EW radii (5-11) , was 8 Gaussian radii (3-10fm)
void SetMaxPt(Float_t maxPt) {fMaxPt = maxPt;}
void SetKT3transition(Float_t KT3trans) {fKT3transition = KT3trans;}
void SetKT4transition(Float_t KT4trans) {fKT4transition = KT4trans;}
+ void SetTriggerType(Int_t tt) {fTriggerType = tt;}
//
Int_t fMultLimit;
Int_t fCentBinLowLimit;
Int_t fCentBinHighLimit;
+ Int_t fTriggerType;
Int_t fEventCounter;
Int_t fEventsToMix;
Int_t fZvertexBins;
--- /dev/null
+#include <iostream>
+#include <math.h>
+#include "TChain.h"
+#include "TFile.h"
+#include "TKey.h"
+#include "TObject.h"
+#include "TObjString.h"
+#include "TList.h"
+#include "TTree.h"
+#include "TH1F.h"
+#include "TH1D.h"
+#include "TH2D.h"
+#include "TH3D.h"
+#include "THn.h"
+#include "THnSparse.h"
+#include "TProfile.h"
+#include "TProfile2D.h"
+#include "TCanvas.h"
+#include "TRandom3.h"
+#include "TF1.h"
+#include "TObjectTable.h"
+#include <vector>
+
+#include "AliAnalysisTask.h"
+#include "AliAnalysisManager.h"
+
+
+#include "AliESDEvent.h"
+#include "AliESDInputHandler.h"
+#include "AliESDtrackCuts.h"
+
+#include "AliAODEvent.h"
+#include "AliAODInputHandler.h"
+#include "AliAODMCParticle.h"
+//#include "AliAnalysisUtils.h"
+#include "AliHelperPID.h"
+#include "AliEventPoolManager.h"
+
+#include "AliAnalysisTaskFemtoESE.h"
+
+//#include "AliSpectraAODEventCuts.h"
+//#include "AliSpectraAODTrackCuts.h"
+//#include "/opt/alice/aliroot/master/src/PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODEventCuts.h"
+//#include "/opt/alice/aliroot/master/src/PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraAODTrackCuts.h"
+//#include "AliSpectraAODEventCuts.h"
+//#include "AliSpectraAODTrackCuts.h"
+
+ClassImp(AliAnalysisTaskFemtoESE)
+
+
+//________________________________________________________________________
+// Default constructor
+AliAnalysisTaskFemtoESE::AliAnalysisTaskFemtoESE() :
+ AliAnalysisTaskSE(),
+ fAOD(0x0),
+ fOutputList(0x0),
+ fHelperPID(0x0),
+ fPoolMgr(0x0),
+ fEventCuts(0x0),
+ fTrackCuts(0x0),
+ fFilterBit(128),
+ fSelectBit(AliVEvent::kMB),
+ fEventCounter(0),
+ fMixingTracks(10000),
+ fBfield(0.),
+ fMinSepPairEta(0.),
+ fMinSepPairPhi(0.),
+ fShareQuality(0.5),
+ fShareFraction(0.05),
+ nCountSamePairs(0),
+ nCountMixedPairs(0),
+ nCountTracks(0),
+ fMinQPerc(-1000),
+ fMaxQPerc(1000),
+ fQPercDet(0),
+ fEPDet(0),
+ fPsiEPmix(0),
+ fPsiEPmixtemp(0),
+ nKtBins(0),
+ nKtBins1(1),
+ ktBins(0),
+ nEPBins(0),
+ nEPBins1(1),
+ epBins(0),
+ nCentBins(0),
+ nCentBins1(1),
+ centBins(0),
+ nVzBins(0),
+ nVzBins1(1),
+ vzBins(0),
+ hq(0x0),
+ hqmix(0x0)
+{
+}
+
+//________________________________________________________________________
+// Constructor
+AliAnalysisTaskFemtoESE::AliAnalysisTaskFemtoESE(const char* name) :
+ AliAnalysisTaskSE(name),
+ fAOD(0x0),
+ fOutputList(0x0),
+ fHelperPID(0x0),
+ fPoolMgr(0x0),
+ fEventCuts(0x0),
+ fTrackCuts(0x0),
+ fFilterBit(128),
+ fSelectBit(AliVEvent::kMB),
+ fEventCounter(0),
+ fMixingTracks(10000),
+ fBfield(0.),
+ fMinSepPairEta(0.),
+ fMinSepPairPhi(0.),
+ fShareQuality(0.5),
+ fShareFraction(0.05),
+ nCountSamePairs(0),
+ nCountMixedPairs(0),
+ nCountTracks(0),
+ fMinQPerc(-1000),
+ fMaxQPerc(1000),
+ fQPercDet(0),
+ fEPDet(0),
+ fPsiEPmix(0),
+ fPsiEPmixtemp(0),
+ nKtBins(0),
+ nKtBins1(1),
+ ktBins(0),
+ nEPBins(0),
+ nEPBins1(1),
+ epBins(0),
+ nCentBins(0),
+ nCentBins1(1),
+ centBins(0),
+ nVzBins(0),
+ nVzBins1(1),
+ vzBins(0),
+ hq(0x0),
+ hqmix(0x0)
+{
+
+ Printf("*******************************************");
+ Printf("AliAnalysisTaskFemtoESE named %s",name);
+ Printf("*******************************************");
+
+ // default binning
+ SetEPBins(12,-TMath::Pi()/12.,2*TMath::Pi()-TMath::Pi()/12.);
+ Double_t ktBinsTemp[5] = {0.2,0.3,0.4,0.5,0.7};
+ SetKtBins(4,ktBinsTemp);
+ Double_t centBinsTemp[6] = {0,10,20,30,40,50};
+ SetCentBins(5,centBinsTemp);
+ Double_t vzBinsTemp[11] = {-10,-8,-6,-4,-2,0,2,4,6,8,10};
+ SetVzBins(10,vzBinsTemp);
+
+ vertex[0] = vertex[1] = vertex[2] = 0.;
+
+ DefineInput(0, TChain::Class());
+ DefineOutput(1, TList::Class());
+ DefineOutput(2, AliHelperPID::Class());
+
+}
+
+//________________________________________________________________________
+// destructor
+AliAnalysisTaskFemtoESE::~AliAnalysisTaskFemtoESE()
+{
+ /* do nothing yet */
+}
+//________________________________________________________________________
+// copy constructor
+AliAnalysisTaskFemtoESE::AliAnalysisTaskFemtoESE(const AliAnalysisTaskFemtoESE &/*obj*/) :
+ AliAnalysisTaskSE(),
+ fAOD(0x0),
+ fOutputList(0x0),
+ fHelperPID(0x0),
+ fPoolMgr(0x0),
+ fEventCuts(0x0),
+ fTrackCuts(0x0),
+ fFilterBit(128),
+ fSelectBit(AliVEvent::kMB),
+ fEventCounter(0),
+ fMixingTracks(10000),
+ fBfield(0.),
+ fMinSepPairEta(0.),
+ fMinSepPairPhi(0.),
+ fShareQuality(0.5),
+ fShareFraction(0.05),
+ nCountSamePairs(0),
+ nCountMixedPairs(0),
+ nCountTracks(0),
+ fMinQPerc(-1000),
+ fMaxQPerc(1000),
+ fQPercDet(0),
+ fEPDet(0),
+ fPsiEPmix(0),
+ fPsiEPmixtemp(0),
+ nKtBins(0),
+ nKtBins1(1),
+ ktBins(0),
+ nEPBins(0),
+ nEPBins1(1),
+ epBins(0),
+ nCentBins(0),
+ nCentBins1(1),
+ centBins(0),
+ nVzBins(0),
+ nVzBins1(1),
+ vzBins(0),
+ hq(0x0),
+ hqmix(0x0)
+{
+ /* do nothing yet */
+}
+//________________________________________________________________________
+// assignment operator
+AliAnalysisTaskFemtoESE& AliAnalysisTaskFemtoESE::operator=(const AliAnalysisTaskFemtoESE &/*obj*/)
+{
+ /* do nothing yet */
+ return *this;
+}
+
+//________________________________________________________________________
+void AliAnalysisTaskFemtoESE::UserCreateOutputObjects()
+{
+ // Create histograms
+
+ if (!fTrackCuts) AliFatal("Track Cuts should be set in the steering macro");
+ if (!fEventCuts) AliFatal("Event Cuts should be set in the steering macro");
+ if (!fHelperPID) AliFatal("HelperPID should be set in the steering macro");
+
+ fOutputList = new TList();
+ fOutputList->SetOwner();
+ fOutputList->SetName("fOutputList");
+
+ TH1D *hpx = new TH1D("hpx","px",200,-2,2);
+ hpx->GetXaxis()->SetTitle("p_{x}");
+ fOutputList->Add(hpx);
+ TH1D *hpy = new TH1D("hpy","py",200,-2,2);
+ hpy->GetXaxis()->SetTitle("p_{y}");
+ fOutputList->Add(hpy);
+ TH1D *hpz = new TH1D("hpz","pz",200,-2,2);
+ hpz->GetXaxis()->SetTitle("p_{z}");
+ fOutputList->Add(hpz);
+ TH1D *hpt = new TH1D("hpt","pt",100,0,2);
+ hpt->GetXaxis()->SetTitle("p_{t}");
+ fOutputList->Add(hpt);
+ TH1D *hE = new TH1D("hE","E",100,0,2);
+ hE->GetXaxis()->SetTitle("E");
+ fOutputList->Add(hE);
+ TH2D *hphieta = new TH2D("hphieta","track #varphi vs #eta",100,0,2*TMath::Pi(),80,-0.8,0.8);
+ hphieta->GetXaxis()->SetTitle("#varphi");
+ hphieta->GetYaxis()->SetTitle("#eta");
+ fOutputList->Add(hphieta);
+ TH2D *hphieta_pid = new TH2D("hphieta_pid","PID check -- #Delta#varphi vs #Delta#eta",100,-0.3,0.3,100,-0.3,0.3);
+ hphieta_pid->GetXaxis()->SetTitle("#Delta#varphi");
+ hphieta_pid->GetYaxis()->SetTitle("#Delta#eta");
+ fOutputList->Add(hphieta_pid);
+ TH1D *hpt_pid = new TH1D("hpt_pid","PID check -- #Delta p_{t}",100,-0.5,0.5);
+ hpt_pid->GetXaxis()->SetTitle("#Delta p_{t}");
+ fOutputList->Add(hpt_pid);
+ TH2D *hvzcent = new TH2D("hvzcent","vz vs cent",nVzBins,vzBins,nCentBins,centBins);
+ hvzcent->GetXaxis()->SetTitle("v_{z}");
+ hvzcent->GetYaxis()->SetTitle("centrality");
+ fOutputList->Add(hvzcent);
+ TH1D *hcent = new TH1D("hcent","cent",10,0,100);
+ hcent->GetXaxis()->SetTitle("centrality");
+ fOutputList->Add(hcent);
+ TH2D *hcentn = new TH2D("hcentn","cent vs npions",50,0,50,100,0,2000);
+ hcentn->GetXaxis()->SetTitle("Centrality");
+ hcentn->GetYaxis()->SetTitle("Number of pions");
+ fOutputList->Add(hcentn);
+ TH3D *hphistaretapair10 = new TH3D("hphistaretapair10","pair #Delta#varphi* vs #Delta#eta at r=1.0m",100,-0.15,0.15,100,-0.1,0.1,10,0,1);
+ hphistaretapair10->GetXaxis()->SetTitle("#Delta#varphi*");
+ hphistaretapair10->GetYaxis()->SetTitle("#Delta#eta");
+ hphistaretapair10->GetZaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hphistaretapair10);
+ TH3D *hphistaretapair16 = new TH3D("hphistaretapair16","pair #Delta#varphi* vs #Delta#eta at r=1.6m",100,-0.15,0.15,100,-0.1,0.1,10,0,1);
+ hphistaretapair16->GetXaxis()->SetTitle("#Delta#varphi*");
+ hphistaretapair16->GetYaxis()->SetTitle("#Delta#eta");
+ hphistaretapair16->GetZaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hphistaretapair16);
+ TH3D *hphistaretapair10a = new TH3D("hphistaretapair10a","pair #Delta#varphi* vs #Delta#eta at r=1.0m",100,-0.15,0.15,100,-0.1,0.1,10,0,1);
+ hphistaretapair10a->GetXaxis()->SetTitle("#Delta#varphi*");
+ hphistaretapair10a->GetYaxis()->SetTitle("#Delta#eta");
+ hphistaretapair10a->GetZaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hphistaretapair10a);
+ TH3D *hphistaretapair16a = new TH3D("hphistaretapair16a","pair #Delta#varphi* vs #Delta#eta at r=1.6m",100,-0.15,0.15,100,-0.1,0.1,10,0,1);
+ hphistaretapair16a->GetXaxis()->SetTitle("#Delta#varphi*");
+ hphistaretapair16a->GetYaxis()->SetTitle("#Delta#eta");
+ hphistaretapair16a->GetZaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hphistaretapair16a);
+ TH3D *hphistaretapair10b = new TH3D("hphistaretapair10b","pair #Delta#varphi* vs #Delta#eta at r=1.0m",100,-TMath::Pi(),TMath::Pi(),100,-1.6,1.6,10,0,1);
+ hphistaretapair10b->GetXaxis()->SetTitle("#Delta#varphi*");
+ hphistaretapair10b->GetYaxis()->SetTitle("#Delta#eta");
+ hphistaretapair10b->GetZaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hphistaretapair10b);
+ TH3D *hphistaretapair16b = new TH3D("hphistaretapair16b","pair #Delta#varphi* vs #Delta#eta at r=1.6m",100,-TMath::Pi(),TMath::Pi(),100,-1.6,1.6,10,0,1);
+ hphistaretapair16b->GetXaxis()->SetTitle("#Delta#varphi*");
+ hphistaretapair16b->GetYaxis()->SetTitle("#Delta#eta");
+ hphistaretapair16b->GetZaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hphistaretapair16b);
+ TH3D *hphietapair = new TH3D("hphietapair","pair #Delta#varphi vs #Delta#eta",100,-0.1,0.1,100,-0.1,0.1,10,0,1);
+ hphietapair->GetXaxis()->SetTitle("#Delta#varphi");
+ hphietapair->GetYaxis()->SetTitle("#Delta#eta");
+ hphietapair->GetZaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hphietapair);
+ TH3D *hphietapair2 = new TH3D("hphietapair2","pair #varphi vs #eta",100,-TMath::Pi(),TMath::Pi(),100,-1.6,1.6,10,0,1);
+ hphietapair2->GetXaxis()->SetTitle("#Delta#varphi");
+ hphietapair2->GetYaxis()->SetTitle("#eta");
+ hphietapair2->GetZaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hphietapair2);
+ TH1D *hpidid = new TH1D("hpidid","pid id",9,-4.5,4.5);
+ hpidid->GetXaxis()->SetTitle("track PID ID");
+ fOutputList->Add(hpidid);
+ TH1D *hkt = new TH1D("hkt","k_{T}",100,0,2);
+ hkt->GetXaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hkt);
+ TH1D *hktcheck = new TH1D("hktcheck","k_{T} check",100,0,2);
+ hktcheck->GetXaxis()->SetTitle("k_{T}");
+ fOutputList->Add(hktcheck);
+ TH3D *hkt3 = new TH3D("hkt3","kt vs pt",50,0,1,50,0,5,50,0,5);
+ hkt3->GetXaxis()->SetTitle("k_{T}");
+ hkt3->GetYaxis()->SetTitle("p_{T,1}");
+ hkt3->GetZaxis()->SetTitle("p_{T,2}");
+ fOutputList->Add(hkt3);
+ TH2D *hdcaxy = new TH2D("hdcaxy","DCA xy",100,-5,5,100,-5,5);
+ hdcaxy->GetXaxis()->SetTitle("DCA x");
+ hdcaxy->GetYaxis()->SetTitle("DCA y");
+ fOutputList->Add(hdcaxy);
+ TH1D *hdcaz = new TH1D("hdcaz","DCA z",100,-5,5);
+ hdcaz->GetXaxis()->SetTitle("DCA z");
+ fOutputList->Add(hdcaz);
+ TH1D *hsharequal = new TH1D("hsharequal","Share Quality",102,-1.02,1.02);
+ hsharequal->GetXaxis()->SetTitle("Share Quality");
+ fOutputList->Add(hsharequal);
+ TH1D *hsharefrac = new TH1D("hsharefrac","Share Fraction",100,0,1);
+ hsharefrac->GetXaxis()->SetTitle("Share Fraction");
+ fOutputList->Add(hsharefrac);
+ TH1D *hsharequalmix = new TH1D("hsharequalmix","Share Quality -- mixed events",102,-1.02,1.02);
+ hsharequalmix->GetXaxis()->SetTitle("Share Quality");
+ fOutputList->Add(hsharequalmix);
+ TH1D *hsharefracmix = new TH1D("hsharefracmix","Share Fraction -- mixed events",100,0,1);
+ hsharefracmix->GetXaxis()->SetTitle("Share Fraction");
+ fOutputList->Add(hsharefracmix);
+ TH1D *hPsiTPC = new TH1D("hPsiTPC","TPC EP",100,-1*TMath::Pi(),TMath::Pi());
+ hPsiTPC->GetXaxis()->SetTitle("#Psi{TPC}");
+ fOutputList->Add(hPsiTPC);
+ TH1D *hPsiV0A = new TH1D("hPsiV0A","V0A EP",100,-1*TMath::Pi(),TMath::Pi());
+ hPsiV0A->GetXaxis()->SetTitle("#Psi{V0A}");
+ fOutputList->Add(hPsiV0A);
+ TH1D *hPsiV0C = new TH1D("hPsiV0C","V0C EP",100,-1*TMath::Pi(),TMath::Pi());
+ hPsiV0C->GetXaxis()->SetTitle("#Psi{V0C}");
+ fOutputList->Add(hPsiV0C);
+ TH1D *hCheckEPA = new TH1D("hCheckEPA","Check EP V0A",100,-1*TMath::Pi(),TMath::Pi());
+ hCheckEPA->GetXaxis()->SetTitle("PsiV0A - PsiTPC");
+ fOutputList->Add(hCheckEPA);
+ TH1D *hCheckEPC = new TH1D("hCheckEPC","Check EP V0C",100,-1*TMath::Pi(),TMath::Pi());
+ hCheckEPC->GetXaxis()->SetTitle("PsiV0C - PsiTPC");
+ fOutputList->Add(hCheckEPC);
+ TH2D* hCheckEPmix = new TH2D("hCheckEPmix","Check EP mixed events",100,-1*TMath::Pi(),TMath::Pi(),100,-1*TMath::Pi(),TMath::Pi());
+ hCheckEPmix->GetXaxis()->SetTitle("Psi1 - Psi_mix");
+ hCheckEPmix->GetYaxis()->SetTitle("Psi1 - Psi2");
+ fOutputList->Add(hCheckEPmix);
+ TH2D *hcentq = new TH2D("hcentq","qvec vs cent",100,0,100,5,0,50);
+ hcentq->GetXaxis()->SetTitle("q_{2} percentile");
+ hcentq->GetYaxis()->SetTitle("centrality");
+ fOutputList->Add(hcentq);
+ TH2D* hMixedDist = new TH2D("hMixedDist", ";centrality;tracks;events", 101, 0, 101, 200, 0, fMixingTracks * 1.5);
+ fOutputList->Add(hMixedDist);
+
+ // resolution histograms (same binning as hvzcent)
+ TH2D *hresV0ATPC = new TH2D("hresV0ATPC","vz vs cent vs cos(2*(V0A-TPC))",nVzBins,vzBins,nCentBins,centBins);
+ hresV0ATPC->GetXaxis()->SetTitle("v_{z}");
+ hresV0ATPC->GetYaxis()->SetTitle("centrality");
+ fOutputList->Add(hresV0ATPC);
+ TH2D *hresV0CTPC = new TH2D("hresV0CTPC","vz vs cent vs cos(2*(V0C-TPC))",nVzBins,vzBins,nCentBins,centBins);
+ hresV0CTPC->GetXaxis()->SetTitle("v_{z}");
+ hresV0CTPC->GetYaxis()->SetTitle("centrality");
+ fOutputList->Add(hresV0CTPC);
+ TH2D *hresV0AV0C = new TH2D("hresV0AV0C","vz vs cent vs cos(2*(V0A-V0C))",nVzBins,vzBins,nCentBins,centBins);
+ hresV0AV0C->GetXaxis()->SetTitle("v_{z}");
+ hresV0AV0C->GetYaxis()->SetTitle("centrality");
+ fOutputList->Add(hresV0AV0C);
+
+ hq = new TH3F****[nKtBins];
+ hqmix = new TH3F****[nKtBins];
+ for(Int_t k = 0; k < nKtBins; k++)
+ {
+ hq[k] = new TH3F***[nEPBins];
+ hqmix[k] = new TH3F***[nEPBins];
+ for(Int_t e = 0; e < nEPBins; e++)
+ {
+ hq[k][e] = new TH3F**[nCentBins];
+ hqmix[k][e] = new TH3F**[nCentBins];
+ for(Int_t c = 0; c < nCentBins; c++)
+ {
+ hq[k][e][c] = new TH3F*[nVzBins];
+ hqmix[k][e][c] = new TH3F*[nVzBins];
+ for(Int_t v = 0; v < nVzBins; v++)
+ {
+ hq[k][e][c][v] = new TH3F(Form("hq_%i_%i_%i_%i",k,e,c,v),Form("hq_%i_%i_%i_%i",k,e,c,v),30,-0.2,0.2,30,-0.2,0.2,30,-0.2,0.2);
+ fOutputList->Add(hq[k][e][c][v]);
+ //cout << "Made histogram " << hq[k][e][c][v]->GetName() << endl;
+ hqmix[k][e][c][v] = new TH3F(Form("hqmix_%i_%i_%i_%i",k,e,c,v),Form("hqmix_%i_%i_%i_%i",k,e,c,v),30,-0.2,0.2,30,-0.2,0.2,30,-0.2,0.2);
+ fOutputList->Add(hqmix[k][e][c][v]);
+ //cout << "Made histogram " << hqmix[k][e][c][v]->GetName() << endl;
+ }
+ }
+ }
+ }
+
+ // create dummy histograms which just hold the values of the kt, cent, vz, ep bin edges
+ TH1F* hktbins = new TH1F("hktbins","kt bins",nKtBins,ktBins);
+ fOutputList->Add(hktbins);
+ TH1F* hcentbins = new TH1F("hcentbins","cent bins",nCentBins,centBins);
+ fOutputList->Add(hcentbins);
+ TH1F* hepbins = new TH1F("hepbins","ep bins",nEPBins,epBins);
+ fOutputList->Add(hepbins);
+ TH1F* hvzbins = new TH1F("hvzbins","vz bins",nVzBins,vzBins);
+ fOutputList->Add(hvzbins);
+
+
+ //cout << "nktbins = " << nKtBins << " " << ktBins << endl;
+ cout << "kt bins: ";
+ for(Int_t y = 0; y < nKtBins+1; y++) cout << ktBins[y] << " ";
+ cout << endl << "ep bins: ";
+ for(Int_t y = 0; y < nEPBins+1; y++) cout << epBins[y] << " ";
+ cout << endl << "cent bins: ";
+ for(Int_t y = 0; y < nCentBins+1; y++) cout << centBins[y] << " ";
+ cout << endl << "vz bins: ";
+ for(Int_t y = 0; y < nVzBins+1; y++) cout << vzBins[y] << " ";
+ cout << endl;
+
+ Printf("************************");
+ Printf("using the %s detector for event plane determination",fEPDet ? "V0C" : "V0A");
+ Printf("using the %s detector for q-vector determination",fQPercDet ? "V0C" : "V0A");
+ Printf("************************");
+
+ vertex[0] = vertex[1] = vertex[2] = 0.;
+
+ // event mixing pool
+ Int_t poolsize = 1000;
+ fPoolMgr = new AliEventPoolManager(poolsize, fMixingTracks, nCentBins, centBins, nVzBins, vzBins);
+ fPoolMgr->SetTargetValues(fMixingTracks, 0.1, 5); // check these values
+
+
+ nCountSamePairs = 0;
+ nCountMixedPairs = 0;
+ nCountTracks = 0;
+
+ cout << "Done making stuff!" << endl;
+
+ PostData(1, fOutputList);
+ PostData(2, fHelperPID);
+}
+
+//________________________________________________________________________
+void AliAnalysisTaskFemtoESE::UserExec(Option_t *)
+{
+ // Main loop
+ // Called for each event
+
+ //if(!fAODcase) {cout<<"ESDs not supported"<<endl; return;}
+
+ fAOD = dynamic_cast<AliAODEvent*> (InputEvent());
+ if (!fAOD) {Printf("ERROR: fAOD not available"); return;}
+
+ //if(!EventCut(fAOD)) return;
+ if(!EventCut()) return;
+
+ fEventCounter++;
+ if(fEventCounter%1000==0) cout<<"=========== Event # "<<fEventCounter<<" ==========="<<endl;
+
+ AliCentrality *centrality;// for AODs and ESDs
+ const AliAODVertex *primaryVertexAOD;
+
+ //AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
+ //AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
+ //fPIDResponse = inputHandler->GetPIDResponse();
+
+ fBfield = fAOD->GetMagneticField();
+
+ /////////////////////////////////////////////////
+
+ Float_t centralityPercentile=0;
+
+ centrality = fAOD->GetCentrality();
+ centralityPercentile = centrality->GetCentralityPercentile("V0M");
+ if(centralityPercentile <= centBins[0]) return;
+ if(centralityPercentile > centBins[nCentBins]) return;
+
+ primaryVertexAOD = fAOD->GetPrimaryVertex();
+ vertex[0]=primaryVertexAOD->GetX(); vertex[1]=primaryVertexAOD->GetY(); vertex[2]=primaryVertexAOD->GetZ();
+ Double_t zvtx = vertex[2];
+ if(zvtx < vzBins[0] || zvtx > vzBins[nVzBins]) return; // Z-Vertex Cut
+ //cout<<"Centrality % = " << centralityPercentile << " z-vertex = " << zvtx << endl;
+
+ //ProcInfo_t procInfo;
+ //cout << "beginning of event" << endl;
+ //gSystem->GetProcInfo(&procInfo);
+ //printf("ResMem %ld VMem %ld\n", procInfo.fMemResident, procInfo.fMemVirtual);
+
+ // get event plane from V0's
+ if(!fEventCuts->IsSelected(fAOD,fTrackCuts)) cout << "Error! Event not accepted by AliAODSpectraEventCuts!" << endl;
+ //TVector2* qvecA = fEventCuts->GetqV0A();
+ //TVector2* qvecC = fEventCuts->GetqV0C();
+ //Double_t psiV0 = qvecA->Phi()/2.;
+ //fEventCuts->CalculateQVectorLHC10h();
+ Double_t psiV0A = fEventCuts->GetPsiV0A();
+ Double_t psiV0C = fEventCuts->GetPsiV0C();
+ //Double_t qV0a = fEventCuts->GetqV0A();
+ Double_t qperc = fEventCuts->GetQvecPercentile(fQPercDet);//0: VZERO-A 1: VZERO-C
+ //cout << "Psi = " << psiV0 << " qV0a = " << qV0a << " percentile = " << qperc << endl;
+
+ if(psiV0A == -999) return;
+ if(psiV0C == -999) return;
+ if(qperc < fMinQPerc || qperc > fMaxQPerc) return;
+
+
+ TH1D* hpx = (TH1D*)fOutputList->FindObject("hpx");
+ TH1D* hpy = (TH1D*)fOutputList->FindObject("hpy");
+ TH1D* hpz = (TH1D*)fOutputList->FindObject("hpz");
+ TH1D* hpt = (TH1D*)fOutputList->FindObject("hpt");
+ TH1D* hE = (TH1D*)fOutputList->FindObject("hE");
+ TH2D* hphieta = (TH2D*)fOutputList->FindObject("hphieta");
+ TH2D* hphieta_pid = (TH2D*)fOutputList->FindObject("hphieta_pid");
+ TH1D* hpt_pid = (TH1D*)fOutputList->FindObject("hpt_pid");
+ TH2D* hvzcent = (TH2D*)fOutputList->FindObject("hvzcent");
+ TH1D* hcent = (TH1D*)fOutputList->FindObject("hcent");
+ TH2D* hcentn = (TH2D*)fOutputList->FindObject("hcentn");
+ TH3D* hphistaretapair10 = (TH3D*)fOutputList->FindObject("hphistaretapair10");
+ TH3D* hphistaretapair16 = (TH3D*)fOutputList->FindObject("hphistaretapair16");
+ TH3D* hphistaretapair10a = (TH3D*)fOutputList->FindObject("hphistaretapair10a");
+ TH3D* hphistaretapair16a = (TH3D*)fOutputList->FindObject("hphistaretapair16a");
+ TH3D* hphistaretapair10b = (TH3D*)fOutputList->FindObject("hphistaretapair10b");
+ TH3D* hphistaretapair16b = (TH3D*)fOutputList->FindObject("hphistaretapair16b");
+ TH3D* hphietapair = (TH3D*)fOutputList->FindObject("hphietapair");
+ TH3D* hphietapair2 = (TH3D*)fOutputList->FindObject("hphietapair2");
+ TH1D* hpidid = (TH1D*)fOutputList->FindObject("hpidid");
+ TH1D* hkt = (TH1D*)fOutputList->FindObject("hkt");
+ TH1D* hktcheck = (TH1D*)fOutputList->FindObject("hktcheck");
+ TH3D* hkt3 = (TH3D*)fOutputList->FindObject("hkt3");
+ TH1D* hPsiTPC = (TH1D*)fOutputList->FindObject("hPsiTPC");
+ TH1D* hPsiV0A = (TH1D*)fOutputList->FindObject("hPsiV0A");
+ TH1D* hPsiV0C = (TH1D*)fOutputList->FindObject("hPsiV0C");
+ TH1D* hCheckEPA = (TH1D*)fOutputList->FindObject("hCheckEPA");
+ TH1D* hCheckEPC = (TH1D*)fOutputList->FindObject("hCheckEPC");
+ TH2D* hCheckEPmix = (TH2D*)fOutputList->FindObject("hCheckEPmix");
+ TH2D* hcentq = (TH2D*)fOutputList->FindObject("hcentq");
+ TH2D* hMixedDist = (TH2D*)fOutputList->FindObject("hMixedDist");
+ TH2D* hresV0ATPC = (TH2D*)fOutputList->FindObject("hresV0ATPC");
+ TH2D* hresV0CTPC = (TH2D*)fOutputList->FindObject("hresV0CTPC");
+ TH2D* hresV0AV0C = (TH2D*)fOutputList->FindObject("hresV0AV0C");
+
+ Double_t sin2phi = 0, cos2phi = 0;
+
+ TObjArray* tracks = new TObjArray();
+ //tracks->SetOwner(kTRUE);
+
+ // Track loop -- select pions
+ for (Int_t i = 0; i < fAOD->GetNumberOfTracks(); i++) {
+ AliAODTrack* aodtrack = fAOD->GetTrack(i);
+ if (!aodtrack) continue;
+ if(!TrackCut(aodtrack)) continue;
+
+ // filter bit 7 PID method...
+ Int_t trackPID=999;
+ for(Int_t m = 0; m < fAOD->GetNumberOfTracks(); m++) {
+ AliAODTrack* aodtrack2 = fAOD->GetTrack(m);
+ if (!aodtrack2) continue;
+ if(aodtrack->GetID() != (-aodtrack2->GetID() - 1)) continue;// (-aodTrack2->GetID() - 1)
+ trackPID=fHelperPID->GetParticleSpecies((AliVTrack*)aodtrack2,kTRUE);
+ hphieta_pid->Fill(aodtrack->Phi()-aodtrack2->Phi(),aodtrack->Eta()-aodtrack2->Eta());
+ hpt_pid->Fill(aodtrack->Pt()-aodtrack2->Pt());
+ //cout << aodtrack->Phi() << " " << aodtrack->Eta() << " " << aodtrack->Pt() << endl;
+ //cout << aodtrack2->Phi() << " " << aodtrack2->Eta() << " " << aodtrack2->Pt() << " " << dataID2 << endl;
+ }
+
+ hpidid->Fill((trackPID+1)*aodtrack->Charge());
+
+ // select pions
+ if(trackPID==0)
+ tracks->Add(aodtrack);
+
+ // check event plane angle using tracks in the TPC
+ if(aodtrack->Pt() < 2 && aodtrack->Pt() > 0.2)
+ {
+ sin2phi += (aodtrack->Pt())*sin(2*aodtrack->Phi());
+ cos2phi += (aodtrack->Pt())*cos(2*aodtrack->Phi());
+ }
+
+ }
+ // end track loop
+
+ Int_t ntracks = tracks->GetEntriesFast();
+
+ // get EP from TPC, just to check
+ Double_t psiTPC = 0.;
+ if(ntracks > 0)
+ psiTPC = 0.5*atan2(sin2phi,cos2phi);
+ else return;
+
+ Double_t psiEP = psiV0A;
+ if(fEPDet==1) psiEP = psiV0C;
+
+ hPsiTPC->Fill(psiTPC);
+ hPsiV0A->Fill(psiV0A);
+ hPsiV0C->Fill(psiV0C);
+ Double_t dphiEP = psiTPC-psiV0A;
+ if(dphiEP>TMath::Pi()) dphiEP-=2*TMath::Pi();
+ if(dphiEP<-TMath::Pi()) dphiEP+=2*TMath::Pi();
+ hCheckEPA->Fill(dphiEP);
+ dphiEP = psiTPC-psiV0C;
+ if(dphiEP>TMath::Pi()) dphiEP-=2*TMath::Pi();
+ if(dphiEP<-TMath::Pi()) dphiEP+=2*TMath::Pi();
+ hCheckEPC->Fill(dphiEP);
+
+
+ hcentq->Fill(qperc,centralityPercentile);
+
+
+ Double_t kt = 0;
+ Double_t qout=0, qside=0, qlong=0;
+ Double_t pVect1[4] = {0,0,0,0};
+ Double_t pVect2[4] = {0,0,0,0};
+ Int_t k, e, c, v; //bin indices for histograms
+
+ nCountTracks += ntracks;
+ //cout << "Found " << ntracks << " pion tracks..." << endl;
+
+ hvzcent->Fill(zvtx,centralityPercentile);
+ hcent->Fill(centralityPercentile);
+ hcentn->Fill(centralityPercentile,ntracks);
+
+ // resolution histograms
+ hresV0ATPC->Fill(zvtx,centralityPercentile,cos(2*(psiV0A-psiTPC)));
+ hresV0CTPC->Fill(zvtx,centralityPercentile,cos(2*(psiV0C-psiTPC)));
+ hresV0AV0C->Fill(zvtx,centralityPercentile,cos(2*(psiV0A-psiV0C)));
+
+ AliEventPool* pool = fPoolMgr->GetEventPool(centralityPercentile,zvtx);
+ if (!pool) AliFatal(Form("No pool found for centrality = %f, vz = %f", centralityPercentile, zvtx));
+ //if (!pool) AliFatal(Form("No pool found for centrality = %f, zVtx = %f, Psi_EP = %f", centralityPercentile, zvtx, psiEP));
+ //if(pool->IsReady()) hMixedDist->Fill(centralityPercentile, pool->NTracksInPool());
+
+
+ for(Int_t j = 0; j < ntracks; j++)
+ {
+ //cout << endl << j << " ";
+ AliAODTrack* track1 = (AliAODTrack*)tracks->At(j);
+ pVect1[0]=sqrt(pow(track1->P(),2)+pow(0.13957, 2));
+ pVect1[1]=track1->Px();
+ pVect1[2]=track1->Py();
+ pVect1[3]=track1->Pz();
+ //cout << pVect1[0] << " " << pVect1[1] << " " << pVect1[2] << " " << pVect1[3] << endl;
+
+ // track qa plots
+ hpx->Fill(pVect1[1]);
+ hpy->Fill(pVect1[2]);
+ hpz->Fill(pVect1[3]);
+ hpt->Fill(track1->Pt());
+ hE->Fill(pVect1[0]);
+ hphieta->Fill(track1->Phi(),track1->Eta());
+
+ // same event
+ for(Int_t i = j+1; i < ntracks; i++)
+ {
+ AliAODTrack* track2 = (AliAODTrack*)tracks->At(i);
+
+ hphistaretapair10->Fill(DeltaPhiStar(track1,track2,1.0),track1->Eta()-track2->Eta(),kt);
+ hphistaretapair16->Fill(DeltaPhiStar(track1,track2,1.6),track1->Eta()-track2->Eta(),kt);
+
+ if(!PairCut(track1,track2,kFALSE)) continue;
+
+ hphistaretapair10a->Fill(DeltaPhiStar(track1,track2,1.0),track1->Eta()-track2->Eta(),kt);
+ hphistaretapair16a->Fill(DeltaPhiStar(track1,track2,1.6),track1->Eta()-track2->Eta(),kt);
+ hphistaretapair10b->Fill(DeltaPhiStar(track1,track2,1.0),track1->Eta()-track2->Eta(),kt);
+ hphistaretapair16b->Fill(DeltaPhiStar(track1,track2,1.6),track1->Eta()-track2->Eta(),kt);
+
+ pVect2[0]=sqrt(pow(track2->P(),2)+pow(0.13957, 2));
+ pVect2[1]=track2->Px();
+ pVect2[2]=track2->Py();
+ pVect2[3]=track2->Pz();
+
+ //qinv = GetQinv(pVect1, pVect2); // = qinv**2 = (P1x-P2x)**2 + (P1y-P2y)**2 + (P1z-P2z)**2 - (P1t-P2t)**2
+ GetQosl(pVect1, pVect2, qout, qside, qlong); // qout, qside, qlong = components of Q=P1-P2 in the P=P1+P2 frame
+ kt = sqrt(pow(pVect1[1]+pVect2[1],2) + pow(pVect1[2]+pVect2[2],2))/2.; // = Kt = |pT1+pT2|/2
+ hkt->Fill(kt);
+ hkt3->Fill(kt,track1->Pt(),track2->Pt());
+ Double_t deltaphi = GetDeltaPhiEP(pVect1[1],pVect1[2],pVect2[1],pVect2[2],psiEP); // angle to event plane in correct range
+ if(fabs(qout)<0.2 && fabs(qside)<0.2 && fabs(qlong)<0.2) nCountSamePairs++;
+ if(kt < ktBins[0] || kt > ktBins[nKtBins]) continue;
+ if(!FindBin(kt,deltaphi,centralityPercentile,zvtx,k,e,c,v)) continue;
+ hktcheck->Fill(kt);
+ hq[k][e][c][v]->Fill(qout,qside,qlong);
+ Double_t dphi = track1->Phi()-track2->Phi();
+ if(dphi<-TMath::Pi()) dphi += 2*TMath::Pi();
+ if(dphi>TMath::Pi()) dphi -= 2*TMath::Pi();
+ hphietapair->Fill(dphi,track1->Eta()-track2->Eta(),kt);
+ hphietapair2->Fill(dphi,track1->Eta()-track2->Eta(),kt);
+ //cout << k << " ";
+ }
+
+ // mixed event
+ if (pool->IsReady())
+ {
+ Int_t nMix = pool->GetCurrentNEvents();
+ Int_t countmix = 0;
+
+ for (Int_t jMix=0; jMix<nMix; jMix++)
+ {
+ TObjArray* bgTracks = pool->GetEvent(jMix);
+ Int_t ntracksmix = bgTracks->GetEntriesFast();
+
+ if(ntracksmix > 0)
+ {
+ AliFemtoESEBasicParticle* tracktest = (AliFemtoESEBasicParticle*)bgTracks->UncheckedAt(0);
+ fPsiEPmixtemp = tracktest->GetPsiEP();
+ Double_t dphiEPtest = fPsiEPmixtemp-psiEP;
+ while(dphiEPtest>2*TMath::Pi()) dphiEPtest-=2*TMath::Pi();
+ while(dphiEPtest<0) dphiEPtest+=2*TMath::Pi();
+ if(dphiEPtest>TMath::Pi()) dphiEPtest-=TMath::Pi();
+ if(dphiEPtest>TMath::Pi()/2.) dphiEPtest = TMath::Pi()-dphiEPtest;
+ if(dphiEPtest > TMath::Pi()/6.) continue;
+ countmix += ntracksmix;
+
+ fPsiEPmix = 0.5*atan2(sin(2*psiEP)+sin(2*fPsiEPmixtemp),cos(2*psiEP)+cos(2*fPsiEPmixtemp));
+ Double_t dphimix = psiEP-fPsiEPmix;
+ if(dphimix < -TMath::Pi()) dphimix += 2*TMath::Pi();
+ if(dphimix > TMath::Pi()) dphimix -= 2*TMath::Pi();
+ Double_t dphi12 = psiEP-fPsiEPmixtemp;
+ if(dphi12 < -TMath::Pi()) dphi12 += 2*TMath::Pi();
+ if(dphi12 > TMath::Pi()) dphi12 -= 2*TMath::Pi();
+ hCheckEPmix->Fill(dphimix,dphi12);
+ }
+
+
+ //cout << "mixing with " << ntracksmix << " tracks" << endl;
+ for(Int_t i = 0; i < ntracksmix; i++)
+ {
+ AliFemtoESEBasicParticle* track2 = (AliFemtoESEBasicParticle*)bgTracks->UncheckedAt(i);
+
+ if(!PairCut(track1,track2,kTRUE)) continue;
+
+ pVect2[0]=track2->E();
+ pVect2[1]=track2->Px();
+ pVect2[2]=track2->Py();
+ pVect2[3]=track2->Pz();
+
+ if(fPsiEPmixtemp != track2->GetPsiEP()) AliFatal("Error! Event plane angles are wrong in mixing!!");
+
+ //qinv = GetQinv(pVect1, pVect2); // qinv**2 = (P1x-P2x)**2 + (P1y-P2y)**2 + (P1z-P2z)**2 - (P1t-P2t)**2
+ GetQosl(pVect1, pVect2, qout, qside, qlong); // qout, qside, qlong = components of Q=P1-P2 in the P=P1+P2 frame
+ kt = sqrt(pow(pVect1[1]+pVect2[1],2) + pow(pVect1[2]+pVect2[2],2))/2.; // = Kt = |pT1+pT2|/2
+ Double_t deltaphi = GetDeltaPhiEP(pVect1[1],pVect1[2],pVect2[1],pVect2[2],fPsiEPmix); // angle to event plane in correct range
+
+ //Double_t weight = 1./(Double_t)nMix;
+ if(fabs(qout)<0.2 && fabs(qside)<0.2 && fabs(qlong)<0.2) nCountMixedPairs++;
+ if(kt < ktBins[0] || kt > ktBins[nKtBins]) continue;
+ if(!FindBin(kt,deltaphi,centralityPercentile,zvtx,k,e,c,v)) continue;
+ hqmix[k][e][c][v]->Fill(qout,qside,qlong);
+
+ }
+ }
+
+ hMixedDist->Fill(centralityPercentile, countmix);
+
+ }
+ }
+
+ TObjArray* clonedtracks = CloneAndReduceTrackList(tracks,psiEP);
+ pool->UpdatePool(clonedtracks);
+ //cout << "pool contains " << pool->GetCurrentNEvents() << " events and " << pool->NTracksInPool() << " tracks." << endl;
+ //tracks->Clear();
+
+ delete tracks;
+
+ // Post output data.
+ PostData(1, fOutputList);
+ PostData(2, fHelperPID);
+}
+//________________________________________________________________________
+void AliAnalysisTaskFemtoESE::Terminate(Option_t *)
+{
+
+ if(ktBins) delete [] ktBins;
+ if(epBins) delete [] epBins;
+ if(centBins) delete [] centBins;
+ if(vzBins) delete [] vzBins;
+
+ // Called once at the end of the query
+
+ cout<<"Done"<<endl;
+
+}
+
+
+/*
+
+//________________________________________________________________________
+Bool_t AliAnalysisTaskFemtoESE::AcceptPair(AliChaoticityTrackStruct *first, AliChaoticityTrackStruct *second)
+{
+
+ if(fabs(first->fEta-second->fEta) > fMinSepPairEta) return kTRUE;
+
+ // propagate through B field to r=1m
+ Float_t phi1 = first->fPhi - asin(first->fCharge*(0.1*fBfield)*0.15/first->fPt);// 0.15 for D=1m
+ if(phi1 > 2*PI) phi1 -= 2*PI;
+ if(phi1 < 0) phi1 += 2*PI;
+ Float_t phi2 = second->fPhi - asin(second->fCharge*(0.1*fBfield)*0.15/second->fPt);// 0.15 for D=1m
+ if(phi2 > 2*PI) phi2 -= 2*PI;
+ if(phi2 < 0) phi2 += 2*PI;
+
+ Float_t deltaphi = phi1 - phi2;
+ if(deltaphi > PI) deltaphi -= 2*PI;
+ if(deltaphi < -PI) deltaphi += 2*PI;
+ deltaphi = fabs(deltaphi);
+
+ if(deltaphi < fMinSepPairPhi) return kFALSE;// Min Separation
+
+
+ // propagate through B field to r=1.6m
+ phi1 = first->fPhi - asin(first->fCharge*(0.1*fBfield)*0.24/first->fPt);// mine. 0.24 for D=1.6m
+ if(phi1 > 2*PI) phi1 -= 2*PI;
+ if(phi1 < 0) phi1 += 2*PI;
+ phi2 = second->fPhi - asin(second->fCharge*(0.1*fBfield)*0.24/second->fPt);// mine. 0.24 for D=1.6m
+ if(phi2 > 2*PI) phi2 -= 2*PI;
+ if(phi2 < 0) phi2 += 2*PI;
+
+ deltaphi = phi1 - phi2;
+ if(deltaphi > PI) deltaphi -= 2*PI;
+ if(deltaphi < -PI) deltaphi += 2*PI;
+ deltaphi = fabs(deltaphi);
+
+ if(deltaphi < fMinSepPairPhi) return kFALSE;// Min Separation
+
+
+
+ //
+
+ Int_t ncl1 = first->fClusterMap.GetNbits();
+ Int_t ncl2 = second->fClusterMap.GetNbits();
+ Int_t sumCls = 0; Int_t sumSha = 0; Int_t sumQ = 0;
+ Double_t shfrac = 0; Double_t qfactor = 0;
+ for(Int_t imap = 0; imap < ncl1 && imap < ncl2; imap++) {
+ if (first->fClusterMap.TestBitNumber(imap) && second->fClusterMap.TestBitNumber(imap)) {// Both clusters
+ if (first->fSharedMap.TestBitNumber(imap) && second->fSharedMap.TestBitNumber(imap)) { // Shared
+ sumQ++;
+ sumCls+=2;
+ sumSha+=2;}
+ else {sumQ--; sumCls+=2;}
+ }
+ else if (first->fClusterMap.TestBitNumber(imap) || second->fClusterMap.TestBitNumber(imap)) {// Non shared
+ sumQ++;
+ sumCls++;}
+ }
+ if (sumCls>0) {
+ qfactor = sumQ*1.0/sumCls;
+ shfrac = sumSha*1.0/sumCls;
+ }
+
+ if(qfactor > fShareQuality || shfrac > fShareFraction) return kFALSE;
+
+
+ return kTRUE;
+
+
+}
+//________________________________________________________________________
+Float_t AliAnalysisTaskFemtoESE::GamovFactor(Int_t chargeBin1, Int_t chargeBin2, Float_t qinv)
+{
+ Float_t arg = G_Coeff/qinv;
+
+ if(chargeBin1==chargeBin2) return (exp(arg)-1)/(arg);
+ else {return (exp(-arg)-1)/(-arg);}
+
+}
+//________________________________________________________________________
+void AliAnalysisTaskFemtoESE::Shuffle(Int_t *iarr, Int_t i1, Int_t i2)
+{
+ Int_t j, k;
+ Int_t a = i2 - i1;
+ for (Int_t i = i1; i < i2+1; i++) {
+ j = (Int_t) (gRandom->Rndm() * a);
+ k = iarr[j];
+ iarr[j] = iarr[i];
+ iarr[i] = k;
+ }
+}
+*/
+//________________________________________________________________________
+Double_t AliAnalysisTaskFemtoESE::GetQinv(Double_t track1[], Double_t track2[]){
+
+ Double_t qinv=1.0;
+ qinv = sqrt( pow(track1[1]-track2[1],2) + pow(track1[2]-track2[2],2) + pow(track1[3]-track2[3],2) - pow(track1[0]-track2[0],2));
+ return qinv;
+}
+
+//________________________________________________________________________
+void AliAnalysisTaskFemtoESE::GetQosl(Double_t track1[], Double_t track2[], Double_t& qout, Double_t& qside, Double_t& qlong){
+
+ Double_t p0 = track1[0] + track2[0];
+ Double_t px = track1[1] + track2[1];
+ Double_t py = track1[2] + track2[2];
+ Double_t pz = track1[3] + track2[3];
+
+ Double_t mt = sqrt(p0*p0 - pz*pz);
+ Double_t pt = sqrt(px*px + py*py);
+
+ Double_t v0 = track1[0] - track2[0];
+ Double_t vx = track1[1] - track2[1];
+ Double_t vy = track1[2] - track2[2];
+ Double_t vz = track1[3] - track2[3];
+
+ if(gRandom->Rndm()<0.5)
+ {
+ v0 = -v0;
+ vx = -vx;
+ vy = -vy;
+ vz = -vz;
+ }
+
+ //cout << p0 << " " << px << " " << py << " " << pz << " " << v0 << " " << vx << " " << vy << " " << vz << " " << mt << " " << pt << endl;
+
+ qout = (px*vx + py*vy)/pt;
+ qside = (px*vy - py*vx)/pt;
+ qlong = (p0*vz - pz*v0)/mt;
+}
+
+//________________________________________________________________________
+Bool_t AliAnalysisTaskFemtoESE::EventCut(/*AliAODEvent* fevent*/){
+
+ // Trigger Cut
+
+ Bool_t isSelected1 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB);
+ Bool_t isSelected2 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kCentral);
+ Bool_t isSelected3 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kSemiCentral);
+ if(!isSelected1 && !isSelected2 && !isSelected3) {return kFALSE;}
+
+ /*
+ // Pile-up rejection
+ AliAnalysisUtils *AnaUtil=new AliAnalysisUtils();
+ if(!fPbPbcase) AnaUtil->SetUseMVPlpSelection(kTRUE);// use Multi-Vertex tool for pp and pPb
+ else AnaUtil->SetUseMVPlpSelection(kFALSE);
+ Bool_t pileUpCase=AnaUtil->IsPileUpEvent(fAOD);
+ if(pileUpCase) return;
+
+ // Vertexing
+ primaryVertexAOD = fAOD->GetPrimaryVertex();
+ vertex[0]=primaryVertexAOD->GetX(); vertex[1]=primaryVertexAOD->GetY(); vertex[2]=primaryVertexAOD->GetZ();
+
+ if(fabs(vertex[2]) > 10) {cout<<"Zvertex Out of Range. Skip Event"<<endl; return;} // Z-Vertex Cut
+ ((TH3D*)fOutputList->FindObject("fVertexDist"))->Fill(vertex[0], vertex[1], vertex[2]);
+
+ for (Int_t i = 0; i < fAOD->GetNumberOfTracks(); i++) {
+ AliAODTrack* aodtrack = fAOD->GetTrack(i);
+ if (!aodtrack) continue;
+ AODTracks++;
+ if(!aodtrack->TestFilterBit(BIT(fFilterBit))) continue;// AOD filterBit cut
+ FBTracks++;
+ }
+ ((TH1D*)fOutputList->FindObject("fMultDist2"))->Fill(FBTracks);
+
+ //if(fAOD->IsPileupFromSPD()) {cout<<"PileUpEvent. Skip Event"<<endl; return;} // Old Pile-up cut
+ if(primaryVertexAOD->GetNContributors() < 1) {cout<<"Bad Vertex. Skip Event"<<endl; return;}
+
+ ((TH1D*)fOutputList->FindObject("fMultDist3"))->Fill(FBTracks);
+
+ fBfield = fAOD->GetMagneticField();
+
+ for(Int_t i=0; i<fZvertexBins; i++){
+ if( (vertex[2] >= zstart+i*zstep) && (vertex[2] < zstart+(i+1)*zstep) ){
+ zbin=i;
+ break;
+ }
+ }
+ */
+
+ return kTRUE;
+
+}
+
+//________________________________________________________________________
+Bool_t AliAnalysisTaskFemtoESE::TrackCut(AliAODTrack* ftrack){
+
+ if (!ftrack->TestFilterBit(fFilterBit)) return kFALSE;
+
+ if(ftrack->Pt() < 0.14) return kFALSE;
+ if(ftrack->Pt() > 1.5) return kFALSE;
+ if(fabs(ftrack->Eta()) > 0.8) return kFALSE;
+
+ if(ftrack->GetTPCNcls() < 80) return kFALSE;// TPC nCluster cut
+
+ Double_t trackdca[3] = {ftrack->XAtDCA(),ftrack->YAtDCA(),ftrack->ZAtDCA()};
+ //ftrack->XYZAtDCA(trackdca);
+ //Double_t dcaxy = sqrt( pow(trackpos[0] - vertex[0],2) + pow(trackpos[1] - vertex[1],2));
+ //Double_t dcaz = sqrt( pow(trackpos[2] - vertex[2],2));
+ ((TH2D*)fOutputList->FindObject("hdcaxy"))->Fill(trackdca[0],trackdca[1]);
+ ((TH1D*)fOutputList->FindObject("hdcaz"))->Fill(trackdca[2]);
+ //if(dcaxy > 0.2) return kFALSE;
+ //if(dcaz > 0.15) return kFALSE;
+
+
+ //// FilterBit Overlap Check
+ //if(fFilterBit != 7){
+// Bool_t goodTrackOtherFB = kFALSE;
+// if(fMCcase && fAOD->GetRunNumber()<=126437) goodTrackOtherFB=kTRUE;// FB7 to FB5 mapping in 10f6a MC does not work
+//
+// for (Int_t j = 0; j < fAOD->GetNumberOfTracks(); j++) {
+// AliAODTrack* aodtrack2 = fAOD->GetTrack(randomIndex[j]);
+// if(!aodtrack2) continue;
+// if(!aodtrack2->TestFilterBit(BIT(fFilterBit))) continue;
+//
+// if(-(aodtrack->GetID()+1)==aodtrack2->GetID()) {goodTrackOtherFB=kTRUE; break;}
+//
+// }
+// if(!goodTrackOtherFB) continue;
+ // }
+
+ return kTRUE;
+
+}
+
+//________________________________________________________________________
+Bool_t AliAnalysisTaskFemtoESE::PairCut(AliAODTrack* ftrack1, AliAODTrack* ftrack2, Bool_t mix){
+
+ // check for same charge
+ if(ftrack2->Charge() != ftrack1->Charge()) return kFALSE;
+
+ // qinv cut
+ Double_t trackvec1[4] = {sqrt(pow(ftrack1->P(),2)+pow(0.13957, 2)),ftrack1->Px(),ftrack1->Py(),ftrack1->Pz()};
+ Double_t trackvec2[4] = {sqrt(pow(ftrack2->P(),2)+pow(0.13957, 2)),ftrack2->Px(),ftrack2->Py(),ftrack2->Pz()};
+ Double_t qinv = GetQinv(trackvec1,trackvec2);
+ if(qinv < 0.005) return kFALSE;
+
+ // deltaEta x deltaPhi* cut
+ if(fabs(ftrack1->Eta()-ftrack2->Eta()) < fMinSepPairEta)
+ {
+ Double_t deltaphistar = DeltaPhiStar(ftrack1,ftrack2,1.0); // angular separation at r=1m
+ deltaphistar = fabs(deltaphistar);
+ if(deltaphistar < fMinSepPairPhi) return kFALSE;
+ deltaphistar = DeltaPhiStar(ftrack1,ftrack2,1.6); // angular separation at r=1.6m
+ deltaphistar = fabs(deltaphistar);
+ if(deltaphistar < fMinSepPairPhi) return kFALSE;
+ }
+
+ // share fraction & share quality cut
+ TBits clusterMap1 = (TBits)(ftrack1->GetTPCClusterMap());
+ TBits sharedMap1 = (TBits)(ftrack1->GetTPCSharedMap());
+ TBits clusterMap2 = (TBits)(ftrack2->GetTPCClusterMap());
+ TBits sharedMap2 = (TBits)(ftrack2->GetTPCSharedMap());
+
+ Int_t ncl1 = clusterMap1.GetNbits();
+ Int_t ncl2 = clusterMap2.GetNbits();
+ Int_t sumCls = 0; Int_t sumSha = 0; Int_t sumQ = 0;
+ Double_t shfrac = 0; Double_t qfactor = 0;
+ for(Int_t imap = 0; imap < ncl1 && imap < ncl2; imap++)
+ {
+ if (clusterMap1.TestBitNumber(imap) && clusterMap2.TestBitNumber(imap)) // Both clusters
+ {
+ if (sharedMap1.TestBitNumber(imap) && sharedMap2.TestBitNumber(imap)) // Shared
+ {
+ sumQ++;
+ sumCls+=2;
+ sumSha+=2;}
+ else {sumQ--; sumCls+=2;}
+ }
+ else if (clusterMap1.TestBitNumber(imap) || clusterMap2.TestBitNumber(imap)) // Non shared
+ {
+ sumQ++;
+ sumCls++;
+ }
+ }
+ if (sumCls>0)
+ {
+ qfactor = sumQ*1.0/sumCls;
+ shfrac = sumSha*1.0/sumCls;
+ }
+
+ // sumCls -- number of clusters in track 1 + number of clusters in track 2 (clusters in both tracks counted twice)
+ // sumSha -- number of shared clusters (counted twice)
+ // sumQ -- ?
+
+ TH1D* hsharequal;
+ TH1D* hsharefrac;
+
+ if(!mix)
+ {
+ hsharequal = (TH1D*)fOutputList->FindObject("hsharequal");
+ hsharefrac = (TH1D*)fOutputList->FindObject("hsharefrac");
+ }
+ else
+ {
+ hsharequal = (TH1D*)fOutputList->FindObject("hsharequalmix");
+ hsharefrac = (TH1D*)fOutputList->FindObject("hsharefracmix");
+ }
+ hsharequal->Fill(qfactor);
+ hsharefrac->Fill(shfrac);
+
+ if(qfactor > fShareQuality || shfrac > fShareFraction) return kFALSE;
+
+ return kTRUE;
+}
+
+Double_t AliAnalysisTaskFemtoESE::DeltaPhiStar(AliAODTrack* ftrack1, AliAODTrack* ftrack2, Double_t r)
+{
+ Double_t phi1 = ftrack1->Phi() - asin(0.3*ftrack1->Charge()*(0.1*fBfield)*r/(2.*ftrack1->Pt())); // magnetic field converted from kilogauss to tesla
+ Double_t phi2 = ftrack2->Phi() - asin(0.3*ftrack2->Charge()*(0.1*fBfield)*r/(2.*ftrack2->Pt()));
+
+ Double_t deltaphi = phi1 - phi2;
+ while(deltaphi > TMath::Pi()) deltaphi -= 2*TMath::Pi();
+ while(deltaphi < -TMath::Pi()) deltaphi += 2*TMath::Pi();
+
+ return deltaphi;
+}
+
+TObjArray* AliAnalysisTaskFemtoESE::CloneAndReduceTrackList(TObjArray* tracks, Double_t psi)
+{
+ // clones a track list by using AliDPhiBasicParticle which uses much less memory (used for event mixing)
+
+ TObjArray* tracksClone = new TObjArray;
+ tracksClone->SetOwner(kTRUE);
+
+ for (Int_t i=0; i<tracks->GetEntriesFast(); i++)
+ {
+ AliAODTrack* particle = (AliAODTrack*) tracks->UncheckedAt(i);
+ AliFemtoESEBasicParticle* copy = new AliFemtoESEBasicParticle(sqrt(pow(particle->P(),2)+pow(0.13957, 2)),particle->Px(),particle->Py(),particle->Pz(),particle->Charge(),particle->Phi(),particle->Eta());
+ copy->SetPsiEP(psi);
+ copy->SetTPCClusterMap(particle->GetTPCClusterMap());
+ copy->SetTPCSharedMap(particle->GetTPCSharedMap());
+
+ tracksClone->Add(copy);
+ }
+
+ return tracksClone;
+}
+
+Double_t AliAnalysisTaskFemtoESE::GetDeltaPhiEP(Double_t px1, Double_t py1, Double_t px2, Double_t py2, Double_t psi)
+{
+ // angle of pair
+ Double_t px = px1+px2;
+ Double_t py = py1+py2;
+ Double_t phi = atan2(py,px);
+
+ Double_t dphi = phi-psi;
+ while(dphi < epBins[0]) dphi += 2*TMath::Pi();
+ while(dphi > epBins[nEPBins]) dphi -= 2*TMath::Pi();
+
+ return dphi;
+}
+
+Bool_t AliAnalysisTaskFemtoESE::FindBin(Double_t kt, Double_t phi, Double_t cent, Double_t vz, Int_t& a, Int_t& b, Int_t&c, Int_t& d)
+{
+ a = b = c = d = -1;
+ for(Int_t i = 0; i < nKtBins; i++)
+ {
+ if(kt >= ktBins[i] && kt < ktBins[i+1])
+ {
+ a = i;
+ break;
+ }
+ }
+ if(a==-1) return kFALSE;
+
+ for(Int_t i = 0; i < nEPBins; i++)
+ {
+ if(phi >= epBins[i] && phi < epBins[i+1])
+ {
+ b = i;
+ break;
+ }
+ }
+ if(b==-1) return kFALSE;
+
+ for(Int_t i = 0; i < nCentBins; i++)
+ {
+ if(cent >= centBins[i] && cent < centBins[i+1])
+ {
+ c = i;
+ break;
+ }
+ }
+ if(c==-1) return kFALSE;
+
+ for(Int_t i = 0; i < nVzBins; i++)
+ {
+ if(vz >= vzBins[i] && vz < vzBins[i+1])
+ {
+ d = i;
+ break;
+ }
+ }
+ if(d==-1) return kFALSE;
+
+ return kTRUE;
+}
+
+
+
+void AliAnalysisTaskFemtoESE::SetKtBins(Int_t n, Double_t* bins)
+{
+ if(ktBins) delete [] ktBins;
+ nKtBins = n;
+ nKtBins1 = n+1;
+ ktBins = new Double_t[nKtBins+1];
+ for(Int_t i = 0; i < nKtBins+1; i++)
+ ktBins[i]=bins[i];
+ cout << endl << "Setting " << nKtBins << " kt bins: " << endl;
+ for(Int_t i = 0; i < nKtBins+1; i++)
+ cout << ktBins[i] << " ";
+ cout << endl << endl;
+}
+void AliAnalysisTaskFemtoESE::SetCentBins(Int_t n, Double_t* bins)
+{
+ if(centBins) delete [] centBins;
+ nCentBins = n;
+ nCentBins1 = n+1;
+ centBins = new Double_t[nCentBins+1];
+ for(Int_t i = 0; i < nCentBins+1; i++)
+ centBins[i]=bins[i];
+ cout << endl << "Setting " << nCentBins << " centrality bins: " << endl;
+ for(Int_t i = 0; i < nCentBins+1; i++)
+ cout << centBins[i] << " ";
+ cout << endl << endl;
+}
+void AliAnalysisTaskFemtoESE::SetVzBins(Int_t n, Double_t* bins)
+{
+ if(vzBins) delete [] vzBins;
+ nVzBins = n;
+ nVzBins1 = n+1;
+ vzBins = new Double_t[nVzBins+1];
+ for(Int_t i = 0; i < nVzBins+1; i++)
+ vzBins[i]=bins[i];
+ cout << endl << "Setting " << nVzBins << " vz bins: " << endl;
+ for(Int_t i = 0; i < nVzBins+1; i++)
+ cout << vzBins[i] << " ";
+ cout << endl << endl;
+}
+void AliAnalysisTaskFemtoESE::SetEPBins(Int_t n, Double_t min, Double_t max)
+{
+ if(epBins) delete [] epBins;
+ nEPBins = n;
+ nEPBins1 = n+1;
+ epBins = new Double_t[nEPBins+1];
+ for(Int_t y = 0; y < nEPBins+1; y++)
+ epBins[y] = min+((max-min)/(Double_t)n)*((Double_t)y);
+ cout << endl << "Setting " << nEPBins << " event plane bins: " << endl;
+ for(Int_t i = 0; i < nEPBins+1; i++)
+ cout << epBins[i] << " ";
+ cout << endl << endl;
+}
+
--- /dev/null
+#ifndef AliAnalysisTaskFemtoESE_cxx
+#define AliAnalysisTaskFemtoESE_cxx
+
+
+class TH1F;
+class TH2F;
+class TH3F;
+class TH1D;
+class TH2D;
+class TH3D;
+
+class TProfile;
+class TProfile2D;
+
+class AliESDEvent;
+class AliAODEvent;
+class AliESDtrackCuts;
+class AliESDpid;
+class AliHelperPID;
+class AliEventPoolManager;
+class AliSpectraAODEventCuts;
+class AliSpectraAODTrackCuts;
+class AliAODTrack;
+
+#include "AliAnalysisTask.h"
+#include "AliAnalysisTaskSE.h"
+#include "AliESDpid.h"
+#include "AliAODPid.h"
+
+#include "AliAODEvent.h"
+#include "AliAnalysisManager.h"
+#include "AliAODInputHandler.h"
+#include "AliSpectraAODEventCuts.h"
+#include "AliSpectraAODTrackCuts.h"
+
+class AliAnalysisTaskFemtoESE : public AliAnalysisTaskSE {
+ public:
+
+ AliAnalysisTaskFemtoESE();
+ AliAnalysisTaskFemtoESE(const char* name);
+ virtual ~AliAnalysisTaskFemtoESE();
+ AliAnalysisTaskFemtoESE(const AliAnalysisTaskFemtoESE &/*obj*/);
+ AliAnalysisTaskFemtoESE &operator=(const AliAnalysisTaskFemtoESE &/*obj*/);
+
+ virtual void UserCreateOutputObjects();
+ virtual void UserExec(Option_t *option);
+ virtual void Terminate(Option_t *);
+
+ AliHelperPID* GetHelperPID() { return fHelperPID; }
+ void SetHelperPID(AliHelperPID* pid){ fHelperPID = pid; }
+ AliSpectraAODEventCuts* GetEventCuts() {return fEventCuts;}
+ void SetEventCuts(AliSpectraAODEventCuts* cuts) {fEventCuts = cuts;}
+ AliSpectraAODTrackCuts* GetTrackCuts() {return fTrackCuts;}
+ void SetTrackCuts(AliSpectraAODTrackCuts* cuts) {fTrackCuts = cuts;}
+
+ Int_t GetTrackFilterBit(){return fFilterBit;}
+ void SetTrackFilterBit(Int_t bit){fFilterBit=bit;}
+ void SetEventSelectionBit( UInt_t val ) {fSelectBit = val;}
+ void SetMinSepPair(Double_t eta,Double_t phi){fMinSepPairEta = eta; fMinSepPairPhi = phi;}
+ void SetShareFraction(Double_t val) {fShareFraction = val;}
+ Double_t GetShareFraction() {return fShareFraction;}
+ void SetShareQuality(Double_t val) {fShareQuality = val;}
+ Double_t GetShareQuality() {return fShareQuality;}
+ void SetQPercCuts(Double_t min, Double_t max) {fMinQPerc = min; fMaxQPerc = max;}
+ Double_t GetMinQPerc(){return fMinQPerc;}
+ Double_t GetMaxQPerc(){return fMaxQPerc;}
+ void SetQPercDetector(Int_t det){fQPercDet = det;};
+ void SetEPDetector(Int_t det){fEPDet = det;};
+
+
+ void SetKtBins(Int_t n, Double_t* bins);
+ void SetEPBins(Int_t n, Double_t min, Double_t max);
+ void SetCentBins(Int_t n, Double_t* bins);
+ void SetVzBins(Int_t n, Double_t* bins);
+
+ private:
+ Double_t GetQinv(Double_t[], Double_t[]);
+ void GetQosl(Double_t[], Double_t[], Double_t&, Double_t&, Double_t&);
+ Bool_t TrackCut(AliAODTrack* ftrack);
+ Bool_t EventCut(/*AliAODEvent* fevent*/);
+ Bool_t PairCut(AliAODTrack* ftrack1, AliAODTrack* ftrack2, Bool_t mix);
+ Double_t DeltaPhiStar(AliAODTrack* ftrack1, AliAODTrack* ftrack2, Double_t r);
+ TObjArray* CloneAndReduceTrackList(TObjArray* tracks, Double_t psi);
+ Double_t GetDeltaPhiEP(Double_t px1, Double_t py1, Double_t px2, Double_t py2, Double_t psi);
+ Bool_t FindBin(Double_t kt, Double_t phi, Double_t cent, Double_t vz, Int_t& a, Int_t& b, Int_t&c, Int_t& d);
+
+ AliAODEvent *fAOD; //! // AOD object
+ TList *fOutputList; //! Compact Output list
+ //AliPIDResponse *fPIDResponse; //! PID response object; equivalent to AliAODpidUtil
+ AliHelperPID* fHelperPID; // points to class for PID
+ AliEventPoolManager* fPoolMgr; //! event pool manager
+ AliSpectraAODEventCuts* fEventCuts;
+ AliSpectraAODTrackCuts* fTrackCuts;
+
+ Int_t fFilterBit; // track selection cuts
+ UInt_t fSelectBit; // Select events according to AliAnalysisTaskJetServices bit maps
+ Int_t fEventCounter;
+ Int_t fMixingTracks;
+ Double_t fBfield;
+ Double_t fMinSepPairEta;
+ Double_t fMinSepPairPhi;
+ Double_t fShareQuality;
+ Double_t fShareFraction;
+
+ Int_t nCountSamePairs;
+ Int_t nCountMixedPairs;
+ Int_t nCountTracks;
+
+ Double_t fMinQPerc;
+ Double_t fMaxQPerc;
+
+ Int_t fQPercDet; // detector used for q-vector (0-V0A, 1-V0C)
+ Int_t fEPDet; // detector used for event plane (0-V0A, 1-V0C)
+
+ Double_t fPsiEPmix;
+ Double_t fPsiEPmixtemp;
+
+ // binning for histograms
+ Int_t nKtBins;
+ Int_t nKtBins1;
+ Double_t* ktBins; //[nKtBins1]
+ Int_t nEPBins;
+ Int_t nEPBins1;
+ Double_t* epBins; //[nEPBins1]
+ Int_t nCentBins;
+ Int_t nCentBins1;
+ Double_t* centBins; //[nCentBins1]
+ Int_t nVzBins;
+ Int_t nVzBins1;
+ Double_t* vzBins; //[nVzBins1]
+
+ Double_t vertex[3];
+
+ TH3F***** hq;
+ TH3F***** hqmix;
+
+ ClassDef(AliAnalysisTaskFemtoESE, 1);
+};
+
+
+class AliFemtoESEBasicParticle : public AliAODTrack
+{
+ public:
+ AliFemtoESEBasicParticle(Double_t En, Double_t px, Double_t py, Double_t pz, Short_t charge, Double_t phi, Double_t eta)
+ : fE(En), fPx(px), fPy(py), fPz(pz), fCharge(charge), fPhi(phi), fEta(eta), fPsiEP(0.0)
+ {
+ }
+ ~AliFemtoESEBasicParticle() {}
+
+ // kinematics
+ virtual Double_t Px() const { return fPx;}
+ virtual Double_t Py() const { return fPy; }
+ virtual Double_t Pz() const { return fPz; }
+ virtual Double_t Pt() const { return sqrt(fPx*fPx+fPy*fPy); }
+ virtual Double_t P() const { return sqrt(fPx*fPx+fPy*fPy+fPz*fPz);; }
+ virtual Bool_t PxPyPz(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
+
+ virtual Double_t Xv() const { AliFatal("Not implemented"); return 0; }
+ virtual Double_t Yv() const { AliFatal("Not implemented"); return 0; }
+ virtual Double_t Zv() const { AliFatal("Not implemented"); return 0; }
+ virtual Bool_t XvYvZv(Double_t[3]) const { AliFatal("Not implemented"); return 0; }
+
+ virtual Double_t OneOverPt() const { AliFatal("Not implemented"); return 0; }
+ virtual Double_t Phi() const { return fPhi; }
+ virtual Double_t Theta() const { AliFatal("Not implemented"); return 0; }
+
+ virtual Double_t E() const { return fE; }
+ virtual Double_t M() const { AliFatal("Not implemented"); return 0; }
+
+ virtual Double_t Eta() const { return fEta; }
+ virtual Double_t Y() const { AliFatal("Not implemented"); return 0; }
+
+ virtual Short_t Charge() const { return fCharge; }
+ virtual Int_t GetLabel() const { AliFatal("Not implemented"); return 0; }
+ // PID
+ virtual Int_t PdgCode() const { AliFatal("Not implemented"); return 0; }
+ virtual const Double_t *PID() const { AliFatal("Not implemented"); return 0; }
+
+ void SetPsiEP(Double_t psi) {fPsiEP = psi;}
+ Double_t GetPsiEP() {return fPsiEP;}
+
+ /*void SetTPCClusterMap(TBits b){fClusterMap = TBits(b);};
+ void SetTPCSharedMap(TBits b){fSharedMap = TBits(b);};
+ TBits GetTPCClusterMap(){return fClusterMap;};
+ TBits GetTPCSharedMap(){return fSharedMap;};*/
+
+private:
+ Double_t fE;
+ Double_t fPx;
+ Double_t fPy;
+ Double_t fPz;
+ Short_t fCharge;
+ Double_t fPhi;
+ Double_t fEta;
+ Double_t fPsiEP;
+ //TBits fClusterMap;
+ //TBits fSharedMap;
+
+
+ ClassDef( AliFemtoESEBasicParticle, 1);
+};
+
+#endif
--- /dev/null
+AliAnalysisTaskFemtoESE *AddTaskFemtoESE(Double_t qmin = 0, Double_t qmax = 100, Int_t EPdet = 1, Int_t qdet = 0)
+{
+ // Get the pointer to the existing analysis manager via the static access method.
+ //==============================================================================
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Error("AddTaskFemtoESEtest", "No analysis manager to connect to.");
+ return NULL;
+ }
+
+ TString taskname = Form("FemtoESETask_qperc%.2i_%.2i_EP%i_q%i",(Int_t)qmin,(Int_t)qmax,EPdet,qdet);
+
+ // Create the task and configure it.
+ //===========================================================================
+ AliAnalysisTaskFemtoESE* ana = new AliAnalysisTaskFemtoESE(taskname);
+
+ ana->SetQPercCuts(qmin,qmax);
+ ana->SetEPDetector(EPdet); // detector used for event plane (0-V0A, 1-V0C)
+ ana->SetQPercDetector(qdet); // detector used for q-vector (0-V0A, 1-V0C)
+
+ mgr->AddTask(ana);
+
+ // Create ONLY the output containers for the data produced by the task.
+ // Get and connect other common input/output containers via the manager as below
+ //==============================================================================
+
+ TString contname(taskname);
+ contname += "_output";
+
+ TString outputFileName = AliAnalysisManager::GetCommonFileName();
+
+ AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
+ AliAnalysisDataContainer *coutputA = mgr->CreateContainer(contname, TList::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
+ AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("HelperPIDOutput_%s",contname.Data()), AliHelperPID::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
+
+ //connect containers
+ mgr->ConnectInput(ana, 0, cinput);
+ mgr->ConnectOutput(ana, 1, coutputA);
+ mgr->ConnectOutput(ana, 2, coutput1);
+ mgr->AddTask(ana);
+ return ana;
+
+}
--- /dev/null
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ class AliAnalysisTaskFemtoESE+;
+#pragma link C++ class AliFemtoESEBasicParticle+;
//in case there is a histogram manager, fill the QA histograms
if (fHistos && fSignalsMC) FillMCHistograms(ev1);
if (fHistos) FillHistograms(ev1);
-
+ // fill histo array with event information only
+ if (fHistoArray && fHistoArray->IsEventArray())
+ fHistoArray->Fill(0,const_cast<Double_t *>(AliDielectronVarManager::GetData()),0x0,0x0);
// clear arrays
if (!fDontClearArrays) ClearArrays();
fAxes(kMaxCuts),
fHasMC(kFALSE),
fStepGenerated(kFALSE),
+ fEventArray(kFALSE),
fRefObj(1)
{
//
fAxes(kMaxCuts),
fHasMC(kFALSE),
fStepGenerated(kFALSE),
+ fEventArray(kFALSE),
fRefObj(1)
{
//
// fill the pure MC part of the container starting from a pair of 2 particles (part1 and part2 are legs)
//
// fill only if we have asked for these steps
- if(!fStepGenerated) return;
+ if(!fStepGenerated || fEventArray) return;
AliVParticle* part1 = AliDielectronMC::Instance()->GetMCTrackFromMCEvent(label1);
AliVParticle* part2 = AliDielectronMC::Instance()->GetMCTrackFromMCEvent(label2);
////////////////////////////// if(fHasMC && pairIndex!=AliDielectron::kEv1PM) return;
// only selected pair types in case of data
- if(!IsPairTypeSelected(pairIndex)) return;
+ if(!IsPairTypeSelected(pairIndex) || fEventArray) return;
// get event and pair variables
Double_t valuesPair[AliDielectronVarManager::kNMaxValues];
fHasMC=AliDielectronMC::Instance()->HasMC();
Int_t steps = 0;
if(fHasMC) steps=fSignalsMC->GetEntries();
- if(fStepGenerated) steps*=2;
+ if(fStepGenerated) steps*=2;
+ if(fEventArray) steps=1;
// init pair type array
fArrPairType.SetName(Form("%s_HF",GetName()));
- if(fHasMC && fPairType==kMConly) fArrPairType.Expand(steps);
+ if( (fHasMC && fPairType==kMConly) || fEventArray) fArrPairType.Expand(steps);
else fArrPairType.Expand(AliDielectron::kEv1PMRot+1+steps);
Int_t size = GetNumberOfBins();
sizeAdd*=nbins;
} //end: cut loop
- // copy array to the selected pair types/ MC sources
-
- // pair types
+ // copy array to the selected event, pair types/ MC sources
Int_t istep=0;
- if(fPairType != kMConly) {
- for(istep=0; istep<AliDielectron::kEv1PMRot+1; istep++) {
-
- if(IsPairTypeSelected(istep)) {
- // add a deep copy of the array
- fArrPairType[istep]=(TObjArray*)histArr->Clone(AliDielectron::PairClassName(istep));
- ((TObjArray*)fArrPairType[istep])->SetOwner();
- }
- else {
- fArrPairType[istep]=new TObjArray(0);
- ((TObjArray*)fArrPairType[istep])->SetOwner();
- ((TObjArray*)fArrPairType[istep])->SetName(AliDielectron::PairClassName(istep));
- }
- } //end: loop over pair types
- }
- // mc sources
- if(fHasMC) {
- for(Int_t i=0; i<fSignalsMC->GetEntries(); i++) {
- TString title = Form("(Signal: %s)",fSignalsMC->At(i)->GetTitle());
- fArrPairType[istep+i]=(TObjArray*)histArr->Clone(title.Data());
- if(fStepGenerated) {
- title+=" MC truth";
- fArrPairType[istep+i+fSignalsMC->GetEntries()]=(TObjArray*)histArr->Clone(title.Data());
- }
- } // end: loop over sources
+ ////////////////// only event array
+ if(fEventArray) {
+ // add a deep copy of the array
+ fArrPairType[istep]=(TObjArray*)histArr->Clone("Event");
+ ((TObjArray*)fArrPairType[istep])->SetOwner();
}
+ else {
+ /////////////// pair types
+ if(fPairType != kMConly) {
+ for(istep=0; istep<AliDielectron::kEv1PMRot+1; istep++) {
+
+ // pair type should be filled
+ if(IsPairTypeSelected(istep)) {
+ // add a deep copy of the array
+ fArrPairType[istep]=(TObjArray*)histArr->Clone(AliDielectron::PairClassName(istep));
+ ((TObjArray*)fArrPairType[istep])->SetOwner();
+ }
+ else { //empty array
+ fArrPairType[istep]=new TObjArray(0);
+ ((TObjArray*)fArrPairType[istep])->SetOwner();
+ ((TObjArray*)fArrPairType[istep])->SetName(AliDielectron::PairClassName(istep));
+ }
+ } //end: loop over pair types
+ }
+ // mc sources
+ if(fHasMC) {
+ for(Int_t i=0; i<fSignalsMC->GetEntries(); i++) {
+ TString title = Form("(Signal: %s)",fSignalsMC->At(i)->GetTitle());
+ fArrPairType[istep+i]=(TObjArray*)histArr->Clone(title.Data());
+ if(fStepGenerated) {
+ title+=" MC truth";
+ fArrPairType[istep+i+fSignalsMC->GetEntries()]=(TObjArray*)histArr->Clone(title.Data());
+ }
+ } // end: loop over sources
+ } //end: hasMC
+ } //end: pair type array
// clean up
if(histArr) {
void SetSignalsMC(TObjArray* array) {fSignalsMC = array;}
void SetStepForMCGenerated(Bool_t switcher=kTRUE) {fStepGenerated = switcher;}
void SetPairTypes(EPairType ptype) { fPairType=ptype; }
+ void SetEventArray(Bool_t switcher=kTRUE) {fEventArray=switcher;}
// functions to add 1-dimensional objects
void UserProfile(const char* histClass, UInt_t valTypeP,
Int_t GetNumberOfBins() const;
const TObjArray * GetHistArray() const { return &fArrPairType; }
- Bool_t GetStepForMCGenerated() const { return fStepGenerated; }
+ Bool_t GetStepForMCGenerated() const { return fStepGenerated; }
+ Bool_t IsEventArray() const { return fEventArray; }
+
+
private:
TBits *fUsedVars; // list of used variables
Bool_t fHasMC; // is mc array
Bool_t fStepGenerated; // switcher for generated particles
-
+ Bool_t fEventArray; // switch OFF pair types and ON event array
TObjArray fRefObj; // reference object
AliDielectronHF(const AliDielectronHF &c);
AliDielectronHF &operator=(const AliDielectronHF &c);
- ClassDef(AliDielectronHF,5) // Dielectron HF
+ ClassDef(AliDielectronHF,6) // Dielectron HF
};
// store which variables are used
for(Int_t i=0; i<4; i++) fUsedVars->SetBitNumber(valType[i],kTRUE);
- fUsedVars->SetBitNumber(valTypeW,kTRUE);
+ if(valTypeW!=kNoWeights) fUsedVars->SetBitNumber(valTypeW,kTRUE);
// adapt the name and title of the histogram in case they are empty
AdaptNameTitle(hist, histClass);
UInt_t varz = hist->GetZaxis()->GetUniqueID();
UInt_t varp = hist->GetUniqueID();
Bool_t weight = (varp!=kNoWeights);
+ if(bprf && dim==3) weight=kFALSE; // no weighting for profile3D
// store titles in the axis
if(btitle) {
currentName+=Form("%s_",AliDielectronVarManager::GetValueName(vary));
currentName+=Form("%s",AliDielectronVarManager::GetValueName(varz));
if(bprf) currentName+=Form("-%s%s",AliDielectronVarManager::GetValueName(varp),(bStdOpt ? "avg" : "rms"));
- if(weight) currentName+=Form("-wght%s",AliDielectronVarManager::GetValueName(varp));
+ if(weight&&!bprf) currentName+=Form("-wght%s",AliDielectronVarManager::GetValueName(varp));
break;
case 2:
currentName+=Form("%s_",AliDielectronVarManager::GetValueName(varx));
if(IsDataMC())
{
- Int_t tag = GetMCAnalysisUtils()->CheckOrigin(labels,nLabel, GetReader());
+ Int_t tag = GetMCAnalysisUtils()->CheckOrigin(labels,nLabel, GetReader(),fCalorimeter);
if( GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCPhoton) &&
!GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCPi0) &&
!GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCEta) &&
Int_t charge = 0;
//Check the origin.
- Int_t tag = GetMCAnalysisUtils()->CheckOrigin(labels,nLabels, GetReader());
+ Int_t tag = GetMCAnalysisUtils()->CheckOrigin(labels,nLabels, GetReader(),fCalorimeter);
if ( GetReader()->ReadStack() &&
!GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCUnknown))
Int_t tagMC = -1;
if(IsDataMC() && clus->GetNLabels() > 0)
{
- Int_t tag = GetMCAnalysisUtils()->CheckOrigin(clus->GetLabels(),clus->GetNLabels(), GetReader());
+ Int_t tag = GetMCAnalysisUtils()->CheckOrigin(clus->GetLabels(),clus->GetNLabels(), GetReader(),fCalorimeter);
if( GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCPhoton) &&
!GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCPi0) &&
Int_t tag = -1 ;
if(IsDataMC())
{
- tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader());
+ tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(),fCalorimeter);
if(GetDebug() > 0)
printf("AliAnaElectron::MakeAnalysisFillAOD() - Origin of candidate, bit map %d\n",tag);
// Assign mc index depending on MC bit set, to be used in histograms arrays
- tag = GetMCAnalysisUtils()->CheckOrigin(cluster->GetLabels(),cluster->GetNLabels(), GetReader());
+ tag = GetMCAnalysisUtils()->CheckOrigin(cluster->GetLabels(),cluster->GetNLabels(), GetReader(),fCalorimeter);
if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) &&
!GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) mcindex = kmcPi0;
//Initialize parameters
InitParameters();
- for(Int_t i = 0; i < 7; i++)
+ for(Int_t i = 0; i < fgkNmcTypes; i++)
{
fhPtTriggerMC[i] = 0;
fhXEChargedMC[i] = 0;
{
Int_t mcIndex = GetMCTagHistogramIndex(mcTag);
fhDeltaPhiChargedMC[mcIndex]->Fill(ptTrig , deltaPhi);
- }
+ if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==2 )
+ fhDeltaPhiChargedMC[7]->Fill(ptTrig , deltaPhi);
+ }
if(fDecayTrigger && decayTag > 0)
{
//___________________________________________________________________________________________________________________________________
Bool_t AliAnaParticleHadronCorrelation::FillChargedMCCorrelationHistograms(Float_t mcAssocPt, Float_t mcAssocPhi, Float_t mcAssocEta,
Float_t mcTrigPt, Float_t mcTrigPhi, Float_t mcTrigEta,
- Int_t histoIndex)
+ Int_t histoIndex, Bool_t lostDecayPair)
{
// Fill MC histograms independently of AOD or ESD
fhMCPtTrigPout [histoIndex]->Fill(mcTrigPt, mcpout) ;
}
+ if(histoIndex==2 && lostDecayPair && 7 >= fMCGenTypeMin && 7 <= fMCGenTypeMax )
+ {
+ fhMCEtaCharged [7]->Fill(mcAssocPt, mcAssocEta);
+ fhMCPhiCharged [7]->Fill(mcAssocPt, mcAssocPhi);
+ fhMCDeltaEtaCharged[7]->Fill(mcTrigPt , mcTrigEta-mcAssocEta);
+ fhMCDeltaPhiCharged[7]->Fill(mcTrigPt , mcdeltaPhi);
+ fhMCPtAssocDeltaPhi[7]->Fill(mcAssocPt, mcdeltaPhi);
+
+ fhMCDeltaPhiDeltaEtaCharged[7]->Fill(mcdeltaPhi,mcTrigEta-mcAssocEta);
+
+ //delta phi cut for correlation
+ if( (mcdeltaPhi > fDeltaPhiMinCut) && (mcdeltaPhi < fDeltaPhiMaxCut) )
+ {
+ fhMCDeltaPhiChargedPt[7]->Fill(mcAssocPt,mcdeltaPhi);
+ fhMCPtXECharged [7]->Fill(mcTrigPt, mcxE);
+ fhMCPtHbpXECharged [7]->Fill(mcTrigPt, mchbpXE);
+ fhMCPtZTCharged [7]->Fill(mcTrigPt, mczT);
+ fhMCPtHbpZTCharged [7]->Fill(mcTrigPt, mchbpZT);
+ fhMCPtTrigPout [7]->Fill(mcTrigPt, mcpout) ;
+ }
+ }
+
// Underlying event
// Right
if(mcUezT > 0) fhMCPtHbpZTUeCharged[histoIndex]->Fill(mcTrigPt,TMath::Log(1/mcUezT));
fhMCUePart[histoIndex]->Fill(mcTrigPt);
+
+ if(histoIndex==2 && lostDecayPair && 7 >= fMCGenTypeMin && 7 <= fMCGenTypeMax )
+ {
+ fhMCPtXEUeCharged[7]->Fill(mcTrigPt,mcUexE);
+ if(mcUexE > 0) fhMCPtHbpXEUeCharged[histoIndex]->Fill(mcTrigPt,TMath::Log(1/mcUexE));
+
+ fhMCPtZTUeCharged[7]->Fill(mcTrigPt,mcUezT);
+ if(mcUezT > 0) fhMCPtHbpZTUeCharged[histoIndex]->Fill(mcTrigPt,TMath::Log(1/mcUezT));
+
+ fhMCUePart[7]->Fill(mcTrigPt);
+ }
}
if(fMakeSeveralUE)
fhMCPtZTUeLeftCharged[histoIndex]->Fill(mcTrigPt,mcUezT);
if(mcUezT > 0) fhMCPtHbpZTUeLeftCharged[histoIndex]->Fill(mcTrigPt,TMath::Log(1/mcUezT));
+
+ if(histoIndex==2 && lostDecayPair && 7 >= fMCGenTypeMin && 7 <= fMCGenTypeMax )
+ {
+ fhMCPtXEUeLeftCharged[7]->Fill(mcTrigPt,mcUexE);
+ if(mcUexE > 0) fhMCPtHbpXEUeLeftCharged[7]->Fill(mcTrigPt,TMath::Log(1/mcUexE));
+
+ fhMCPtZTUeLeftCharged[7]->Fill(mcTrigPt,mcUezT);
+ if(mcUezT > 0) fhMCPtHbpZTUeLeftCharged[7]->Fill(mcTrigPt,TMath::Log(1/mcUezT));
+ }
}
}
{
Int_t mcIndex = GetMCTagHistogramIndex(mcTag);
fhXEChargedMC[mcIndex]->Fill(ptTrig , xE);
+ if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==2 )
+ fhXEChargedMC[7]->Fill(ptTrig , xE);
}
// Pile up studies
Int_t nMixBins = GetNCentrBin()*GetNZvertBin()*GetNRPBin();
- TString nameMC[] = {"Photon","Pi0","Pi0Decay","EtaDecay","OtherDecay","Electron","Hadron"};
+ TString nameMC[] = {"Photon","Pi0","Pi0Decay","EtaDecay","OtherDecay","Electron","Hadron","Pi0DecayLostPair"};
TString pileUpName[] = {"SPD","EMCAL","SPDOrEMCAL","SPDAndEMCAL","SPDAndNotEMCAL","EMCALAndNotSPD","NotSPDAndNotEMCAL"} ;
// For vz dependent histograms, if option ON
if(IsDataMC())
{
- for(Int_t i=0; i < 7; i++)
+ for(Int_t i=0; i < fgkNmcTypes; i++)
{
fhPtTriggerMC[i] = new TH1F(Form("hPtTrigger_MC%s",nameMC[i].Data()),
Form("#it{p}_{T} distribution of trigger particles, trigger origin is %s",nameMC[i].Data()),
if(IsDataMC())
{
- for(Int_t i=0; i < 7; i++)
+ for(Int_t i=0; i < fgkNmcTypes; i++)
{
fhPtDecayTriggerMC[ibit][i] = new TH1F(Form("hPtDecayTrigger_bit%d_MC%s",fDecayBits[ibit], nameMC[i].Data()),
Form("#it{p}_{T} distribution of trigger particles, decay Bit %d, trigger origin is %s",fDecayBits[ibit], nameMC[i].Data()),
if(IsDataMC())
{
- for(Int_t i=0; i < 7; i++)
+ for(Int_t i=0; i < fgkNmcTypes; i++)
{
fhDeltaPhiChargedMC[i] = new TH2F(Form("hDeltaPhiCharged_MC%s",nameMC[i].Data()),
// MC
Int_t mcIndex = -1;
+ Int_t mcTag = particle->GetTag();
+ Bool_t lostDecayPair = kFALSE;
if(IsDataMC())
{
- mcIndex = GetMCTagHistogramIndex(particle->GetTag());
- MakeMCChargedCorrelation(particle->GetLabel(), mcIndex);
+ mcIndex = GetMCTagHistogramIndex(mcTag);
+ lostDecayPair = GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCDecayPairLost);
+ MakeMCChargedCorrelation(particle->GetLabel(), mcIndex,lostDecayPair);
}
// Do own mixed event with charged,
// pT of the trigger, vs trigger origin if MC
//
fhPtTrigger->Fill(pt);
- if(IsDataMC() && mcIndex >=0 && mcIndex < 7)
+ if(IsDataMC() && mcIndex >=0 && mcIndex < fgkNmcTypes)
+ {
fhPtTriggerMC[mcIndex]->Fill(pt);
+ if( lostDecayPair && mcIndex==2 )
+ fhPtTriggerMC[7]->Fill(pt);
+ }
if(fDecayTrigger)
{
{
fhPtDecayTrigger[ibit]->Fill(pt);
- if(IsDataMC() && mcIndex >=0 && mcIndex < 7)
+ if(IsDataMC() && mcIndex >=0 && mcIndex < fgkNmcTypes)
+ {
fhPtDecayTriggerMC[ibit][mcIndex]->Fill(pt);
+ if(lostDecayPair && mcIndex==2 )
+ fhPtDecayTriggerMC[ibit][7]->Fill(pt);
+ }
}
}
}
}
}
-//____________________________________________________________________________________________
-void AliAnaParticleHadronCorrelation::MakeMCChargedCorrelation(Int_t label, Int_t histoIndex)
+//__________________________________________________________________________________________________________________
+void AliAnaParticleHadronCorrelation::MakeMCChargedCorrelation(Int_t label, Int_t histoIndex, Bool_t lostDecayPair)
{
// Charged Hadron Correlation Analysis with MC information
Float_t phi = particle->Phi();
if(phi < 0) phi+=TMath::TwoPi();
- Bool_t lead = FillChargedMCCorrelationHistograms(particle->Pt(),phi,particle->Eta(),ptprim,phiprim,etaprim,histoIndex);
+ Bool_t lead = FillChargedMCCorrelationHistograms(particle->Pt(),phi,particle->Eta(),ptprim,phiprim,etaprim,histoIndex,lostDecayPair);
if(!lead) leadTrig = kFALSE;
//if ( !lead && (fMakeAbsoluteLeading || fMakeNearSideLeading) ) return;
Float_t phi = part->Phi();
if(phi < 0) phi+=TMath::TwoPi();
- Bool_t lead = FillChargedMCCorrelationHistograms(part->Pt(),phi,part->Eta(),ptprim,phiprim,etaprim, histoIndex);
+ Bool_t lead = FillChargedMCCorrelationHistograms(part->Pt(),phi,part->Eta(),ptprim,phiprim,etaprim, histoIndex,lostDecayPair);
if(!lead) leadTrig = kFALSE;
//if ( !lead && (fMakeAbsoluteLeading || fMakeNearSideLeading)) return;
fhMCPhiTrigger[histoIndex]->Fill(ptprim,phiprim);
fhMCEtaTrigger[histoIndex]->Fill(ptprim,etaprim);
+ if(histoIndex==2 && lostDecayPair && 7 >= fMCGenTypeMin && 7 <= fMCGenTypeMax )
+ {
+ fhMCPtTrigger [7]->Fill(ptprim);
+ fhMCPhiTrigger[7]->Fill(ptprim,phiprim);
+ fhMCEtaTrigger[7]->Fill(ptprim,etaprim);
+ }
+
if(!leadTrig && (fMakeAbsoluteLeading || fMakeNearSideLeading) )
{
if(GetDebug() > 1)
fhMCPtTriggerNotLeading [histoIndex]->Fill(ptprim);
fhMCPhiTriggerNotLeading[histoIndex]->Fill(ptprim,phiprim);
fhMCEtaTriggerNotLeading[histoIndex]->Fill(ptprim,etaprim);
+
+ if(histoIndex==2 && lostDecayPair && 7 >= fMCGenTypeMin && 7 <= fMCGenTypeMax )
+ {
+ fhMCPtTriggerNotLeading [7]->Fill(ptprim);
+ fhMCPhiTriggerNotLeading[7]->Fill(ptprim,phiprim);
+ fhMCEtaTriggerNotLeading[7]->Fill(ptprim,etaprim);
+ }
}
}
void MakeNeutralCorrelation (AliAODPWG4ParticleCorrelation * particle) ;
- void MakeMCChargedCorrelation (Int_t triggerMCLable, Int_t histoIndex) ;
+ void MakeMCChargedCorrelation (Int_t triggerMCLable, Int_t histoIndex, Bool_t lostDecayPair) ;
void MakeChargedMixCorrelation(AliAODPWG4ParticleCorrelation * particle) ;
void FillChargedEventMixPool();
Bool_t FillChargedMCCorrelationHistograms (Float_t mcAssocPt, Float_t mcAssocPhi, Float_t mcAssocEta,
- Float_t mcTrigPt, Float_t mcTrigPhi, Float_t mcTrigEta, Int_t histoIndex);
-
+ Float_t mcTrigPt, Float_t mcTrigPhi, Float_t mcTrigEta,
+ Int_t histoIndex, Bool_t lostDecayPair);
void FillChargedMomentumImbalanceHistograms (Float_t ptTrig, Float_t ptAssoc,
Float_t deltaPhi, Int_t cenbin, Int_t charge,
Float_t deltaPhi);
Int_t GetMCTagHistogramIndex(Int_t tag);
-
+ static const Int_t fgkNmcTypes = 8;
+
Bool_t IsTriggerTheEventLeadingParticle();
// Parameter setter and getter
void SwitchOnFillPtImbalancePerPtABinHistograms() { fFillMomImbalancePtAssocBinsHisto = kTRUE ; }
void SwitchOffFillPtImbalancePerPtABinHistograms() { fFillMomImbalancePtAssocBinsHisto = kFALSE ; }
- void SetMCGenType(Int_t min = 0, Int_t max = 6) { if(min >= 0 && min < 7) fMCGenTypeMin = min ;
- if(max >= 0 && max < 7) fMCGenTypeMax = max ; }
+ void SetMCGenType(Int_t min = 0, Int_t max = 6) { if(min >= 0 && min < fgkNmcTypes) fMCGenTypeMin = min ;
+ if(max >= 0 && max < fgkNmcTypes) fMCGenTypeMax = max ; }
private:
Bool_t fFillEtaGapsHisto; // Fill azimuthal correlation histograms in 2 eta gaps, |eta|>0.8 and |eta|<0.01
Bool_t fFillMomImbalancePtAssocBinsHisto; // momentum imbalance histograms in bins of pT associated
- Int_t fMCGenTypeMin; // Of the 7 possible types, select those between fMCGenTypeMin and fMCGenTypeMax
- Int_t fMCGenTypeMax; // Of the 7 possible types, select those between fMCGenTypeMin and fMCGenTypeMax
+ Int_t fMCGenTypeMin; // Of the fgkNmcTypes possible types, select those between fMCGenTypeMin and fMCGenTypeMax
+ Int_t fMCGenTypeMax; // Of the fgkNmcTypes possible types, select those between fMCGenTypeMin and fMCGenTypeMax
//Histograms
TH2F * fhPhiTrigger; //! phi distribution vs pT of trigger particles
TH2F * fhEtaTrigger; //! eta distribution vs pT of trigger particles
- TH1F * fhPtTriggerMC[7]; //! pT distribution of trigger particles, check the origin of the cluster : "Photon","Pi0","Pi0Decay","EtaDecay","OtherDecay","Electron","Hadron"
+ TH1F * fhPtTriggerMC[fgkNmcTypes]; //! pT distribution of trigger particles, check the origin of the cluster : "Photon","Pi0","Pi0Decay","EtaDecay","OtherDecay","Electron","Hadron"
TH1F * fhPtDecayTrigger[4]; //! pT distribution of trigger particles, tagged as decay
- TH1F * fhPtDecayTriggerMC[4][7]; //! pT distribution of trigger particles, tagged as decay, check the origin of the cluster
+ TH1F * fhPtDecayTriggerMC[4][fgkNmcTypes];//! pT distribution of trigger particles, tagged as decay, check the origin of the cluster
TH2F * fhPtTriggerCentrality; //! pT distribution of trigger particles vs centrality
TH2F * fhPtTriggerEventPlane; //! pT distribution of trigger particles vs centrality
TH2F * fhPtHbpZTCharged ; //! Trigger particle -charged hadron momentum HBP histogram
TH2F * fhPtHbpZTUeCharged ; //! Trigger particle -underlying charged hadron momentum HBP histogram
- TH2F * fhXEChargedMC[7] ; //! Trigger particle -charged hadron momentum imbalance histogram, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
- TH2F * fhDeltaPhiChargedMC[7] ; //! Trigger particle -charged hadron delta phi histogram, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
+ TH2F * fhXEChargedMC[fgkNmcTypes] ; //! Trigger particle -charged hadron momentum imbalance histogram, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
+ TH2F * fhDeltaPhiChargedMC[fgkNmcTypes];//! Trigger particle -charged hadron delta phi histogram, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
TH2F * fhDeltaPhiDeltaEtaChargedPtA3GeV;//! differences of eta and phi between trigger and charged hadrons, pTa > 3 GeV
TH2F * fhDeltaPhiChargedPtA3GeV ; //! Difference of charged particle phi and trigger particle phi as function of trigger particle pT, pTa > 3 GeV
// If the data is MC, correlation with generated particles
// check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0),
// hadron, rest of photons (prompt, FSR, ISR)
- TH1F * fhMCPtTrigger[7]; //! MC pure pT distribution of trigger particles
- TH2F * fhMCPhiTrigger[7]; //! MC pure Phi distribution of trigger particles
- TH2F * fhMCEtaTrigger[7]; //! MC pure Eta distribution of trigger particles
- TH1F * fhMCPtTriggerNotLeading[7]; //! MC pure pT distribution of trigger not leading particles
- TH2F * fhMCPhiTriggerNotLeading[7]; //! MC pure Phi distribution of trigger not leading particles
- TH2F * fhMCEtaTriggerNotLeading[7]; //! MC pure Eta distribution of trigger not leading particles
- TH2F * fhMCEtaCharged[7]; //! MC pure particles charged primary pt vs eta (both associated)
- TH2F * fhMCPhiCharged[7]; //! MC pure particles charged primary pt vs phi (both associated)
- TH2F * fhMCDeltaEtaCharged[7]; //! MC pure particles charged trigger primary pt vs delta eta (associated-trigger)
- TH2F * fhMCDeltaPhiCharged[7]; //! MC pure particles charged trigger primary pt vs delta phi (associated-trigger)
- TH2F * fhMCDeltaPhiDeltaEtaCharged[7]; //! MC pure particles charged associated primary pt vs delta phi (associated-trigger), in away side
- TH2F * fhMCDeltaPhiChargedPt[7]; //! MC pure particles charged delta phi vs delta eta (associated-trigger)
- TH2F * fhMCPtXECharged[7]; //! MC pure particles charged trigger primary pt vs xE
- TH2F * fhMCPtXEUeCharged[7]; //! MC pure particles charged trigger primary pt vs xE (underlying event)
- TH2F * fhMCPtXEUeLeftCharged[7]; //! MC pure particles charged trigger primary pt vs xE (underlying event,left cone)
- TH2F * fhMCPtHbpXECharged[7]; //! MC pure particles charged trigger primary pt vs ln(1/xE)
- TH2F * fhMCPtHbpXEUeCharged[7]; //! MC pure particles charged trigger primary pt vs ln(1/xE) (underlying event)
- TH2F * fhMCPtHbpXEUeLeftCharged[7]; //! MC pure particles charged trigger primary pt vs ln(1/xE) (underlying event, left cone)
- TH1F * fhMCUePart[7]; //! MC pure UE particles distribution vs pt trig
- TH2F * fhMCPtZTCharged[7]; //! MC pure particles charged trigger primary pt vs zT
- TH2F * fhMCPtZTUeCharged[7]; //! MC pure particles charged trigger primary pt vs zT (underlying event)
- TH2F * fhMCPtZTUeLeftCharged[7]; //! MC pure particles charged trigger primary pt vs zT (underlying event, left cone)
- TH2F * fhMCPtHbpZTCharged[7]; //! MC pure particles charged trigger primary pt vs ln(1/zT)
- TH2F * fhMCPtHbpZTUeCharged[7]; //! MC pure particles charged trigger primary pt vs ln(1/zT) (underlying event)
- TH2F * fhMCPtHbpZTUeLeftCharged[7]; //! MC pure particles charged trigger primary pt vs ln(1/zT) (underlying event, left cone)
- TH2F * fhMCPtTrigPout[7]; //! MC pure particles charged trigger primary pt vs pOut
- TH2F * fhMCPtAssocDeltaPhi[7]; //! MC pure particles charged associated primary pt vs delta phi (associated-trigger)
+ TH1F * fhMCPtTrigger[fgkNmcTypes]; //! MC pure pT distribution of trigger particles
+ TH2F * fhMCPhiTrigger[fgkNmcTypes]; //! MC pure Phi distribution of trigger particles
+ TH2F * fhMCEtaTrigger[fgkNmcTypes]; //! MC pure Eta distribution of trigger particles
+ TH1F * fhMCPtTriggerNotLeading[fgkNmcTypes]; //! MC pure pT distribution of trigger not leading particles
+ TH2F * fhMCPhiTriggerNotLeading[fgkNmcTypes]; //! MC pure Phi distribution of trigger not leading particles
+ TH2F * fhMCEtaTriggerNotLeading[fgkNmcTypes]; //! MC pure Eta distribution of trigger not leading particles
+ TH2F * fhMCEtaCharged[fgkNmcTypes]; //! MC pure particles charged primary pt vs eta (both associated)
+ TH2F * fhMCPhiCharged[fgkNmcTypes]; //! MC pure particles charged primary pt vs phi (both associated)
+ TH2F * fhMCDeltaEtaCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs delta eta (associated-trigger)
+ TH2F * fhMCDeltaPhiCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs delta phi (associated-trigger)
+ TH2F * fhMCDeltaPhiDeltaEtaCharged[fgkNmcTypes]; //! MC pure particles charged associated primary pt vs delta phi (associated-trigger), in away side
+ TH2F * fhMCDeltaPhiChargedPt[fgkNmcTypes]; //! MC pure particles charged delta phi vs delta eta (associated-trigger)
+ TH2F * fhMCPtXECharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs xE
+ TH2F * fhMCPtXEUeCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs xE (underlying event)
+ TH2F * fhMCPtXEUeLeftCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs xE (underlying event,left cone)
+ TH2F * fhMCPtHbpXECharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs ln(1/xE)
+ TH2F * fhMCPtHbpXEUeCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs ln(1/xE) (underlying event)
+ TH2F * fhMCPtHbpXEUeLeftCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs ln(1/xE) (underlying event, left cone)
+ TH1F * fhMCUePart[fgkNmcTypes]; //! MC pure UE particles distribution vs pt trig
+ TH2F * fhMCPtZTCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs zT
+ TH2F * fhMCPtZTUeCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs zT (underlying event)
+ TH2F * fhMCPtZTUeLeftCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs zT (underlying event, left cone)
+ TH2F * fhMCPtHbpZTCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs ln(1/zT)
+ TH2F * fhMCPtHbpZTUeCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs ln(1/zT) (underlying event)
+ TH2F * fhMCPtHbpZTUeLeftCharged[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs ln(1/zT) (underlying event, left cone)
+ TH2F * fhMCPtTrigPout[fgkNmcTypes]; //! MC pure particles charged trigger primary pt vs pOut
+ TH2F * fhMCPtAssocDeltaPhi[fgkNmcTypes]; //! MC pure particles charged associated primary pt vs delta phi (associated-trigger)
// Mixing
TH1I * fhNEventsTrigger; //! number of analyzed triggered events
fhConeSumPtVSUETracksEtaBand(0), fhConeSumPtVSUETracksPhiBand(0),
fhConeSumPtVSUEClusterEtaBand(0), fhConeSumPtVSUEClusterPhiBand(0),
fhPtPrimMCPi0DecayPairOutOfCone(0), fhPtPrimMCPi0DecayPairOutOfAcceptance(0),
-fhPtPrimMCPi0DecayPairAcceptInConeLowPt(0), fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlap(0),
+fhPtPrimMCPi0DecayPairAcceptInConeLowPt(0), fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlap(0), fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE(0),
fhPtPrimMCPi0DecayPairNoOverlap(0),
fhPtPrimMCPi0DecayIsoPairOutOfCone(0), fhPtPrimMCPi0DecayIsoPairOutOfAcceptance(0),
-fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPt(0),fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap(0),
+fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPt(0),fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap(0), fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE(0),
fhPtPrimMCPi0DecayIsoPairNoOverlap(0),
fhPtPrimMCPi0Overlap(0), fhPtPrimMCPi0IsoOverlap(0),
fhPtLeadConeBinLambda0(0), fhSumPtConeBinLambda0(0),
if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPhoton))
fhPtLambda0MC[kmcPhoton][isolated]->Fill(pt,m02);
+ if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhPtLambda0MC[kmcPi0DecayLostPair][isolated]->Fill(pt,m02);
+
fhPtLambda0MC[mcIndex][isolated]->Fill(pt,m02);
}
// MC histograms title and name
TString mcPartType[] = { "#gamma", "#gamma_{prompt}", "#gamma_{fragmentation}",
- "#pi^{0} (merged #gamma)","#gamma_{#pi decay}",
+ "#pi^{0} (merged #gamma)","#gamma_{#pi decay}","#gamma_{#pi decay} lost companion",
"#gamma_{#eta decay}","#gamma_{other decay}",
"e^{#pm}","hadrons?"} ;
TString mcPartName[] = { "Photon","PhotonPrompt","PhotonFrag",
- "Pi0","Pi0Decay","EtaDecay","OtherDecay",
+ "Pi0","Pi0Decay","Pi0DecayLostPair","EtaDecay","OtherDecay",
"Electron","Hadron"} ;
// Primary MC histograms title and name
for(Int_t imc = 0; imc < fgkNmcTypes; imc++)
{
-
fhPtNoIsoMC[imc] = new TH1F(Form("hPtNoIsoMC%s",mcPartName[imc].Data()),
Form("#it{p}_{T} of NOT isolated %s, %s",mcPartType[imc].Data(),parTitle.Data()),
nptbins,ptmin,ptmax);
nptbins,ptmin,ptmax);
fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap->SetXTitle("#it{p}_{T} (GeV/#it{c})");
outputContainer->Add(fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap) ;
+
+ fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE = new TH1F("hPtPrim_MCPhotonPi0DecayPairAcceptInConeLowPtNoOverlapCaloE",
+ Form("primary photon %s, no overlap, pair in cone, E > calo min: #it{p}_{T}, %s",
+ pptype[kmcPrimPi0Decay].Data(),parTitle.Data()),
+ nptbins,ptmin,ptmax);
+ fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE->SetXTitle("#it{p}_{T} (GeV/#it{c})");
+ outputContainer->Add(fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE) ;
+
+ fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE = new TH1F("hPtPrim_MCisoPhotonPi0DecayPairAcceptInConeLowPtNoOverlapCaloE",
+ Form("isolated primary photon %s, pair in cone,no overlap, E > calo min: #it{p}_{T}, %s",
+ pptype[kmcPrimPi0Decay].Data(),parTitle.Data()),
+ nptbins,ptmin,ptmax);
+ fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE->SetXTitle("#it{p}_{T} (GeV/#it{c})");
+ outputContainer->Add(fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE) ;
+
fhPtPrimMCPi0DecayPairNoOverlap = new TH1F("hPtPrim_MCPhotonPi0DecayPairNoOverlap",
Form("primary photon %s, no overlap: #it{p}_{T}, %s",
fhEtaIsoMC[kmcPhoton]->Fill(pt,eta);
}
+ if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ {
+ fhPtIsoMC [kmcPi0DecayLostPair]->Fill(pt);
+ fhPhiIsoMC[kmcPi0DecayLostPair]->Fill(pt,phi);
+ fhEtaIsoMC[kmcPi0DecayLostPair]->Fill(pt,eta);
+ }
+
fhPtIsoMC [mcIndex]->Fill(pt);
fhPhiIsoMC[mcIndex]->Fill(pt,phi);
fhEtaIsoMC[mcIndex]->Fill(pt,eta);
if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPhoton))
fhPtDecayIsoMC[ibit][kmcPhoton]->Fill(pt);
+ if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhPtDecayIsoMC[ibit][kmcPi0DecayLostPair]->Fill(pt);
+
fhPtDecayIsoMC[ibit][mcIndex]->Fill(pt);
}
} // bit ok
if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPhoton) )
fhPtNoIsoMC[kmcPhoton]->Fill(pt);
+ if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhPtNoIsoMC[kmcPi0DecayLostPair]->Fill(pt);
+
fhPtNoIsoMC[mcIndex]->Fill(pt);
}
if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPhoton))
fhPtDecayNoIsoMC[ibit][kmcPhoton]->Fill(pt);
+ if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhPtDecayNoIsoMC[ibit][kmcPi0DecayLostPair]->Fill(pt);
+
fhPtDecayNoIsoMC[ibit][mcIndex]->Fill(pt);
}
} // bit ok
// Calorimeter cluster merging angle
// angle smaller than 3 cells 6 cm (0.014) in EMCal, 2.2 cm in PHOS (0.014*(2.2/6))
Float_t overlapAngle = 0;
- if (fCalorimeter=="EMCAL") overlapAngle = 3*0.014 ;
- else if (fCalorimeter=="PHOS" ) overlapAngle = 3*0.00382;
+ Float_t minECalo = 0;
+ if (fCalorimeter=="EMCAL")
+ {
+ overlapAngle = 3*0.014 ;
+ minECalo = GetReader()->GetEMCALEMin();
+ }
+ else if (fCalorimeter=="PHOS" )
+ {
+ overlapAngle = 3*0.00382;
+ minECalo = GetReader()->GetPHOSEMin();
+ }
// Get the ESD MC particles container
AliStack * stack = 0;
// Get tag of this particle photon from fragmentation, decay, prompt ...
// Set the origin of the photon.
- tag = GetMCAnalysisUtils()->CheckOrigin(i,GetReader());
+ tag = GetMCAnalysisUtils()->CheckOrigin(i,GetReader(),fIsoDetector);
if(pdg == 22 && !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
{
}
else // neutrals E cut and acceptance
{
- if( partInConeE < GetReader()->GetEMCALEMin() ) continue;
+ if( partInConeE <= minECalo ) continue;
if(!GetReader()->GetFiducialCut()->IsInFiducialCut(mcisoLV,fCalorimeter)) continue ;
fhPtPrimMCPi0DecayPairOutOfCone->Fill(photonPt);
// Second decay out of acceptance
- if(!ok2 || !d2Acc)
+ if(!ok2 || !d2Acc || daugh2mom.E() <= minECalo)
fhPtPrimMCPi0DecayPairOutOfAcceptance->Fill(photonPt);
// Not Overlapped decay
daugh2mom.E() < GetIsolationCut()->GetPtThreshold())
{
fhPtPrimMCPi0DecayPairAcceptInConeLowPt->Fill(photonPt);
- if(!overlap) fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlap->Fill(photonPt);
+ if(!overlap)
+ {
+ fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlap->Fill(photonPt);
+ if(daugh2mom.E() > minECalo)fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE->Fill(photonPt);
+ }
}
} // pi0 decay
fhPtPrimMCPi0DecayIsoPairOutOfCone->Fill(photonPt);
// Second decay out of acceptance
- if(!ok2 || !d2Acc)
+ if(!ok2 || !d2Acc || daugh2mom.E() <= minECalo)
fhPtPrimMCPi0DecayIsoPairOutOfAcceptance->Fill(photonPt);
// Second decay pt smaller than threshold
daugh2mom.E() < GetIsolationCut()->GetPtThreshold())
{
fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPt->Fill(photonPt);
- if(!overlap) fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap->Fill(photonPt);
+ if(!overlap)
+ {
+ fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap->Fill(photonPt);
+ if(daugh2mom.E() > minECalo) fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE->Fill(photonPt);
+ }
}
}// pi0 decay
if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
fhPtNoIsoMC[kmcPhoton]->Fill(ptC);
+ if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhPtNoIsoMC[kmcPi0DecayLostPair]->Fill(ptC);
+
fhPtNoIsoMC[mcIndex]->Fill(ptC);
}
{
if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
fhPtDecayNoIsoMC[ibit][kmcPhoton]->Fill(ptC);
+
+ if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhPtDecayNoIsoMC[ibit][kmcPi0DecayLostPair]->Fill(ptC);
fhPtDecayNoIsoMC[ibit][mcIndex]->Fill(ptC);
}
if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
fhSumPtLeadingPtMC[kmcPhoton][icone]->Fill(ptC,coneptsum) ;
+ if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhSumPtLeadingPtMC[kmcPi0DecayLostPair][icone]->Fill(ptC,coneptsum) ;
+
fhSumPtLeadingPtMC[mcIndex][icone]->Fill(ptC,coneptsum) ;
}
if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) )
fhPtThresIsolatedMC[kmcPhoton][icone][ipt]->Fill(ptC) ;
+ if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhPtThresIsolatedMC[kmcPi0DecayLostPair][icone][ipt]->Fill(ptC) ;
+
fhPtThresIsolatedMC[mcIndex][icone][ipt]->Fill(ptC) ;
}
if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
fhPtFracIsolatedMC[kmcPhoton][icone][ipt]->Fill(ptC) ;
+ if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhPtFracIsolatedMC[kmcPi0DecayLostPair][icone][ipt]->Fill(ptC) ;
+
fhPtFracIsolatedMC[mcIndex][icone][ipt]->Fill(ptC) ;
}
}
if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
fhSumPtIsolatedMC[kmcPhoton][icone][ipt]->Fill(ptC) ;
+ if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCDecayPairLost) && mcIndex==kmcPi0Decay )
+ fhSumPtIsolatedMC[kmcPi0DecayLostPair][icone][ipt]->Fill(ptC) ;
+
fhSumPtIsolatedMC[mcIndex][icone][ipt]->Fill(ptC) ;
}
}
static const Int_t fgkNmcPrimTypes = 7;
// For histograms in arrays, index in the array, corresponding to any particle origin
- enum mcTypes { kmcPhoton = 0, kmcPrompt = 1, kmcFragment = 2,
- kmcPi0 = 3, kmcPi0Decay = 4, kmcEtaDecay = 5, kmcOtherDecay = 6,
- kmcElectron = 7, kmcHadron = 8 } ;
- static const Int_t fgkNmcTypes = 9;
+ enum mcTypes { kmcPhoton = 0, kmcPrompt = 1, kmcFragment = 2,
+ kmcPi0 = 3, kmcPi0Decay = 4, kmcPi0DecayLostPair = 5,
+ kmcEtaDecay = 6, kmcOtherDecay = 7,
+ kmcElectron = 8, kmcHadron = 9 } ;
+ static const Int_t fgkNmcTypes = 10;
private:
TH1F * fhPtPrimMCPi0DecayPairOutOfAcceptance; //! Pi0 decay photons, with decay pair out of detector acceptance
TH1F * fhPtPrimMCPi0DecayPairAcceptInConeLowPt;//! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold
TH1F * fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlap; //! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, and do not overlap
+ TH1F * fhPtPrimMCPi0DecayPairAcceptInConeLowPtNoOverlapCaloE; //! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, and larger than detector threshold, and do not overlap
TH1F * fhPtPrimMCPi0DecayPairNoOverlap; //! Pi0 decay photons, not overlapped decay
TH1F * fhPtPrimMCPi0DecayIsoPairOutOfCone; //! Pi0 decay photons, with decay pair out of isolation cone, isolated
TH1F * fhPtPrimMCPi0DecayIsoPairOutOfAcceptance; //! Pi0 decay photons, with decay pair out of detector acceptance, isolated
TH1F * fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPt;//! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, isolated
TH1F * fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlap; //! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, and do not overlap, isolated
+ TH1F * fhPtPrimMCPi0DecayIsoPairAcceptInConeLowPtNoOverlapCaloE; //! Pi0 decay photons, with decay pair in cone and acceptance and lower pT than threshold, and larger than detector threshold, and do not overlap, isolated
TH1F * fhPtPrimMCPi0DecayIsoPairNoOverlap; //! Pi0 decay photons isolated, not overlapped decay
TH1F * fhPtPrimMCPi0Overlap; //! Pi0 with overlapped decay photons
TH1F * fhSumPtIsolatedMC [fgkNmcTypes][5][5];//! Isolated mcTypes particle with threshold on cone pt sum
TH2F * fhSumPtLeadingPtMC [fgkNmcTypes][5]; //! mcTypes particle for sum Pt, different cone
-
// Track matching studies
TH2F * fhTrackMatchedDEta[2] ; //! Eta distance between track and cluster vs cluster E
TH2F * fhTrackMatchedDPhi[2] ; //! Phi distance between track and cluster vs cluster E
SetInputAODName("PWG4Particle");
AddToHistogramsName("AnaJetFinderCorr_");
- fDeltaPhiMinCut = 1.5 ;
- fDeltaPhiMaxCut = 4.5 ;
+ fDeltaPhiMinCut = 2.6 ;
+ fDeltaPhiMaxCut = 3.7 ;
fRatioMaxCut = 1.2 ;
fRatioMinCut = 0.3 ;
- fConeSize = 0.3 ;
+ fConeSize = 0.4 ;
fPtThresholdInCone = 0.5 ;
fUseJetRefTracks = kFALSE ;
fMakeCorrelationInHistoMaker = kFALSE ;
fSelectIsolated = kTRUE;
fJetConeSize = 0.4 ;
- fJetMinPt = 5. ; //GeV/c
+ fJetMinPt = 15. ; //GeV/c
fJetAreaFraction = 0.6 ;
fJetBranchName = "jets";
fBkgJetBranchName = "jets";
- fGammaConeSize = 0.3;
+ fGammaConeSize = 0.4;
fUseBackgroundSubtractionGamma = kFALSE;
fSaveGJTree = kTRUE;
fMostEnergetic = kFALSE;
// Get tag of this particle photon from fragmentation, decay, prompt ...
// Set the origin of the photon.
- tag = GetMCAnalysisUtils()->CheckOrigin(i,GetReader());
+ tag = GetMCAnalysisUtils()->CheckOrigin(i,GetReader(),fCalorimeter);
if(!GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton))
{
if(IsDataMC())
{
- Int_t tag = GetMCAnalysisUtils()->CheckOrigin(cluster->GetLabels(),cluster->GetNLabels(),GetReader());
+ Int_t tag = GetMCAnalysisUtils()->CheckOrigin(cluster->GetLabels(),cluster->GetNLabels(),GetReader(),fCalorimeter);
if ( !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) )
{
if(IsDataMC())
{
- tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader());
+ tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(),fCalorimeter);
aodph.SetTag(tag);
if(GetDebug() > 0)
Int_t momindex = -1;
Int_t mompdg = -1;
Int_t momstatus = -1;
- if(GetDebug() > 1) printf("AliAnaPi0::FillMCVersusRecDataHistograms() - Common ancestor label %d, pdg %d, name %s, status %d; \n",
- ancLabel,ancPDG,TDatabasePDG::Instance()->GetParticle(ancPDG)->GetName(),ancStatus);
+ if(GetDebug() > 1 )
+ {
+ if(ancLabel >= 0) printf("AliAnaPi0::FillMCVersusRecDataHistograms() - Common ancestor label %d, pdg %d, name %s, status %d; \n",
+ ancLabel,ancPDG,TDatabasePDG::Instance()->GetParticle(ancPDG)->GetName(),ancStatus);
+ else printf("AliAnaPi0::FillMCVersusRecDataHistograms() - Common ancestor not found \n");
+ }
Float_t prodR = -1;
Int_t mcIndex = -1;
for(Int_t i1=0; i1<nPhot-1; i1++)
{
AliAODPWG4Particle * p1 = (AliAODPWG4Particle*) (GetInputAODBranch()->At(i1)) ;
- //printf("AliAnaPi0::MakeAnalysisFillHistograms() : cluster1 id %d\n",p1->GetCaloLabel(0));
+ //printf("AliAnaPi0::MakeAnalysisFillHistograms() : cluster1 id %d/%d\n",i1,nPhot-1);
// get the event index in the mixed buffer where the photon comes from
// in case of mixing with analysis frame, not own mixing
- evtIndex1 = GetEventIndex(p1, vert) ;
- //printf("charge = %d\n", track->Charge());
+ evtIndex1 = GetEventIndex(p1, vert) ;
if ( evtIndex1 == -1 )
return ;
if ( evtIndex1 == -2 )
continue ;
-
- //printf("z vertex %f < %f\n",vert[2],GetZvertexCut());
+
+ // Only effective in case of mixed event frame
if(TMath::Abs(vert[2]) > GetZvertexCut()) continue ; //vertex cut
-
if (evtIndex1 != currentEvtIndex)
{
//Fill event bin info
for(Int_t i2=i1+1; i2<nPhot; i2++)
{
AliAODPWG4Particle * p2 = (AliAODPWG4Particle*) (GetInputAODBranch()->At(i2)) ;
-
+ //printf("AliAnaPi0::MakeAnalysisFillHistograms() : cluster2 i %d/%d\n",i2,nPhot);
+
//In case of mixing frame, check we are not in the same event as the first cluster
Int_t evtIndex2 = GetEventIndex(p2, vert) ;
if ( evtIndex2 == -1 )
{
fhReMCFromMixConversion->Fill(pt,m);
}
-
+
if(fFillOriginHisto)
FillMCVersusRecDataHistograms(p1->GetLabel(), p2->GetLabel(),p1->Pt(), p2->Pt(),ncell1, ncell2, m, pt, a,deta, dphi);
}
}
}
}// multiple cuts analysis
+
}// ok if same sm
+
}// second same event particle
}// first cluster
Int_t nPhot2=ev2->GetEntriesFast() ;
Double_t m = -999;
if(GetDebug() > 1)
- printf("AliAnaPi0::MakeAnalysisFillHistograms() - Mixed event %d photon entries %d, centrality bin %d\n", ii, nPhot2, GetEventCentralityBin());
+ printf("AliAnaPi0::MakeAnalysisFillHistograms() - Mixed event %d photon entries %d, centrality bin %d\n",
+ ii, nPhot2, GetEventCentralityBin());
fhEventMixBin->Fill(eventbin) ;
printf("AliAnaPi0::MakeAnalysisFillHistograms() -Mix pair angle %f not in E %f window\n",angle, (photon1+photon2).E());
continue;
}
- if(fUseAngleCut && (angle < fAngleCut || angle > fAngleMaxCut)) {
+
+ if(fUseAngleCut && (angle < fAngleCut || angle > fAngleMaxCut))
+ {
if(GetDebug() > 2)
printf("AliAnaPi0::MakeAnalysisFillHistograms() -Mix pair angle %f < cut %f\n",angle,fAngleCut);
- continue;
-
+ continue;
}
if(GetDebug() > 2)
currentEvent=0 ;
}
}// DoOwnMix
-
-}
+
+ if(GetDebug() > 0) printf("AliAnaPi0::MakeAnalysisFillHistograms() - End fill histograms\n");
+}
//________________________________________________________________________
Int_t AliAnaPi0::GetEventIndex(AliAODPWG4Particle * part, Double_t * vert)
// for normal events returns 0 if vertex OK and -1 if vertex NOK
Int_t evtIndex = -1 ;
- if(GetReader()->GetDataType()!=AliCaloTrackReader::kMC){
-
- if (GetMixedEvent()){
-
+ if(GetReader()->GetDataType()!=AliCaloTrackReader::kMC)
+ {
+ if (GetMixedEvent())
+ {
evtIndex = GetMixedEvent()->EventIndexForCaloCluster(part->GetCaloLabel(0)) ;
GetVertex(vert,evtIndex);
if(TMath::Abs(vert[2])> GetZvertexCut())
evtIndex = -2 ; //Event can not be used (vertex, centrality,... cuts not fulfilled)
- } else {// Single event
-
+ }
+ else
+ {
+ // Single event
GetVertex(vert);
if(TMath::Abs(vert[2])> GetZvertexCut())
evtIndex = 0 ;
}
}//No MC reader
- else {
+ else
+ {
evtIndex = 0;
vert[0] = 0. ;
vert[1] = 0. ;
fhPtDispEtaPhiDiff(0), fhPtSphericity(0),
// MC histos
+fhMCPtDecayLostPairPi0(0), fhMCPtDecayLostPairEta(0),
fhMCE(), fhMCPt(),
fhMCPtPhi(), fhMCPtEta(),
fhMCEReject(), fhMCPtReject(),
TString nlm[] = {"1 Local Maxima","2 Local Maxima", "NLM > 2"};
- TString ptype [] = {"#gamma (#pi^{0})", "#gamma (#eta)", "#gamma (other)", "#pi^{0}", "#eta", "#gamma (direct)","e^{#pm}" , "hadron/other combinations"};
- TString pname [] = {"Pi0Decay" , "EtaDecay" , "OtherDecay" , "Pi0" , "Eta" , "Photon" , "Electron", "Hadron"};
+ TString ptype [] = {"#pi^{0}", "#eta", "#gamma (direct)","#gamma (#pi^{0})", "#gamma (#eta)", "#gamma (other)", "e^{#pm}" , "hadron/other combinations"};
+ TString pname [] = {"Pi0" , "Eta" , "Photon" ,"Pi0Decay" , "EtaDecay" , "OtherDecay" , "Electron", "Hadron"};
Int_t bin[] = {0,2,4,6,10,15,20,100}; // energy bins
-
+
fhPt = new TH1F("hPt","Number of identified #pi^{0} (#eta) decay",nptbins,ptmin,ptmax);
fhPt->SetYTitle("#it{N}");
fhPt->SetXTitle("#it{p}_{T} (GeV/#it{c})");
if(IsDataMC())
{
+ fhMCPtDecayLostPairPi0 = new TH1F("hPtDecay_MCPi0DecayLostPair","Selected #pi^{0} (#eta) decay photons, from MC #gamma #pi^{0} decay, companion lost",
+ nptbins,ptmin,ptmax);
+ fhMCPtDecayLostPairPi0->SetYTitle("#it{N}");
+ fhMCPtDecayLostPairPi0->SetXTitle("#it{p}_{T} (GeV/#it{c})");
+ outputContainer->Add(fhMCPtDecayLostPairPi0) ;
+
+ fhMCPtDecayLostPairEta = new TH1F("hPtDecay_MCEtaDecayLostPair","Selected #pi^{0} (#eta) decay photons, from MC #gamma #eta decay, companion lost",
+ nptbins,ptmin,ptmax);
+ fhMCPtDecayLostPairEta->SetYTitle("#it{N}");
+ fhMCPtDecayLostPairEta->SetXTitle("#it{p}_{T} (GeV/#it{c})");
+ outputContainer->Add(fhMCPtDecayLostPairEta) ;
+
for(Int_t ipart = 0; ipart < fgkNmcTypes; ipart++)
{
fhMCPtDecay[ipart] = new TH1F(Form("hPtDecay_MC%s",pname[ipart].Data()),
outputContainer->Add(fhMassPairMCEta) ;
}
- for(Int_t i = 0; i < fgkNmcTypes; i++)
+ Int_t ntypes = fgkNmcTypes;
+ if(fAnaType != kSSCalo) ntypes = 2;
+
+ for(Int_t i = 0; i < ntypes; i++)
{
fhMCE[i] = new TH1F
(Form("hE_MC%s",pname[i].Data()),
else if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) &&
GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay) )
{
- return kmcPi0Decay ;
+ return kmcPi0Decay ;
}//decay photon from pi0
else if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) &&
GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) )
AliAODPWG4Particle * photon2,
Int_t & label, Int_t & tag)
{
- // Check the labels of pare in case mother was same pi0 or eta
+ // Check the labels of pair in case mother was same pi0 or eta
// Set the new AOD accordingly
Int_t label1 = photon1->GetLabel();
Int_t label2 = photon2->GetLabel();
- if(label1 < 0 || label2 < 0 ) return ;
+ if(label1 < 0 || label2 < 0 || label1 == label2) return ;
//Int_t tag1 = GetMCAnalysisUtils()->CheckOrigin(label1, GetReader());
//Int_t tag2 = GetMCAnalysisUtils()->CheckOrigin(label2, GetReader());
GetMCAnalysisUtils()->CheckTagBit(tag2,AliMCAnalysisUtils::kMCEtaDecay) )
)
{
-
+ Int_t pdg1 = -1, pdg2 = -1;
+ Int_t ndaugh1 = -1, ndaugh2 = -1;
//Check if pi0/eta mother is the same
if(GetReader()->ReadStack())
{
{
TParticle * mother1 = GetMCStack()->Particle(label1);//photon in kine tree
label1 = mother1->GetFirstMother();
- //mother1 = GetMCStack()->Particle(label1);//pi0
+ mother1 = GetMCStack()->Particle(label1);//pi0
+ pdg1=mother1->GetPdgCode();
+ ndaugh1 = mother1->GetNDaughters();
}
if(label2>=0)
{
TParticle * mother2 = GetMCStack()->Particle(label2);//photon in kine tree
label2 = mother2->GetFirstMother();
- //mother2 = GetMCStack()->Particle(label2);//pi0
+ mother2 = GetMCStack()->Particle(label2);//pi0
+ pdg2=mother2->GetPdgCode();
+ ndaugh2 = mother2->GetNDaughters();
}
} // STACK
else if(GetReader()->ReadAODMCParticles())
{
AliAODMCParticle * mother1 = (AliAODMCParticle *) (GetReader()->GetAODMCParticles())->At(label1);//photon in kine tree
label1 = mother1->GetMother();
- //mother1 = GetMCStack()->Particle(label1);//pi0
+ mother1 = (AliAODMCParticle *) (GetReader()->GetAODMCParticles())->At(label1);//pi0
+ pdg1=mother1->GetPdgCode();
+ ndaugh1 = mother1->GetNDaughters();
}
if(label2>=0)
{
AliAODMCParticle * mother2 = (AliAODMCParticle *) (GetReader()->GetAODMCParticles())->At(label2);//photon in kine tree
label2 = mother2->GetMother();
- //mother2 = GetMCStack()->Particle(label2);//pi0
+ mother2 = (AliAODMCParticle *) (GetReader()->GetAODMCParticles())->At(label2);//pi0
+ pdg2=mother2->GetPdgCode();
+ ndaugh2 = mother2->GetNDaughters();
}
}// AOD
//printf("mother1 %d, mother2 %d\n",label1,label2);
- if( label1 == label2 && label1>=0 )
+ if( label1 == label2 && label1>=0 && ndaugh1==ndaugh2 && ndaugh1==2)
{
label = label1;
Double_t mass = (mom1+mom2).M();
Double_t epair = (mom1+mom2).E();
- if(GetMCAnalysisUtils()->CheckTagBit(tag1,AliMCAnalysisUtils::kMCPi0Decay))
+ if(pdg1==111)
{
+ //printf("Real pi0 pair: pt %f, mass %f\n",(mom1+mom2).Pt(),mass);
fhMassPairMCPi0 ->Fill(epair,mass);
fhAnglePairMCPi0->Fill(epair,angle);
GetMCAnalysisUtils()->SetTagBit(tag,AliMCAnalysisUtils::kMCPi0);
+// printf(" Lab1 %d (%d), lab2 %d (%d), pdg1 %d, pdg2 %d, Is In calo %d, %d, Is lost %d, %d\n",
+// label1,photon1->GetLabel(),label2,photon2->GetLabel(), pdg1, pdg2,
+// GetMCAnalysisUtils()->CheckTagBit(photon1->GetTag(),AliMCAnalysisUtils::kMCDecayPairInCalo),
+// GetMCAnalysisUtils()->CheckTagBit(photon2->GetTag(),AliMCAnalysisUtils::kMCDecayPairInCalo),
+// GetMCAnalysisUtils()->CheckTagBit(photon1->GetTag(),AliMCAnalysisUtils::kMCDecayPairLost),
+// GetMCAnalysisUtils()->CheckTagBit(photon2->GetTag(),AliMCAnalysisUtils::kMCDecayPairLost));
}
- else
+ else if(pdg1==221)
{
+ //printf("Real eta pair\n");
fhMassPairMCEta ->Fill(epair,mass);
fhAnglePairMCEta->Fill(epair,angle);
GetMCAnalysisUtils()->SetTagBit(tag,AliMCAnalysisUtils::kMCEta);
{
//Do analysis and fill aods
+ if(GetDebug() > 0) printf("AliAnaPi0EbE::MakeAnalysisFillAOD() - Start analysis type %d\n",fAnaType);
+
switch(fAnaType)
{
case kIMCalo:
break;
}
+
+ if(GetDebug() > 0) printf("AliAnaPi0EbE::MakeAnalysisFillAOD() - End\n");
+
}
//____________________________________________
TLorentzVector mom2;
TLorentzVector mom ;
- Int_t tag = 0;
- Int_t label = 0;
-
if(!GetInputAODBranch())
{
AliFatal(Form("No input calo photons in AOD with name branch < %s >, STOP \n",GetInputAODName().Data()));
if (fCalorimeter=="EMCAL") clusters = GetEMCALClusters();
else if(fCalorimeter=="PHOS") clusters = GetPHOSClusters() ;
- for(Int_t iphoton = 0; iphoton < GetInputAODBranch()->GetEntriesFast()-1; iphoton++)
+ Int_t nphoton = GetInputAODBranch()->GetEntriesFast();
+ for(Int_t iphoton = 0; iphoton < nphoton-1; iphoton++)
{
AliAODPWG4Particle * photon1 = (AliAODPWG4Particle*) (GetInputAODBranch()->At(iphoton));
return;
}
- for(Int_t jphoton = iphoton+1; jphoton < GetInputAODBranch()->GetEntriesFast(); jphoton++)
+ for(Int_t jphoton = iphoton+1; jphoton < nphoton; jphoton++)
{
AliAODPWG4Particle * photon2 = (AliAODPWG4Particle*) (GetInputAODBranch()->At(jphoton));
//Play with the MC stack if available
Int_t mcIndex = kmcHadron;
+ Int_t tag = 0;
+ Int_t label =-1;
if(IsDataMC())
{
HasPairSameMCMother(photon1, photon2, label, tag) ;
//Mass of all pairs
fhMass ->Fill( epair,mass);
fhMassPt->Fill(ptpair,mass);
- if(IsDataMC()) fhMCMassPt[mcIndex]->Fill(ptpair,mass);
+ if(IsDataMC() && mcIndex < 2) fhMCMassPt[mcIndex]->Fill(ptpair,mass);
//
// Select good pair (good phi, pt cuts, aperture and invariant mass)
//
if(!GetNeutralMesonSelection()->SelectPair(mom1, mom2,fCalorimeter)) continue;
-
+
if(GetDebug()>1)
printf("AliAnaPi0EbE::MakeInvMassInCalorimeter() - Selected gamma pair: pt %f, phi %f, eta%f \n",
mom.Pt(), mom.Phi()*TMath::RadToDeg(), mom.Eta());
{
Int_t mcIndex1 = GetMCIndex(photon1->GetTag());
fhMCPtDecay[mcIndex1]->Fill(photon1->Pt());
+ if(GetMCAnalysisUtils()->CheckTagBit(photon1->GetTag(),AliMCAnalysisUtils::kMCDecayPairLost))
+ {
+ if ( mcIndex1 == kmcPi0Decay ) fhMCPtDecayLostPairPi0->Fill(photon1->Pt());
+ else if( mcIndex1 == kmcEtaDecay ) fhMCPtDecayLostPairEta->Fill(photon1->Pt());
+ }
}
}
{
Int_t mcIndex2 = GetMCIndex(photon2->GetTag());
fhMCPtDecay[mcIndex2]->Fill(photon2->Pt());
+ if(GetMCAnalysisUtils()->CheckTagBit(photon2->GetTag(),AliMCAnalysisUtils::kMCDecayPairLost))
+ {
+ if ( mcIndex2 == kmcPi0Decay ) fhMCPtDecayLostPairPi0->Fill(photon2->Pt());
+ else if( mcIndex2 == kmcEtaDecay ) fhMCPtDecayLostPairEta->Fill(photon2->Pt());
+ }
}
}
//Mass of selected pairs
fhSelectedMass ->Fill( epair,mass);
fhSelectedMassPt->Fill(ptpair,mass);
- if(IsDataMC())fhMCSelectedMassPt[mcIndex]->Fill(ptpair,mass);
+ if(IsDataMC() && mcIndex < 2) fhMCSelectedMassPt[mcIndex]->Fill(ptpair,mass);
// Fill histograms to undertand pile-up before other cuts applied
// Remember to relax time cuts in the reader
TLorentzVector mom1;
TLorentzVector mom2;
TLorentzVector mom ;
- Int_t tag = 0;
- Int_t label = 0;
- Int_t evtIndex = 0;
// Check calorimeter input
if(!GetInputAODBranch())
{
AliAODPWG4Particle * photon2 = (AliAODPWG4Particle*) (inputAODGammaConv->At(jphoton));
+ Int_t evtIndex = 0;
if(GetMixedEvent())
+ {
evtIndex = GetMixedEvent()->EventIndexForCaloCluster(photon2->GetCaloLabel(0)) ;
- if(TMath::Abs(GetVertex(evtIndex)[2]) > GetZvertexCut()) continue ; //vertex cut
+ if(TMath::Abs(GetVertex(evtIndex)[2]) > GetZvertexCut()) continue ; //vertex cut
+ }
mom2 = *(photon2->Momentum());
//Play with the MC stack if available
Int_t mcIndex = kmcHadron;
+ Int_t tag = 0;
+ Int_t label =-1;
if(IsDataMC())
{
Int_t label2 = photon2->GetLabel();
- if(label2 >= 0 )photon2->SetTag(GetMCAnalysisUtils()->CheckOrigin(label2, GetReader()));
+ if(label2 >= 0 )photon2->SetTag(GetMCAnalysisUtils()->CheckOrigin(label2, GetReader(),"CTS"));
HasPairSameMCMother(photon1, photon2, label, tag) ;
mcIndex = GetMCIndex(tag);
//Mass of selected pairs
fhMass ->Fill( epair,mass);
fhMassPt->Fill(ptpair,mass);
- if(IsDataMC()) fhMCMassPt[mcIndex]->Fill(ptpair,mass);
+ if(IsDataMC() && mcIndex < 2 ) fhMCMassPt[mcIndex]->Fill(ptpair,mass);
//
// Select good pair (good phi, pt cuts, aperture and invariant mass)
{
Int_t mcIndex1 = GetMCIndex(photon1->GetTag());
fhMCPtDecay[mcIndex1]->Fill(photon1->Pt());
+ if(GetMCAnalysisUtils()->CheckTagBit(photon1->GetTag(),AliMCAnalysisUtils::kMCDecayPairLost))
+ {
+ if ( mcIndex1 == kmcPi0Decay ) fhMCPtDecayLostPairPi0->Fill(photon1->Pt());
+ else if( mcIndex1 == kmcEtaDecay ) fhMCPtDecayLostPairEta->Fill(photon1->Pt());
+ }
}
}
//Mass of selected pairs
fhSelectedMass ->Fill( epair,mass);
fhSelectedMassPt->Fill(ptpair,mass);
- if(IsDataMC()) fhMCSelectedMassPt[mcIndex]->Fill(ptpair,mass);
+ if(IsDataMC() && mcIndex < 2) fhMCSelectedMassPt[mcIndex]->Fill(ptpair,mass);
// Fill histograms to undertand pile-up before other cuts applied
// Remember to relax time cuts in the reader
if (GetMixedEvent())
{
evtIndex=GetMixedEvent()->EventIndexForCaloCluster(calo->GetID()) ;
-
- if(TMath::Abs(GetVertex(evtIndex)[2]) > GetZvertexCut()) continue ; //vertex cut
+ if(TMath::Abs(GetVertex(evtIndex)[2]) > GetZvertexCut()) continue ; //vertex cut
}
//Get Momentum vector,
Int_t tag = 0 ;
if(IsDataMC())
{
- tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader());
+ tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(),fCalorimeter);
//GetMCAnalysisUtils()->CheckMultipleOrigin(calo->GetLabels(),calo->GetNLabels(), GetReader(), aodpi0.GetInputFileIndex(), tag);
if(GetDebug() > 0) printf("AliAnaPi0EbE::MakeShowerShapeIdentification() - Origin of candidate %d\n",tag);
}
if(!GetOutputAODBranch())
{
AliFatal(Form("No output pi0 in AOD branch with name < %s >,STOP \n",GetOutputAODName().Data()));
+ return;
}
//Loop on stored AOD pi0
Int_t naod = GetOutputAODBranch()->GetEntriesFast();
- if(GetDebug() > 0) Info("MakeAnalysisFillHistograms","aod branch entries %d\n", naod);
+ if(GetDebug() > 0) printf("AliAnaPi0EbE::MakeAnalysisFillHistograms() - aod branch entries %d\n", naod);
Float_t cen = GetEventCentrality();
Float_t ep = GetEventPlaneAngle();
Int_t tag = pi0->GetTag();
Int_t label = pi0->GetLabel();
Int_t mcIndex = GetMCIndex(tag);
+
+ if(fAnaType!=kSSCalo && mcIndex > 1) continue;
fhMCE [mcIndex] ->Fill(ener);
fhMCPt [mcIndex] ->Fill(pt);
}// aod loop
+ if(GetDebug() > 0) printf("AliAnaPi0EbE::MakeAnalysisFillHistograms() - end\n");
+
}
//__________________________________________________________________
void SwitchOffSelectIsolatedDecay() { fSelectIsolatedDecay = kFALSE; }
//For histograms
- enum mcTypes { kmcPi0Decay = 0, kmcEtaDecay = 1, kmcOtherDecay = 2,
- kmcPi0 = 3, kmcEta = 4, kmcPhoton = 5,
- kmcElectron = 6, kmcHadron = 7 };
+ enum mcTypes { kmcPi0 = 0, kmcEta = 1, kmcPhoton = 2,
+ kmcPi0Decay = 3, kmcEtaDecay = 4, kmcOtherDecay = 5,
+ kmcElectron = 6, kmcHadron = 7 } ;
static const Int_t fgkNmcTypes = 8;
//MC histograms
- TH1F * fhMCPtDecay [fgkNmcTypes]; //! pT vs from MC particle
+ TH1F * fhMCPtDecay [fgkNmcTypes]; //! pT from MC particle
+ TH1F * fhMCPtDecayLostPairPi0; //! pT for tagged clustres when MC Pi0 Decay, when companion is lost
+ TH1F * fhMCPtDecayLostPairEta; //! pT for tagged clustres when MC Eta Decay, when companion is lost
TH2F * fhMCPtLambda0 [fgkNmcTypes]; //! pT vs lambda0 of pi0 pairs but really from MC particle
TH2F * fhMCPtLambda1 [fgkNmcTypes]; //! pT vs lambda1 of pi0 pairs but really from MC particle
TH2F * fhMCPtDispersion [fgkNmcTypes]; //! pT vs dispersion of pi0 pairs but really from MC particle
//reader->SwitchOnConstrainTrackToVertex();
// if(kYears>2010)
- {
+// {
//Hybrids 2011
AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
reader->SetTrackCuts(esdTrackCuts);
- AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
- reader->SetTrackComplementaryCuts(esdTrackCuts2);
- }
+// AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
+// reader->SetTrackComplementaryCuts(esdTrackCuts2);
+// }
// else
// {
// //Hybrids 2010
fGeom(0x0),
fGeoName("EMCAL_COMPLETEV1"),
fOADBContainer(0),
+ fVecPv(0.,0.,0.),
fPeriod("LHC11c"),
fTrigBit("kEMC7"),
fIsTrain(0),
fRemMatchClus(kFALSE),
fMinIsoClusE(0),
fNCuts(5),
- fTrCoreRem(kTRUE),
+ fTrCoreRem(kFALSE),
fClusTDiff(30e-9),
fESD(0),
fAOD(0),
fGeom(0x0),
fGeoName("EMCAL_COMPLETEV1"),
fOADBContainer(0),
+ fVecPv(0.,0.,0.),
fPeriod("LHC11c"),
fTrigBit("kEMC7"),
fIsTrain(0),
fRemMatchClus(kFALSE),
fMinIsoClusE(0),
fNCuts(5),
- fTrCoreRem(kTRUE),
+ fTrCoreRem(kFALSE),
fClusTDiff(30e-9),
fESD(0),
fAOD(0),
else
fRecoPV->Fill(1);
fPVtxZ->Fill(pv->GetZ());
+ fVecPv.SetXYZ(pv->GetX(),pv->GetY(),pv->GetZ());
if(TMath::Abs(pv->GetZ())>10)
return;
if(fDebug)
fNClusForDirPho = 0;
fNCells50 = 0;
fClusIdFromTracks = "";
+ fVecPv.Clear();
PostData(1, fOutputList);
PostData(2, fQAList);
Float_t clsPos[3] = {0,0,0};
c->GetPosition(clsPos);
TVector3 clsVec(clsPos);
+ clsVec += fVecPv;
Double_t Et = c->E()*TMath::Sin(clsVec.Theta());
if(fDebug)
printf("\tcluster eta=%1.1f,phi=%1.1f,E=%1.1f\n",clsVec.Eta(),clsVec.Phi(),c->E());
Float_t clsPos[3] = {0,0,0};
c->GetPosition(clsPos);
TVector3 cv(clsPos);
+ cv += fVecPv;
Double_t Et = c->E()*TMath::Sin(cv.Theta());
Float_t dphi = TMath::Abs(cv.Phi()-phicl);
Float_t deta = TMath::Abs(cv.Eta()-etacl);
Float_t clsPos[3] = {0,0,0};
c->GetPosition(clsPos);
TVector3 clsVec(clsPos);
+ clsVec += fVecPv;
Double_t Et = c->E()*TMath::Sin(clsVec.Theta());
//ESD
if(fStack){
Float_t clsPos[3] = {0,0,0};
c->GetPosition(clsPos);
TVector3 clsVec(clsPos);
+ clsVec += fVecPv;
Double_t cphi = clsVec.Phi();
Double_t ceta = clsVec.Eta();
Short_t id;
AliEMCALGeometry *fGeom; // geometry utils
TString fGeoName; // geometry name (def = EMCAL_FIRSTYEARV1)
AliOADBContainer *fOADBContainer; //!OADB container used to load misalignment matrices
+ TVector3 fVecPv; // vector to hold the event's primary vertex
TString fPeriod; // string to the LHC period
TString fTrigBit; // string to the trigger bit name
Bool_t fIsTrain; // variable to set train mode
fReaderGammas(NULL),
fSelectorNegPionIndex(0),
fSelectorPosPionIndex(0),
- fGoodGammas(NULL),
+ fGoodConvGammas(NULL),
+ fClusterCandidates(NULL),
fNeutralPionCandidates(NULL),
fGoodVirtualParticles(NULL),
fEventCutArray(NULL),
fGammaCutArray(NULL),
+ fClusterCutArray(NULL),
fPionCutArray(NULL),
fNeutralPionMesonCutArray(NULL),
fMesonCutArray(NULL),
fEventCuts(NULL),
fConversionCuts(NULL),
+ fClusterCuts(NULL),
fHistoConvGammaPt(NULL),
fHistoConvGammaEta(NULL),
+ fHistoClusterGammaPt(NULL),
+ fHistoClusterGammaEta(NULL),
fHistoNegPionPt(NULL),
fHistoPosPionPt(NULL),
fHistoNegPionPhi(NULL),
fHistoTrueMotherGammaGammaFromOmegaInvMassPt(NULL),
fHistoTrueConvGammaPt(NULL),
fHistoTrueConvGammaFromNeutralMesonPt(NULL),
+ fHistoTrueClusterGammaPt(NULL),
+ fHistoTrueClusterGammaFromNeutralMesonPt(NULL),
fHistoTruePosPionPt(NULL),
fHistoTruePosPionFromNeutralMesonPt(NULL),
fHistoTrueNegPionPt(NULL),
fDoMesonAnalysis(kTRUE),
fDoMesonQA(kFALSE),
fIsFromMBHeader(kTRUE),
- fIsMC(kFALSE)
+ fIsMC(kFALSE),
+ fNeutralPionMode(0)
{
}
fReaderGammas(NULL),
fSelectorNegPionIndex(0),
fSelectorPosPionIndex(0),
- fGoodGammas(NULL),
+ fGoodConvGammas(NULL),
+ fClusterCandidates(NULL),
fNeutralPionCandidates(NULL),
fGoodVirtualParticles(NULL),
fEventCutArray(NULL),
fGammaCutArray(NULL),
+ fClusterCutArray(NULL),
fPionCutArray(NULL),
fNeutralPionMesonCutArray(NULL),
fMesonCutArray(NULL),
fEventCuts(NULL),
fConversionCuts(NULL),
+ fClusterCuts(NULL),
fHistoConvGammaPt(NULL),
fHistoConvGammaEta(NULL),
+ fHistoClusterGammaPt(NULL),
+ fHistoClusterGammaEta(NULL),
fHistoNegPionPt(NULL),
fHistoPosPionPt(NULL),
fHistoNegPionPhi(NULL),
fHistoTrueMotherGammaGammaFromOmegaInvMassPt(NULL),
fHistoTrueConvGammaPt(NULL),
fHistoTrueConvGammaFromNeutralMesonPt(NULL),
+ fHistoTrueClusterGammaPt(NULL),
+ fHistoTrueClusterGammaFromNeutralMesonPt(NULL),
fHistoTruePosPionPt(NULL),
fHistoTruePosPionFromNeutralMesonPt(NULL),
fHistoTrueNegPionPt(NULL),
fDoMesonAnalysis(kTRUE),
fDoMesonQA(kFALSE),
fIsFromMBHeader(kTRUE),
- fIsMC(kFALSE)
+ fIsMC(kFALSE),
+ fNeutralPionMode(0)
{
DefineOutput(1, TList::Class());
}
// virtual destructor
//
cout<<"Destructor"<<endl;
- if(fGoodGammas){
- delete fGoodGammas;
- fGoodGammas = 0x0;
+ if(fGoodConvGammas){
+ delete fGoodConvGammas;
+ fGoodConvGammas = 0x0;
}
+ if(fClusterCandidates){
+ delete fClusterCandidates;
+ fClusterCandidates = 0x0;
+ }
+
if(fNeutralPionCandidates){
delete fNeutralPionCandidates;
fNeutralPionCandidates = 0x0;
fTHnSparseMotherBackInvMassPtZM = new THnSparseF*[fnCuts];
fBGHandler = new AliGammaConversionAODBGHandler*[fnCuts];
+
for(Int_t iCut = 0; iCut<fnCuts;iCut++){
TString cutstringEvent = ((AliConvEventCuts*)fEventCutArray->At(iCut))->GetCutNumber();
TString cutstringPion = ((AliPrimaryPionCuts*)fPionCutArray->At(iCut))->GetCutNumber();
- TString cutstringGamma = ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutNumber();
+ TString cutstringConvGamma = "";
+ if (fNeutralPionMode < 2) cutstringConvGamma = ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutNumber();
+ TString cutstringCaloGamma = "";
+ if (fNeutralPionMode > 0) cutstringCaloGamma = ((AliCaloPhotonCuts*)fClusterCutArray->At(iCut))->GetCutNumber();
TString cutstringNeutralPion= ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(iCut))->GetCutNumber();
TString cutstringMeson = ((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->GetCutNumber();
- TString fullCutString = Form("%s_%s_%s_%s_%s",cutstringEvent.Data(),cutstringGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ TString fullCutString = "";
+ if (fNeutralPionMode == 0) fullCutString = Form("%i_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringConvGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ else if (fNeutralPionMode == 1) fullCutString = Form("%i_%s_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringConvGamma.Data(),cutstringCaloGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ else if (fNeutralPionMode == 2) fullCutString = Form("%i_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringCaloGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+
TString nameBackList = Form("%s Back histograms",fullCutString.Data());
TString nameMotherList = Form("%s Mother histograms",fullCutString.Data());
fOutputContainer->SetOwner(kTRUE);
}
- fGoodGammas = new TList();
+ fGoodConvGammas = new TList();
+ fClusterCandidates = new TList();
fNeutralPionCandidates = new TList();
fGoodVirtualParticles = new TList();
fHistoNEvents = new TH1I*[fnCuts];
fHistoNGoodESDTracks = new TH1I*[fnCuts];
fProfileEtaShift = new TProfile*[fnCuts];
- fHistoConvGammaPt = new TH1F*[fnCuts];
- fHistoConvGammaEta = new TH1F*[fnCuts];
+ if (fNeutralPionMode < 2){
+ fHistoConvGammaPt = new TH1F*[fnCuts];
+ fHistoConvGammaEta = new TH1F*[fnCuts];
+ }
+ if (fNeutralPionMode > 0){
+ fHistoClusterGammaPt = new TH1F*[fnCuts];
+ fHistoClusterGammaEta = new TH1F*[fnCuts];
+ }
fHistoNegPionPt = new TH1F*[fnCuts];
fHistoPosPionPt = new TH1F*[fnCuts];
fHistoNegPionPhi = new TH1F*[fnCuts];
for(Int_t iCut = 0; iCut<fnCuts;iCut++){
TString cutstringEvent = ((AliConvEventCuts*)fEventCutArray->At(iCut))->GetCutNumber();
TString cutstringPion = ((AliPrimaryPionCuts*)fPionCutArray->At(iCut))->GetCutNumber();
- TString cutstringGamma = ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutNumber();
+ TString cutstringConvGamma = "";
+ if (fNeutralPionMode < 2) cutstringConvGamma = ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutNumber();
+ TString cutstringCaloGamma = "";
+ if (fNeutralPionMode > 0) cutstringCaloGamma = ((AliCaloPhotonCuts*)fClusterCutArray->At(iCut))->GetCutNumber();
TString cutstringNeutralPion= ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(iCut))->GetCutNumber();
TString cutstringMeson = ((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->GetCutNumber();
- TString fullCutString = Form("%s_%s_%s_%s_%s",cutstringEvent.Data(),cutstringGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ TString fullCutString = "";
+ if (fNeutralPionMode == 0) fullCutString = Form("%i_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringConvGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ else if (fNeutralPionMode == 1) fullCutString = Form("%i_%s_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringConvGamma.Data(),cutstringCaloGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ else if (fNeutralPionMode == 2) fullCutString = Form("%i_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringCaloGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
TString nameCutFolder = Form("Cut Number %s", fullCutString.Data());
TString nameESDList = Form("%s ESD histograms", fullCutString.Data());
fProfileEtaShift[iCut] = new TProfile("Eta Shift","Eta Shift",1, -0.5,0.5);
fESDList[iCut]->Add(fProfileEtaShift[iCut]);
- fHistoConvGammaPt[iCut] = new TH1F("ESD_ConvGamma_Pt","ESD_ConvGamma_Pt",250,0,25);
- fESDList[iCut]->Add(fHistoConvGammaPt[iCut]);
- fHistoConvGammaEta[iCut] = new TH1F("ESD_ConvGamma_Eta","ESD_ConvGamma_Eta",600,-1.5,1.5);
- fESDList[iCut]->Add(fHistoConvGammaEta[iCut]);
+ if (fNeutralPionMode < 2){
+ fHistoConvGammaPt[iCut] = new TH1F("ESD_ConvGamma_Pt","ESD_ConvGamma_Pt",250,0,25);
+ fESDList[iCut]->Add(fHistoConvGammaPt[iCut]);
+ fHistoConvGammaEta[iCut] = new TH1F("ESD_ConvGamma_Eta","ESD_ConvGamma_Eta",600,-1.5,1.5);
+ fESDList[iCut]->Add(fHistoConvGammaEta[iCut]);
+ }
+ if (fNeutralPionMode > 0){
+ fHistoClusterGammaPt[iCut] = new TH1F("ESD_ClusterGamma_Pt","ESD_ClusterGamma_Pt",250,0,25);
+ fESDList[iCut]->Add(fHistoClusterGammaPt[iCut]);
+ fHistoClusterGammaEta[iCut] = new TH1F("ESD_ClusterGamma_Eta","ESD_ClusterGamma_Eta",600,-1.5,1.5);
+ fESDList[iCut]->Add(fHistoClusterGammaEta[iCut]);
+ }
fHistoNegPionPt[iCut] = new TH1F("ESD_PrimaryNegPions_Pt","ESD_PrimaryNegPions_Pt",1000,0,25);
fESDList[iCut]->Add(fHistoNegPionPt[iCut]);
fHistoPosPionPt[iCut] = new TH1F("ESD_PrimaryPosPions_Pt","ESD_PrimaryPosPions_Pt",1000,0,25);
fMCList = new TList*[fnCuts];
// True Histogramms
fTrueList = new TList*[fnCuts];
- fHistoTrueConvGammaPt = new TH1F*[fnCuts];
- fHistoTrueConvGammaFromNeutralMesonPt = new TH1F*[fnCuts];
+ if (fNeutralPionMode < 2){
+ fHistoTrueConvGammaPt = new TH1F*[fnCuts];
+ fHistoTrueConvGammaFromNeutralMesonPt = new TH1F*[fnCuts];
+ }
+ if (fNeutralPionMode > 0){
+ fHistoTrueClusterGammaPt = new TH1F*[fnCuts];
+ fHistoTrueClusterGammaFromNeutralMesonPt = new TH1F*[fnCuts];
+ }
fHistoTruePosPionPt = new TH1F*[fnCuts];
fHistoTrueNegPionPt = new TH1F*[fnCuts];
fHistoTruePosPionFromNeutralMesonPt = new TH1F*[fnCuts];
fHistoMCAllGammaPt = new TH1F*[fnCuts];
- fHistoMCConvGammaPt = new TH1F*[fnCuts];
+ if (fNeutralPionMode < 2){
+ fHistoMCConvGammaPt = new TH1F*[fnCuts];
+ }
fHistoMCAllPosPionsPt = new TH1F*[fnCuts];
fHistoMCAllNegPionsPt = new TH1F*[fnCuts];
fHistoMCGammaFromNeutralMesonPt = new TH1F*[fnCuts];
for(Int_t iCut = 0; iCut<fnCuts;iCut++){
TString cutstringEvent = ((AliConvEventCuts*)fEventCutArray->At(iCut))->GetCutNumber();
TString cutstringPion = ((AliPrimaryPionCuts*)fPionCutArray->At(iCut))->GetCutNumber();
- TString cutstringGamma = ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutNumber();
+ TString cutstringConvGamma = "";
+ if (fNeutralPionMode < 2) cutstringConvGamma = ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutNumber();
+ TString cutstringCaloGamma = "";
+ if (fNeutralPionMode > 0) cutstringCaloGamma = ((AliCaloPhotonCuts*)fClusterCutArray->At(iCut))->GetCutNumber();
TString cutstringNeutralPion= ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(iCut))->GetCutNumber();
TString cutstringMeson = ((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->GetCutNumber();
- TString fullCutString = Form("%s_%s_%s_%s_%s",cutstringEvent.Data(),cutstringGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ TString fullCutString = "";
+ if (fNeutralPionMode == 0) fullCutString = Form("%i_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringConvGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ else if (fNeutralPionMode == 1) fullCutString = Form("%i_%s_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringConvGamma.Data(),cutstringCaloGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
+ else if (fNeutralPionMode == 2) fullCutString = Form("%i_%s_%s_%s_%s_%s",fNeutralPionMode,cutstringEvent.Data(),cutstringCaloGamma.Data(),cutstringNeutralPion.Data(), cutstringPion.Data(),cutstringMeson.Data());
TString nameMCList = Form("%s MC histograms", fullCutString.Data());
TString nameTrueRecList = Form("%s True histograms", fullCutString.Data());
fHistoMCAllGammaPt[iCut] = new TH1F("MC_AllGamma_Pt","MC_AllGamma_Pt",250,0,25);
fMCList[iCut]->Add(fHistoMCAllGammaPt[iCut]);
- fHistoMCConvGammaPt[iCut] = new TH1F("MC_ConvGamma_Pt","MC_ConvGamma_Pt",250,0,25);
- fMCList[iCut]->Add(fHistoMCConvGammaPt[iCut]);
+ if (fNeutralPionMode < 2){
+ fHistoMCConvGammaPt[iCut] = new TH1F("MC_ConvGamma_Pt","MC_ConvGamma_Pt",250,0,25);
+ fMCList[iCut]->Add(fHistoMCConvGammaPt[iCut]);
+ }
+
fHistoMCAllPosPionsPt[iCut] = new TH1F("MC_AllPosPions_Pt","MC_AllPosPions_Pt",1000,0,25);
fMCList[iCut]->Add(fHistoMCAllPosPionsPt[iCut]);
fHistoMCAllNegPionsPt[iCut] = new TH1F("MC_AllNegPions_Pt","MC_AllNegPions_Pt",1000,0,25);
fTrueList[iCut]->SetOwner(kTRUE);
fCutFolder[iCut]->Add(fTrueList[iCut]);
- fHistoTrueConvGammaPt[iCut] = new TH1F("ESD_TrueConvGamma_Pt","ESD_TrueConvGamma_Pt",250,0,25);
- fTrueList[iCut]->Add(fHistoTrueConvGammaPt[iCut]);
- fHistoTrueConvGammaFromNeutralMesonPt[iCut] = new TH1F("ESD_TrueConvGammaFromNeutralMeson_Pt","ESD_TrueConvGammaFromNeutralMeson_Pt",250,0,25);
- fTrueList[iCut]->Add(fHistoTrueConvGammaFromNeutralMesonPt[iCut]);
-
+ if (fNeutralPionMode < 2){
+ fHistoTrueConvGammaPt[iCut] = new TH1F("ESD_TrueConvGamma_Pt","ESD_TrueConvGamma_Pt",250,0,25);
+ fTrueList[iCut]->Add(fHistoTrueConvGammaPt[iCut]);
+ fHistoTrueConvGammaFromNeutralMesonPt[iCut] = new TH1F("ESD_TrueConvGammaFromNeutralMeson_Pt","ESD_TrueConvGammaFromNeutralMeson_Pt",250,0,25);
+ fTrueList[iCut]->Add(fHistoTrueConvGammaFromNeutralMesonPt[iCut]);
+ }
+ if (fNeutralPionMode > 0){
+ fHistoTrueClusterGammaPt[iCut] = new TH1F("ESD_TrueClusterGamma_Pt","ESD_TrueClusterGamma_Pt",250,0,25);
+ fTrueList[iCut]->Add(fHistoTrueClusterGammaPt[iCut]);
+ fHistoTrueClusterGammaFromNeutralMesonPt[iCut] = new TH1F("ESD_TrueClusterGammaFromNeutralMeson_Pt","ESD_TrueClusterGammaFromNeutralMeson_Pt",250,0,25);
+ fTrueList[iCut]->Add(fHistoTrueClusterGammaFromNeutralMesonPt[iCut]);
+ }
fHistoTruePosPionPt[iCut] = new TH1F("ESD_TruePosPion_Pt","ESD_TruePosPion_Pt",1000,0,25);
fTrueList[iCut]->Add(fHistoTruePosPionPt[iCut]);
fHistoTrueNegPionPt[iCut] = new TH1F("ESD_TrueNegPion_Pt","ESD_TrueNegPion_Pt",1000,0,25);
fCutFolder[iCut]->Add( ((AliPrimaryPionCuts*)fPionCutArray->At(iCut))->GetCutHistograms() );
}
}
- if( fGammaCutArray ) {
- if( ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutHistograms() ) {
- fCutFolder[iCut]->Add( ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutHistograms() );
+ if (fNeutralPionMode < 2){
+ if( fGammaCutArray ) {
+ if( ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutHistograms() ) {
+ fCutFolder[iCut]->Add( ((AliConversionPhotonCuts*)fGammaCutArray->At(iCut))->GetCutHistograms() );
+ }
}
- }
+ }
+ if (fNeutralPionMode > 0){
+ if( fClusterCutArray ) {
+ if( ((AliCaloPhotonCuts*)fClusterCutArray->At(iCut))->GetCutHistograms() ) {
+ fCutFolder[iCut]->Add( ((AliCaloPhotonCuts*)fClusterCutArray->At(iCut))->GetCutHistograms() );
+ }
+ }
+ }
if( fNeutralPionMesonCutArray ) {
if( ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(iCut))->GetCutHistograms() ) {
fCutFolder[iCut]->Add( ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(iCut))->GetCutHistograms());
ProcessMCParticles();
}
- ProcessPhotonCandidates(); // Process this cuts gammas
- ProcessNeutralPionCandidatesPureConversions(); // Process neutral pion candidates
+ if (fNeutralPionMode < 2){
+ ProcessConversionPhotonCandidates(); // Process this cuts conversion gammas
+ }
+ if (fNeutralPionMode > 0){
+ ProcessCaloPhotonCandidates(); // Process this cuts calo gammas
+ }
+
+ if (fNeutralPionMode == 0 ){
+ ProcessNeutralPionCandidatesPureConversions(); // Process neutral pion candidates purely from conversions
+ }
+ if (fNeutralPionMode == 1){
+ ProcessNeutralPionCandidatesMixedConvCalo(); // Process neutral pion candidates mixed conv and calo
+ }
+ if (fNeutralPionMode == 2){
+ ProcessNeutralPionCandidatesPureCalo(); // Process neutral pion candidates purely from calo
+ }
+
ProcessPionCandidates(); // Process this cuts gammas
CalculateMesonCandidates();
CalculateBackground();
UpdateEventByEventData();
- fGoodGammas->Clear(); // delete this cuts good gammas
-// if (fNeutralPionCandidates->GetEntries()>0)cout << "##################################"<< fNeutralPionCandidates->GetEntries() << endl;
- if(fNeutralPionCandidates->GetEntries()>0){
- fNeutralPionCandidates->Clear();
- }
+
+ if (fGoodConvGammas->GetEntries()>0) fGoodConvGammas->Clear();
+ if (fClusterCandidates->GetEntries()>0) fClusterCandidates->Clear();
+ if (fNeutralPionCandidates->GetEntries()>0) fNeutralPionCandidates->Clear();
fGoodVirtualParticles->Clear(); // delete this cuts good gammas
}
///Grid
}
+
+//________________________________________________________________________
+void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessCaloPhotonCandidates()
+{
+
+ Int_t nclus = 0;
+ nclus = fInputEvent->GetNumberOfCaloClusters();
+
+// cout << nclus << endl;
+
+ if(nclus == 0) return;
+
+ // vertex
+ Double_t vertex[3] = {0};
+ InputEvent()->GetPrimaryVertex()->GetXYZ(vertex);
+
+ // Loop over EMCal clusters
+ for(Long_t i = 0; i < nclus; i++){
+
+ AliVCluster* clus = NULL;
+ clus = fInputEvent->GetCaloCluster(i);
+ if (!clus) continue;
+ if(!((AliCaloPhotonCuts*)fClusterCutArray->At(fiCut))->ClusterIsSelected(clus,fInputEvent,fIsMC)) continue;
+ // TLorentzvector with cluster
+ TLorentzVector clusterVector;
+ clus->GetMomentum(clusterVector,vertex);
+
+ TLorentzVector* tmpvec = new TLorentzVector();
+ tmpvec->SetPxPyPzE(clusterVector.Px(),clusterVector.Py(),clusterVector.Pz(),clusterVector.E());
+
+ // convert to AODConversionPhoton
+ AliAODConversionPhoton *PhotonCandidate=new AliAODConversionPhoton(tmpvec);
+ if(!PhotonCandidate) continue;
+
+ // Flag Photon as CaloPhoton
+ PhotonCandidate->SetIsCaloPhoton();
+ PhotonCandidate->SetCaloClusterRef(i);
+ // get MC label
+ if(fIsMC){
+ Int_t* mclabelsCluster = clus->GetLabels();
+ PhotonCandidate->SetNCaloPhotonMCLabels(clus->GetNLabels());
+// cout << clus->GetNLabels() << endl;
+ if (clus->GetNLabels()>0){
+ for (Int_t k =0; k< (Int_t)clus->GetNLabels(); k++){
+ if (k< 20)PhotonCandidate->SetCaloPhotonMCLabel(k,mclabelsCluster[k]);
+// Int_t pdgCode = fMCStack->Particle(mclabelsCluster[k])->GetPdgCode();
+// cout << "label " << k << "\t" << mclabelsCluster[k] << " pdg code: " << pdgCode << endl;
+ }
+ }
+ }
+
+ fIsFromMBHeader = kTRUE;
+ // test whether largest contribution to cluster orginates in added signals
+ if (fIsMC && ((AliConvEventCuts*)fEventCutArray->At(fiCut))->IsParticleFromBGEvent(PhotonCandidate->GetCaloPhotonMCLabel(0), fMCStack, fInputEvent) == 0) fIsFromMBHeader = kFALSE;
+
+ if (fIsFromMBHeader){
+ fHistoClusterGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
+ fHistoClusterGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+ }
+ fClusterCandidates->Add(PhotonCandidate); // if no second loop is required add to events good gammas
+
+ if(fIsMC){
+// if(fInputEvent->IsA()==AliESDEvent::Class()){
+ ProcessTrueCaloPhotonCandidates(PhotonCandidate);
+// } else {
+// ProcessTrueClusterCandidatesAOD(PhotonCandidate);
+// }
+ }
+
+ delete tmpvec;
+ }
+
+}
+
+//________________________________________________________________________
+void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessTrueCaloPhotonCandidates(AliAODConversionPhoton *TruePhotonCandidate)
+{
+ TParticle *Photon = NULL;
+ if (!TruePhotonCandidate->GetIsCaloPhoton()) AliFatal("CaloPhotonFlag has not been set task will abort");
+// fHistoTrueNLabelsInClus[fiCut]->Fill(TruePhotonCandidate->GetNCaloPhotonMCLabels());
+
+ if (TruePhotonCandidate->GetNCaloPhotonMCLabels()>0)Photon = fMCStack->Particle(TruePhotonCandidate->GetCaloPhotonMCLabel(0));
+ else return;
+
+ if(Photon == NULL){
+ // cout << "no photon" << endl;
+ return;
+ }
+
+// Int_t pdgCodeParticle = Photon->GetPdgCode();
+ TruePhotonCandidate->SetCaloPhotonMCFlags(fMCStack);
+
+ // True Photon
+ if(fIsFromMBHeader){
+ if(TruePhotonCandidate->GetCaloPhotonMCLabel(0) <= fMCStack->GetNprimary()){
+ if (TruePhotonCandidate->IsLargestComponentPhoton()){
+ fHistoTrueClusterGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
+ if (GammaIsNeutralMesonPiPlPiMiPiZeroDaughter(TruePhotonCandidate->GetCaloPhotonMCLabel(0))){
+ fHistoTrueClusterGammaFromNeutralMesonPt[fiCut]->Fill(TruePhotonCandidate->Pt());
+ }
+ }
+ if (TruePhotonCandidate->IsLargestComponentElectron() && TruePhotonCandidate->IsConversion()){
+ fHistoTrueClusterGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
+ if (GammaIsNeutralMesonPiPlPiMiPiZeroDaughter(TruePhotonCandidate->GetCaloPhotonMCLabel(0))){
+ fHistoTrueClusterGammaFromNeutralMesonPt[fiCut]->Fill(TruePhotonCandidate->Pt());
+ }
+ }
+ }
+ }
+ return;
+}
+
+
+
//________________________________________________________________________
-void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessPhotonCandidates(){
+void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessConversionPhotonCandidates(){
Int_t nV0 = 0;
TList *GoodGammasStepOne = new TList();
TList *GoodGammasStepTwo = new TList();
if(!((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->UseElecSharingCut() &&
!((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->UseToCloseV0sCut()){ // if no post reader loop is required add to events good gammas
- fGoodGammas->Add(PhotonCandidate);
+ fGoodConvGammas->Add(PhotonCandidate);
if(fIsFromMBHeader){
fHistoConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
}
if(fMCEvent){
- ProcessTruePhotonCandidates(PhotonCandidate);
+ ProcessTrueConversionPhotonCandidates(PhotonCandidate);
}
} else if(((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->UseElecSharingCut()){ // if Shared Electron cut is enabled, Fill array, add to step one
((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->FillElectonLabelArray(PhotonCandidate,nV0);
}
if(!((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->RejectSharedElectronV0s(PhotonCandidate,i,GoodGammasStepOne->GetEntries())) continue;
if(!((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->UseToCloseV0sCut()){ // To Colse v0s cut diabled, step two not needed
- fGoodGammas->Add(PhotonCandidate);
+ fGoodConvGammas->Add(PhotonCandidate);
if(fIsFromMBHeader){
fHistoConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
fHistoConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
}
if(fMCEvent){
- ProcessTruePhotonCandidates(PhotonCandidate);
+ ProcessTrueConversionPhotonCandidates(PhotonCandidate);
}
}
else GoodGammasStepTwo->Add(PhotonCandidate); // Close v0s cut enabled -> add to list two
}
if(!((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->RejectToCloseV0s(PhotonCandidate,GoodGammasStepTwo,i)) continue;
- fGoodGammas->Add(PhotonCandidate); // Add gamma to current cut TList
+ fGoodConvGammas->Add(PhotonCandidate); // Add gamma to current cut TList
if(fIsFromMBHeader){
fHistoConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt()); // Differences to old V0Reader in p_t due to conversion KF->TLorentzVector
}
if(fMCEvent){
- ProcessTruePhotonCandidates(PhotonCandidate);
+ ProcessTrueConversionPhotonCandidates(PhotonCandidate);
}
}
}
}
//________________________________________________________________________
-void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessTruePhotonCandidates(AliAODConversionPhoton *TruePhotonCandidate)
+void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessTrueConversionPhotonCandidates(AliAODConversionPhoton *TruePhotonCandidate)
{
// Process True Photons
AliStack *MCStack = fMCEvent->Stack();
//________________________________________________________________________
void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessNeutralPionCandidatesPureConversions(){
// Conversion Gammas
- if(fGoodGammas->GetEntries()>1){
- for(Int_t firstGammaIndex=0;firstGammaIndex<fGoodGammas->GetEntries()-1;firstGammaIndex++){
- AliAODConversionPhoton *gamma0=dynamic_cast<AliAODConversionPhoton*>(fGoodGammas->At(firstGammaIndex));
+ if(fGoodConvGammas->GetEntries()>1){
+ for(Int_t firstGammaIndex=0;firstGammaIndex<fGoodConvGammas->GetEntries()-1;firstGammaIndex++){
+ AliAODConversionPhoton *gamma0=dynamic_cast<AliAODConversionPhoton*>(fGoodConvGammas->At(firstGammaIndex));
if (gamma0==NULL) continue;
- for(Int_t secondGammaIndex=firstGammaIndex+1;secondGammaIndex<fGoodGammas->GetEntries();secondGammaIndex++){
- AliAODConversionPhoton *gamma1=dynamic_cast<AliAODConversionPhoton*>(fGoodGammas->At(secondGammaIndex));
+ for(Int_t secondGammaIndex=firstGammaIndex+1;secondGammaIndex<fGoodConvGammas->GetEntries();secondGammaIndex++){
+ AliAODConversionPhoton *gamma1=dynamic_cast<AliAODConversionPhoton*>(fGoodConvGammas->At(secondGammaIndex));
//Check for same Electron ID
if (gamma1==NULL) continue;
if(gamma0->GetTrackLabelPositive() == gamma1->GetTrackLabelPositive() ||
}
+//________________________________________________________________________
+void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessNeutralPionCandidatesPureCalo(){
+
+ // Conversion Gammas
+ if(fClusterCandidates->GetEntries()>0){
+
+ // vertex
+ Double_t vertex[3] = {0};
+ InputEvent()->GetPrimaryVertex()->GetXYZ(vertex);
+
+ for(Int_t firstGammaIndex=0;firstGammaIndex<fClusterCandidates->GetEntries();firstGammaIndex++){
+ AliAODConversionPhoton *gamma0=dynamic_cast<AliAODConversionPhoton*>(fClusterCandidates->At(firstGammaIndex));
+ if (gamma0==NULL) continue;
+
+ for(Int_t secondGammaIndex=0;secondGammaIndex<fClusterCandidates->GetEntries();secondGammaIndex++){
+ if (firstGammaIndex == secondGammaIndex) continue;
+ AliAODConversionPhoton *gamma1=dynamic_cast<AliAODConversionPhoton*>(fClusterCandidates->At(secondGammaIndex));
+ if (gamma1==NULL) continue;
+
+ AliAODConversionMother *pi0cand = new AliAODConversionMother(gamma0,gamma1);
+ pi0cand->SetLabels(firstGammaIndex,secondGammaIndex);
+
+ if((((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(fiCut))->MesonIsSelected(pi0cand,kTRUE,((AliConvEventCuts*)fEventCutArray->At(fiCut))->GetEtaShift()))){
+ fHistoGammaGammaInvMassPt[fiCut]->Fill(pi0cand->M(),pi0cand->Pt());
+ if (pi0cand->M() > ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(fiCut))->GetSelectionLow() && pi0cand->M() < ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(fiCut))->GetSelectionHigh()){
+ fNeutralPionCandidates->Add(pi0cand);
+// cout << "Pi0 candidate " << pi0cand->M() << "\t" << pi0cand->Pt() << endl;
+ }
+
+ if(fIsMC){
+// if(fInputEvent->IsA()==AliESDEvent::Class())
+ ProcessTrueNeutralPionCandidatesPureCalo(pi0cand,gamma0,gamma1);
+// if(fInputEvent->IsA()==AliAODEvent::Class())
+// ProcessTrueNeutralPionCandidatesPureConversionsAOD(pi0cand,gamma0,gamma1);
+ }
+ }
+ }
+ }
+ }
+}
+
+//______________________________________________________________________
+void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessTrueNeutralPionCandidatesPureCalo( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1)
+{
+ // Process True Mesons
+ AliStack *MCStack = fMCEvent->Stack();
+
+ Bool_t isTruePi0 = kFALSE;
+ Int_t gamma0MCLabel = TrueGammaCandidate0->GetCaloPhotonMCLabel(0); // get most probable MC label
+ Int_t gamma0MotherLabel = -1;
+ Int_t motherRealLabel = -1;
+
+ if(gamma0MCLabel != -1){ // Gamma is Combinatorial; MC Particles don't belong to the same Mother
+ TParticle * gammaMC0 = (TParticle*)MCStack->Particle(gamma0MCLabel);
+ if (TrueGammaCandidate0->IsLargestComponentPhoton() || TrueGammaCandidate0->IsLargestComponentElectron()){ // largest component is electro magnetic
+ // get mother of interest (pi0 or eta)
+ if (TrueGammaCandidate0->IsLargestComponentPhoton()){ // for photons its the direct mother
+ gamma0MotherLabel=gammaMC0->GetMother(0);
+ motherRealLabel=gammaMC0->GetFirstMother();
+ } else if (TrueGammaCandidate0->IsLargestComponentElectron()){ // for electrons its either the direct mother or for conversions the grandmother
+ if (TrueGammaCandidate0->IsConversion()){
+ gamma0MotherLabel=MCStack->Particle(gammaMC0->GetMother(0))->GetMother(0);
+ motherRealLabel=MCStack->Particle(gammaMC0->GetMother(0))->GetMother(0);
+ } else {
+ gamma0MotherLabel=gammaMC0->GetMother(0);
+ motherRealLabel=gammaMC0->GetMother(0);
+ }
+ }
+ }
+ }
+
+ if (!TrueGammaCandidate1->GetIsCaloPhoton()) AliFatal("CaloPhotonFlag has not been set. Aborting");
+
+ Int_t gamma1MCLabel = TrueGammaCandidate1->GetCaloPhotonMCLabel(0); // get most probable MC label
+ Int_t gamma1MotherLabel = -1;
+ // check if
+ if(gamma1MCLabel != -1){ // Gamma is Combinatorial; MC Particles don't belong to the same Mother
+ // Daughters Gamma 1
+ TParticle * gammaMC1 = (TParticle*)MCStack->Particle(gamma1MCLabel);
+ if (TrueGammaCandidate1->IsLargestComponentPhoton() || TrueGammaCandidate1->IsLargestComponentElectron()){ // largest component is electro magnetic
+ // get mother of interest (pi0 or eta)
+ if (TrueGammaCandidate1->IsLargestComponentPhoton()){ // for photons its the direct mother
+ gamma1MotherLabel=gammaMC1->GetMother(0);
+ } else if (TrueGammaCandidate1->IsLargestComponentElectron()){ // for electrons its either the direct mother or for conversions the grandmother
+ if (TrueGammaCandidate1->IsConversion()) gamma1MotherLabel=MCStack->Particle(gammaMC1->GetMother(0))->GetMother(0);
+ else gamma1MotherLabel=gammaMC1->GetMother(0);
+ }
+ }
+ }
+
+ if(gamma0MotherLabel>=0 && gamma0MotherLabel==gamma1MotherLabel){
+ if(((TParticle*)MCStack->Particle(gamma1MotherLabel))->GetPdgCode() == 111){
+ isTruePi0=kTRUE;
+ }
+ }
+
+ if(isTruePi0){// True Pion
+ Pi0Candidate->SetTrueMesonValue(1);
+ Pi0Candidate->SetMCLabel(motherRealLabel);
+ fHistoTrueMotherGammaGammaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ if( IsEtaPiPlPiMiPiZeroDaughter(motherRealLabel) ) {
+ fHistoTrueMotherGammaGammaFromEtaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ }
+ if( IsOmegaPiPlPiMiPiZeroDaughter(motherRealLabel) ) {
+ fHistoTrueMotherGammaGammaFromOmegaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ }
+ }
+}
+
+
+
//______________________________________________________________________
void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessTrueNeutralPionCandidatesPureConversions(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1)
{
}
}
}
+
//______________________________________________________________________
void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessTrueNeutralPionCandidatesPureConversionsAOD(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1)
{
}
+//________________________________________________________________________
+void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessNeutralPionCandidatesMixedConvCalo(){
+
+ // Conversion Gammas
+ if(fGoodConvGammas->GetEntries()>0){
+ // vertex
+ Double_t vertex[3] = {0};
+ InputEvent()->GetPrimaryVertex()->GetXYZ(vertex);
+
+ for(Int_t firstGammaIndex=0;firstGammaIndex<fGoodConvGammas->GetEntries();firstGammaIndex++){
+ AliAODConversionPhoton *gamma0=dynamic_cast<AliAODConversionPhoton*>(fGoodConvGammas->At(firstGammaIndex));
+ if (gamma0==NULL) continue;
+
+ for(Int_t secondGammaIndex=0;secondGammaIndex<fClusterCandidates->GetEntries();secondGammaIndex++){
+ Bool_t matched = kFALSE;
+ AliAODConversionPhoton *gamma1=dynamic_cast<AliAODConversionPhoton*>(fClusterCandidates->At(secondGammaIndex));
+ if (gamma1==NULL) continue;
+
+ if (gamma1->GetIsCaloPhoton()){
+ AliVCluster* cluster = fInputEvent->GetCaloCluster(gamma1->GetCaloClusterRef());
+ matched = ((AliCaloPhotonCuts*)fClusterCutArray->At(fiCut))->MatchConvPhotonToCluster(gamma0,cluster, fInputEvent );
+ }
+
+ AliAODConversionMother *pi0cand = new AliAODConversionMother(gamma0,gamma1);
+ pi0cand->SetLabels(firstGammaIndex,secondGammaIndex);
+
+ if((((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(fiCut))->MesonIsSelected(pi0cand,kTRUE,((AliConvEventCuts*)fEventCutArray->At(fiCut))->GetEtaShift()))){
+ if (!matched){
+ fHistoGammaGammaInvMassPt[fiCut]->Fill(pi0cand->M(),pi0cand->Pt());
+ if (pi0cand->M() > ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(fiCut))->GetSelectionLow() && pi0cand->M() < ((AliConversionMesonCuts*)fNeutralPionMesonCutArray->At(fiCut))->GetSelectionHigh()){
+ fNeutralPionCandidates->Add(pi0cand);
+ // cout << "Pi0 candidate " << pi0cand->M() << "\t" << pi0cand->Pt() << endl;
+ }
+
+ if(fIsMC){
+// if(fInputEvent->IsA()==AliESDEvent::Class())
+ ProcessTrueNeutralPionCandidatesMixedConvCalo(pi0cand,gamma0,gamma1);
+// if(fInputEvent->IsA()==AliAODEvent::Class())
+// ProcessTrueMesonCandidatesAOD(pi0cand,gamma0,gamma1, matched);
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+//______________________________________________________________________
+void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessTrueNeutralPionCandidatesMixedConvCalo( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1)
+{
+ // Process True Mesons
+ AliStack *MCStack = fMCEvent->Stack();
+ if(TrueGammaCandidate0->GetV0Index()<fInputEvent->GetNumberOfV0s()){
+ Bool_t isTruePi0 = kFALSE;
+ Bool_t isTruePi0Dalitz = kFALSE;
+ Bool_t gamma0DalitzCand = kFALSE;
+
+ Int_t gamma0MCLabel = TrueGammaCandidate0->GetMCParticleLabel(MCStack);
+ Int_t gamma0MotherLabel = -1;
+ Int_t motherRealLabel = -1;
+ if(gamma0MCLabel != -1){ // Gamma is Combinatorial; MC Particles don't belong to the same Mother
+ // Daughters Gamma 0
+ TParticle * negativeMC = (TParticle*)TrueGammaCandidate0->GetNegativeMCDaughter(MCStack);
+ TParticle * positiveMC = (TParticle*)TrueGammaCandidate0->GetPositiveMCDaughter(MCStack);
+ TParticle * gammaMC0 = (TParticle*)MCStack->Particle(gamma0MCLabel);
+ if(abs(negativeMC->GetPdgCode())==11 && abs(positiveMC->GetPdgCode())==11){ // Electrons ...
+ if(negativeMC->GetUniqueID() == 5 && positiveMC->GetUniqueID() ==5){ // ... From Conversion ...
+ if(gammaMC0->GetPdgCode() == 22){ // ... with Gamma Mother
+ gamma0MotherLabel=gammaMC0->GetFirstMother();
+ motherRealLabel=gammaMC0->GetFirstMother();
+ }
+ }
+ if(gammaMC0->GetPdgCode() ==111){ // Dalitz candidate
+ gamma0DalitzCand = kTRUE;
+ gamma0MotherLabel=-111;
+ motherRealLabel=gamma0MCLabel;
+ }
+
+ }
+ }
+
+ if (!TrueGammaCandidate1->GetIsCaloPhoton()) AliFatal("CaloPhotonFlag has not been set. Aborting");
+
+ Int_t gamma1MCLabel = TrueGammaCandidate1->GetCaloPhotonMCLabel(0); // get most probable MC label
+ Int_t gamma1MotherLabel = -1;
+ // check if
+
+ if(gamma1MCLabel != -1){ // Gamma is Combinatorial; MC Particles don't belong to the same Mother
+ // Daughters Gamma 1
+ TParticle * gammaMC1 = (TParticle*)MCStack->Particle(gamma1MCLabel);
+ if (TrueGammaCandidate1->IsLargestComponentPhoton() || TrueGammaCandidate1->IsLargestComponentElectron()){ // largest component is electro magnetic
+ // get mother of interest (pi0 or eta)
+ if (TrueGammaCandidate1->IsLargestComponentPhoton()){ // for photons its the direct mother
+ gamma1MotherLabel=gammaMC1->GetMother(0);
+ } else if (TrueGammaCandidate1->IsLargestComponentElectron()){ // for electrons its either the direct mother or for conversions the grandmother
+ if (TrueGammaCandidate1->IsConversion()) gamma1MotherLabel=MCStack->Particle(gammaMC1->GetMother(0))->GetMother(0);
+ else gamma1MotherLabel=gammaMC1->GetMother(0);
+ }
+ }
+ }
+
+ if(gamma0MotherLabel>=0 && gamma0MotherLabel==gamma1MotherLabel){
+ if(((TParticle*)MCStack->Particle(gamma1MotherLabel))->GetPdgCode() == 111){
+ isTruePi0=kTRUE;
+ }
+ }
+
+ if (gamma0DalitzCand ){
+ if (gamma0DalitzCand && gamma0MCLabel >=0 && gamma0MCLabel==gamma1MotherLabel){
+ if (gamma0MotherLabel == -111) isTruePi0Dalitz = kTRUE;
+ }
+ }
+
+ if(isTruePi0 || isTruePi0Dalitz ){
+ Pi0Candidate->SetTrueMesonValue(1);
+ Pi0Candidate->SetMCLabel(motherRealLabel);
+ fHistoTrueMotherGammaGammaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ if( IsEtaPiPlPiMiPiZeroDaughter(motherRealLabel) ) {
+ fHistoTrueMotherGammaGammaFromEtaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ }
+ if( IsOmegaPiPlPiMiPiZeroDaughter(motherRealLabel) ) {
+ fHistoTrueMotherGammaGammaFromOmegaInvMassPt[fiCut]->Fill(Pi0Candidate->M(),Pi0Candidate->Pt());
+ }
+ }
+ }
+}
+
+
//________________________________________________________________________
void AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero::ProcessPionCandidates(){
}
}
- AliAODConversionPhoton *vParticle = new AliAODConversionPhoton(virtualPhoton); //To Apply PsiPairCut
+ AliAODConversionPhoton *vParticle = new AliAODConversionPhoton(virtualPhoton); //To apply mass 2 pion mass cut
if (((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->DoMassCut()){
if (vParticle->GetMass() < ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->GetMassCut()){
fGoodVirtualParticles->Add( vParticle );
+ fHistoPionPionInvMassPt[fiCut]->Fill( vParticle->GetMass(),vParticle->Pt());
}
} else {
fGoodVirtualParticles->Add( vParticle );
+ fHistoPionPionInvMassPt[fiCut]->Fill( vParticle->GetMass(),vParticle->Pt());
}
Double_t clsToFPos = -1.0;
Float_t dcaToVertexXYNeg = -1.0;
Float_t dcaToVertexZNeg = -1.0;
- fHistoPionPionInvMassPt[fiCut]->Fill( vParticle->GetMass(),vParticle->Pt());
+
if ( fDoMesonQA ) {
clsToFPos = ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->GetNFindableClustersTPC(posPionCandidate);
if (fMCEvent){
if (fPositiveMCParticle && fNegativeMCParticle ) {
- if(TMath::Abs(fNegativeMCParticle->GetPdgCode())==211 && TMath::Abs(fPositiveMCParticle->GetPdgCode())==211){ // Pions ...
- fHistoTruePionPionInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
- if (motherlabeln == motherlabelp){
- fHistoTruePionPionFromSameMotherInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
- if( IsEtaPiPlPiMiPiZeroDaughter(labeln) ) { //|| IsOmegaPiPlPiMiPiZeroDaughter(labeln)
- fHistoTruePionPionFromEtaInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ if (((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->DoMassCut()){
+ if (vParticle->GetMass() < ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->GetMassCut()){
+ if(TMath::Abs(fNegativeMCParticle->GetPdgCode())==211 && TMath::Abs(fPositiveMCParticle->GetPdgCode())==211){ // Pions ...
+ fHistoTruePionPionInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ if (motherlabeln == motherlabelp){
+ fHistoTruePionPionFromSameMotherInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ if( IsEtaPiPlPiMiPiZeroDaughter(labeln) ) { //|| IsOmegaPiPlPiMiPiZeroDaughter(labeln)
+ fHistoTruePionPionFromEtaInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ }
+ if( IsOmegaPiPlPiMiPiZeroDaughter(labeln) ) { //||
+ fHistoTruePionPionFromOmegaInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ }
+ }
}
- if( IsOmegaPiPlPiMiPiZeroDaughter(labeln) ) { //||
- fHistoTruePionPionFromOmegaInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ }
+ } else {
+ if(TMath::Abs(fNegativeMCParticle->GetPdgCode())==211 && TMath::Abs(fPositiveMCParticle->GetPdgCode())==211){ // Pions ...
+ fHistoTruePionPionInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ if (motherlabeln == motherlabelp){
+ fHistoTruePionPionFromSameMotherInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ if( IsEtaPiPlPiMiPiZeroDaughter(labeln) ) { //|| IsOmegaPiPlPiMiPiZeroDaughter(labeln)
+ fHistoTruePionPionFromEtaInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ }
+ if( IsOmegaPiPlPiMiPiZeroDaughter(labeln) ) { //||
+ fHistoTruePionPionFromOmegaInvMassPt[fiCut]->Fill(vParticle->GetMass(),vParticle->Pt());
+ }
}
}
- }
+ }
}
}
}
if(((AliConvEventCuts*)fEventCutArray->At(fiCut))->IsParticleFromBGEvent(i, fMCStack,fInputEvent)){
-
// find MC photons
- if(((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->PhotonIsSelectedMC(particle,fMCStack,kFALSE)){
- fHistoMCAllGammaPt[fiCut]->Fill(particle->Pt()); // All MC Gamma
- if(particle->GetMother(0) >-1){
- if (fMCStack->Particle(particle->GetMother(0))->GetPdgCode() ==111){
- if (fMCStack->Particle(particle->GetMother(0))->GetMother(0) > -1){
- if ( fMCStack->Particle((fMCStack->Particle(particle->GetMother(0)))->GetMother(0))->GetPdgCode() == 221 ||
- fMCStack->Particle((fMCStack->Particle(particle->GetMother(0)))->GetMother(0))->GetPdgCode() == 223 ){
- if ( fMCStack->Particle(particle->GetMother(0))->GetNDaughters()==3 )
- fHistoMCGammaFromNeutralMesonPt[fiCut]->Fill(particle->Pt()); // All photons from eta or omega via pi0
+ if (fNeutralPionMode < 2){
+ if(((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->PhotonIsSelectedMC(particle,fMCStack,kFALSE)){
+ fHistoMCAllGammaPt[fiCut]->Fill(particle->Pt()); // All MC Gamma
+ if(particle->GetMother(0) >-1){
+ if (fMCStack->Particle(particle->GetMother(0))->GetPdgCode() ==111){
+ if (fMCStack->Particle(particle->GetMother(0))->GetMother(0) > -1){
+ if ( fMCStack->Particle((fMCStack->Particle(particle->GetMother(0)))->GetMother(0))->GetPdgCode() == 221 ||
+ fMCStack->Particle((fMCStack->Particle(particle->GetMother(0)))->GetMother(0))->GetPdgCode() == 223 ){
+ if ( fMCStack->Particle(particle->GetMother(0))->GetNDaughters()==3 )
+ fHistoMCGammaFromNeutralMesonPt[fiCut]->Fill(particle->Pt()); // All photons from eta or omega via pi0
+ }
}
}
- }
- }
+ }
+ }
+ } else if (fNeutralPionMode == 2){
+ if(((AliCaloPhotonCuts*)fClusterCutArray->At(fiCut))->ClusterIsSelectedMC(particle,fMCStack)){
+ fHistoMCAllGammaPt[fiCut]->Fill(particle->Pt()); // All MC Gamma
+ if(particle->GetMother(0) >-1){
+ if (fMCStack->Particle(particle->GetMother(0))->GetPdgCode() ==111){
+ if (fMCStack->Particle(particle->GetMother(0))->GetMother(0) > -1){
+ if ( fMCStack->Particle((fMCStack->Particle(particle->GetMother(0)))->GetMother(0))->GetPdgCode() == 221 ||
+ fMCStack->Particle((fMCStack->Particle(particle->GetMother(0)))->GetMother(0))->GetPdgCode() == 223 ){
+ if ( fMCStack->Particle(particle->GetMother(0))->GetNDaughters()==3 )
+ fHistoMCGammaFromNeutralMesonPt[fiCut]->Fill(particle->Pt()); // All photons from eta or omega via pi0
+ }
+ }
+ }
+ }
+ }
+ }
+ if (fNeutralPionMode < 2){
+ if (((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->PhotonIsSelectedMC(particle,fMCStack,kTRUE)){
+ fHistoMCConvGammaPt[fiCut]->Fill(particle->Pt());
+ } // Converted MC Gamma
}
-
- if(((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->PhotonIsSelectedMC(particle,fMCStack,kTRUE)){
- fHistoMCConvGammaPt[fiCut]->Fill(particle->Pt());
- } // Converted MC Gamma
-
if(((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->PionIsSelectedMC(i,fMCStack)){
if( particle->GetPdgCode() == 211){
fHistoMCAllPosPionsPt[fiCut]->Fill(particle->Pt()); // All pos pions
TParticle *neutPion = fMCStack->Particle(labelNeutPion);
TParticle *gamma1 = fMCStack->Particle(neutPion->GetDaughter(0));
TParticle *gamma2 = fMCStack->Particle(neutPion->GetDaughter(1));
- if(
- ((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->PhotonIsSelectedMC(gamma1,fMCStack,kFALSE) && // test first daugther of pi0
- ((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->PhotonIsSelectedMC(gamma2,fMCStack,kFALSE) && // test second daughter of pi0
- ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->PionIsSelectedMC(labelNegPion,fMCStack) && // test negative pion
- ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->PionIsSelectedMC(labelPosPion,fMCStack) // test positive pion
- ) {
- if(particle->GetPdgCode() == 221) fHistoMCEtaPiPlPiMiPiZeroInAccPt[fiCut]->Fill(particle->Pt(), weighted ); // MC Eta pi+ pi- pi0 with gamma's and e+e- in acc
- if(particle->GetPdgCode() == 223) fHistoMCOmegaPiPlPiMiPiZeroInAccPt[fiCut]->Fill(particle->Pt(), weighted ); // MC Omega pi+ pi- pi0 with gamma's and e+e- in acc
- }
+ if (fNeutralPionMode == 0){
+ if(
+ ((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->PhotonIsSelectedMC(gamma1,fMCStack,kFALSE) && // test first daugther of pi0
+ ((AliConversionPhotonCuts*)fGammaCutArray->At(fiCut))->PhotonIsSelectedMC(gamma2,fMCStack,kFALSE) && // test second daughter of pi0
+ ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->PionIsSelectedMC(labelNegPion,fMCStack) && // test negative pion
+ ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->PionIsSelectedMC(labelPosPion,fMCStack) // test positive pion
+ ) {
+ if(particle->GetPdgCode() == 221) fHistoMCEtaPiPlPiMiPiZeroInAccPt[fiCut]->Fill(particle->Pt(), weighted ); // MC Eta pi+ pi- pi0 with gamma's and e+e- in acc
+ if(particle->GetPdgCode() == 223) fHistoMCOmegaPiPlPiMiPiZeroInAccPt[fiCut]->Fill(particle->Pt(), weighted ); // MC Omega pi+ pi- pi0 with gamma's and e+e- in acc
+ }
+ } else if (fNeutralPionMode == 2){
+ if(
+ ((AliCaloPhotonCuts*)fClusterCutArray->At(fiCut))->ClusterIsSelectedMC(gamma1,fMCStack) && // test first daugther of pi0
+ ((AliCaloPhotonCuts*)fClusterCutArray->At(fiCut))->ClusterIsSelectedMC(gamma2,fMCStack) && // test second daughter of pi0
+ ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->PionIsSelectedMC(labelNegPion,fMCStack) && // test negative pion
+ ((AliPrimaryPionCuts*)fPionCutArray->At(fiCut))->PionIsSelectedMC(labelPosPion,fMCStack) // test positive pion
+ ) {
+ if(particle->GetPdgCode() == 221) fHistoMCEtaPiPlPiMiPiZeroInAccPt[fiCut]->Fill(particle->Pt(), weighted ); // MC Eta pi+ pi- pi0 with gamma's and e+e- in acc
+ if(particle->GetPdgCode() == 223) fHistoMCOmegaPiPlPiMiPiZeroInAccPt[fiCut]->Fill(particle->Pt(), weighted ); // MC Omega pi+ pi- pi0 with gamma's and e+e- in acc
+ }
+ }
+
}
}
}
if( ((AliConversionMesonCuts*)fMesonCutArray->At(fiCut))->UseTrackMultiplicity()){
mbin = fBGHandler[fiCut]->GetMultiplicityBinIndex(fNumberOfESDTracks);
} else {
- mbin = fBGHandler[fiCut]->GetMultiplicityBinIndex(fGoodGammas->GetEntries());
+ if (fNeutralPionMode < 2) mbin = fBGHandler[fiCut]->GetMultiplicityBinIndex(fGoodConvGammas->GetEntries());
+ else mbin = fBGHandler[fiCut]->GetMultiplicityBinIndex(fClusterCandidates->GetEntries());
}
fHistoMotherInvMassPt[fiCut]->Fill(mesoncand->M(),mesoncand->Pt());
if(((AliConversionMesonCuts*)fMesonCutArray->At(fiCut))->UseTrackMultiplicity()){
mbin = fBGHandler[fiCut]->GetMultiplicityBinIndex(fNumberOfESDTracks);
} else {
- mbin = fBGHandler[fiCut]->GetMultiplicityBinIndex(fGoodGammas->GetEntries());
+ if (fNeutralPionMode < 2) mbin = fBGHandler[fiCut]->GetMultiplicityBinIndex(fGoodConvGammas->GetEntries());
+ else mbin = fBGHandler[fiCut]->GetMultiplicityBinIndex(fClusterCandidates->GetEntries());
}
Int_t method = 1;
if(fNeutralPionCandidates->GetEntries() >0 ){
if(((AliConversionMesonCuts*)fMesonCutArray->At(fiCut))->UseTrackMultiplicity()){
fBGHandler[fiCut]->AddMesonEvent(fNeutralPionCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fV0Reader->GetNumberOfPrimaryTracks(),0);
- } else{ // means we use #V0s for multiplicity
- fBGHandler[fiCut]->AddMesonEvent(fNeutralPionCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fGoodGammas->GetEntries(),0);
+ } else { // means we use #V0s for multiplicity
+ if (fNeutralPionMode < 2) fBGHandler[fiCut]->AddMesonEvent(fNeutralPionCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fGoodConvGammas->GetEntries(),0);
+ else fBGHandler[fiCut]->AddMesonEvent(fNeutralPionCandidates,fInputEvent->GetPrimaryVertex()->GetX(),fInputEvent->GetPrimaryVertex()->GetY(),fInputEvent->GetPrimaryVertex()->GetZ(),fClusterCandidates->GetEntries(),0);
}
}
} else if ( method == 2 ){
#include "AliPrimaryPionSelector.h"
#include "AliConversionMesonCuts.h"
#include "AliConvEventCuts.h"
+#include "AliCaloPhotonCuts.h"
#include "AliGammaConversionAODBGHandler.h"
#include "TProfile2D.h"
class AliESDtrack;
class AliESDtrackCuts;
class AliESDpidCuts;
-class AliV0Reader;
class AliTriggerAnalysis;
class AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero: public AliAnalysisTaskSE
void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;}
-
void SetIsHeavyIon(Int_t flag){
if (flag == 1 || flag ==2 ){
fIsHeavyIon = 1;
}
void SetIsMC(Bool_t isMC){fIsMC=isMC;}
- void SetConversionCutList(Int_t nCuts, TList *CutArray){
- fnCuts= nCuts;
- fGammaCutArray = CutArray;
- }
- void SetEventCutList(Int_t nCuts, TList *CutArray){
- fnCuts= nCuts;
+ void SetEventCutList(Int_t nCuts, TList *CutArray){
+ fnCuts= nCuts;
fEventCutArray = CutArray;
}
-
- void SetPionCutList(TList *CutArray){
- fPionCutArray = CutArray;
- }
- void SetNeutralPionCutList(TList *CutArray){
- fNeutralPionMesonCutArray = CutArray;
- }
- void SetMesonCutList(TList *CutArray){
- fMesonCutArray = CutArray;
- }
+ void SetConversionCutList(TList *CutArray){ fGammaCutArray = CutArray;}
+ void SetClusterCutList(TList *CutArray){ fClusterCutArray = CutArray;}
+ void SetPionCutList(TList *CutArray){ fPionCutArray = CutArray;}
+ void SetNeutralPionCutList(TList *CutArray){ fNeutralPionMesonCutArray = CutArray; }
+ void SetMesonCutList(TList *CutArray){ fMesonCutArray = CutArray; }
void SetDoMesonQA(Bool_t flag){ fDoMesonQA = flag; }
+ void SetNeutralPionMode(Int_t mode){fNeutralPionMode = mode; }
private:
void InitBack();
- void ProcessPhotonCandidates();
- void ProcessTruePhotonCandidates(AliAODConversionPhoton*);
+
+ // routines for photon selection from conversions
+ void ProcessConversionPhotonCandidates();
+ void ProcessTrueConversionPhotonCandidates(AliAODConversionPhoton*);
+
+ // routines for photon selection from clusters
+ void ProcessCaloPhotonCandidates();
+ void ProcessTrueCaloPhotonCandidates(AliAODConversionPhoton *TruePhotonCandidate);
+
void ProcessTrueMesonCandidates(AliAODConversionMother *Pi0Candidate, AliAODConversionMother *TrueNeutralPionCandidate, AliAODConversionPhoton *TrueVirtualGammaCandidate);
void MoveParticleAccordingToVertex(AliAODConversionMother* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex);
- void ProcessNeutralPionCandidatesPureConversions();
+
+ // routines for neutral pion candidates from pure conversion
+ void ProcessNeutralPionCandidatesPureConversions();
void ProcessTrueNeutralPionCandidatesPureConversions(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
void ProcessTrueNeutralPionCandidatesPureConversionsAOD(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
+
+ // routines for neutral pion candidates from pure calo
+ void ProcessNeutralPionCandidatesPureCalo();
+ void ProcessTrueNeutralPionCandidatesPureCalo(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
+
+ // routines for neutral pion candidates from mixed conv + calo
+ void ProcessNeutralPionCandidatesMixedConvCalo();
+ void ProcessTrueNeutralPionCandidatesMixedConvCalo( AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate0, AliAODConversionPhoton *TrueGammaCandidate1);
+
void ProcessPionCandidates();
void ProcessMCParticles();
void CalculateMesonCandidates();
Bool_t IsOmegaPiPlPiMiPiZeroDaughter( Int_t label ) const;
Bool_t GammaIsNeutralMesonPiPlPiMiPiZeroDaughter( Int_t label ) const;
- AliV0ReaderV1 *fV0Reader; //
- AliPrimaryPionSelector *fPionSelector; //
- AliGammaConversionAODBGHandler **fBGHandler; //
- AliESDEvent *fESDEvent; //
- AliMCEvent *fMCEvent; //
- AliStack *fMCStack; //
- TList **fCutFolder; //
- TList **fESDList; //
- TList **fBackList; //
- TList **fMotherList; //
- TList **fTrueList; //
- TList **fMCList; //
- TList *fOutputContainer; //
- TClonesArray *fReaderGammas; //
- vector<Int_t> fSelectorNegPionIndex; //
- vector<Int_t> fSelectorPosPionIndex; //
- TList *fGoodGammas; //
- TList *fNeutralPionCandidates; //
- TList *fGoodVirtualParticles; //
- TList *fEventCutArray; //
- TList *fGammaCutArray; //
- TList *fPionCutArray; //
- TList *fNeutralPionMesonCutArray; //
- TList *fMesonCutArray; //
- AliConvEventCuts *fEventCuts; //
- AliConversionPhotonCuts *fConversionCuts; //
+ AliV0ReaderV1 *fV0Reader; // V0Reader for basic conversion photon selection
+ AliPrimaryPionSelector *fPionSelector; // primary charged pion selector, basic selection of pi+,pi-
+ AliGammaConversionAODBGHandler **fBGHandler; // BG handler
+ AliESDEvent *fESDEvent; // current event
+ AliMCEvent *fMCEvent; // current MC event
+ AliStack *fMCStack; // current MC stack
+ TList **fCutFolder; // list of output folders with main cut name
+ TList **fESDList; // list with main output histograms for data
+ TList **fBackList; // list with THnSparseF for BG
+ TList **fMotherList; // list with THnSparseF for FG
+ TList **fTrueList; // list with validated reconstructed MC histograms
+ TList **fMCList; // list with pure MC histograms
+ TList *fOutputContainer; // output container
+ TClonesArray *fReaderGammas; // array with photon from fV0Reader
+ vector<Int_t> fSelectorNegPionIndex; // array with pion indices for negative pions from fPionSelector
+ vector<Int_t> fSelectorPosPionIndex; // array with pion indices for positive pions from fPionSelector
+ TList *fGoodConvGammas; // good conv gammas after selection
+ TList *fClusterCandidates; //! good calo gammas after selection
+ TList *fNeutralPionCandidates; // good neutral pion candidates
+ TList *fGoodVirtualParticles; // combination of pi+pi- candidates
+ TList *fEventCutArray; // array with event cuts
+ TList *fGammaCutArray; // array with Conversion Cuts
+ TList *fClusterCutArray; // array with Cluster Cuts
+ TList *fPionCutArray; // array with charged pion cuts
+ TList *fNeutralPionMesonCutArray; // array with neutral pion cuts
+ TList *fMesonCutArray; // array with neutral meson cuts
+ AliConvEventCuts *fEventCuts; // current event cuts
+ AliConversionPhotonCuts *fConversionCuts; // current conversion cuts
+ AliCaloPhotonCuts *fClusterCuts; // current cluster cuts
// reconstructed particles
- TH1F **fHistoConvGammaPt; //
- TH1F **fHistoConvGammaEta; //
- TH1F **fHistoNegPionPt; //
- TH1F **fHistoPosPionPt; //
- TH1F **fHistoNegPionPhi; //
- TH1F **fHistoPosPionPhi; //
- TH1F **fHistoNegPionEta; //
- TH1F **fHistoPosPionEta; //
- TH2F **fHistoNegPionClsTPC; //
- TH2F **fHistoPosPionClsTPC; //
- TH2F **fHistoPionDCAxy; //
- TH2F **fHistoPionDCAz; //
- TH2F **fHistoPionTPCdEdxNSigma; //
- TH2F **fHistoPionTPCdEdx; //
- TH2F **fHistoPionPionInvMassPt; //
- TH2F **fHistoGammaGammaInvMassPt; //
- TH2F **fHistoMotherInvMassPt; //
- THnSparseF **fTHnSparseMotherInvMassPtZM; //
- TH2F **fHistoMotherBackInvMassPt; //
- THnSparseF **fTHnSparseMotherBackInvMassPtZM; //
+ TH1F **fHistoConvGammaPt; // array of histos of conversion photon, pt
+ TH1F **fHistoConvGammaEta; // array of histos of conversion photon, eta
+ TH1F **fHistoClusterGammaPt; // array of histos of Cluster photon, pt
+ TH1F **fHistoClusterGammaEta; // array of histos of Cluster photon, eta
+ TH1F **fHistoNegPionPt; // array of histos of negative pion, pt
+ TH1F **fHistoPosPionPt; // array of histos of positive pion, pt
+ TH1F **fHistoNegPionPhi; // array of histos of negative pion, phi
+ TH1F **fHistoPosPionPhi; // array of histos of positive pion, phi
+ TH1F **fHistoNegPionEta; // array of histos of negative pion, eta
+ TH1F **fHistoPosPionEta; // array of histos of positive pion, eta
+ TH2F **fHistoNegPionClsTPC; // array of histos of negative pion, findable tpc cluster, pT
+ TH2F **fHistoPosPionClsTPC; // array of histos of positive pion, findable tpc cluster, pT
+ TH2F **fHistoPionDCAxy; // array of histos of pion, dca_xy, pT
+ TH2F **fHistoPionDCAz; // array of histos of pion, dca_z, pT
+ TH2F **fHistoPionTPCdEdxNSigma; // array of histos of pion, p, TPC nSigma dEdx pion
+ TH2F **fHistoPionTPCdEdx; // array of histos of pion, p, TPC dEdx
+ TH2F **fHistoPionPionInvMassPt; // array of histos of pion pion, invMass, pT_{pi+pi-}
+ TH2F **fHistoGammaGammaInvMassPt; // array of histos of gamma-gamma, invMass, pT_{gamma gamma}
+ TH2F **fHistoMotherInvMassPt; // array of histos of pi+pi-pi0 same event, invMass, pT_{pi+pi-pi0}
+ THnSparseF **fTHnSparseMotherInvMassPtZM; // array of THnSparseF of pi+pi-pi0 same event, invMass, pT_{pi+pi-pi0}, Z, M
+ TH2F **fHistoMotherBackInvMassPt; // array of histos of pi+pi-pi0 mixed event, invMass, pT_{pi+pi-pi0}
+ THnSparseF **fTHnSparseMotherBackInvMassPtZM; // array of THnSparseF of pi+pi-pi0 mixed event, invMass, pT_{pi+pi-pi0}, Z, M
// pure MC properties
- TH1F **fHistoMCAllGammaPt; //
- TH1F **fHistoMCConvGammaPt; //
- TH1F **fHistoMCAllPosPionsPt; //
- TH1F **fHistoMCAllNegPionsPt; //
- TH1F **fHistoMCGammaFromNeutralMesonPt; //
- TH1F **fHistoMCPosPionsFromNeutralMesonPt; //
- TH1F **fHistoMCNegPionsFromNeutralMesonPt; //
- TH1F **fHistoMCEtaPiPlPiMiPiZeroPt; //
- TH1F **fHistoMCEtaPiPlPiMiPiZeroInAccPt; //
- TH1F **fHistoMCOmegaPiPlPiMiPiZeroPt; //
- TH1F **fHistoMCOmegaPiPlPiMiPiZeroInAccPt; //
+ TH1F **fHistoMCAllGammaPt; // array of histos of all produced gammas in the specified y range
+ TH1F **fHistoMCConvGammaPt; // array of histos of all converted gammas in the specified y range
+ TH1F **fHistoMCAllPosPionsPt; // array of histos with all produced primary positive pions in the specified y range
+ TH1F **fHistoMCAllNegPionsPt; // array of histos with all produced primary negative pions in the specified y range
+ TH1F **fHistoMCGammaFromNeutralMesonPt; // array of histos of all produced gammas from omega or eta via pi+pi-pi0 in the specified y range/
+ TH1F **fHistoMCPosPionsFromNeutralMesonPt; // array of histos of all produced positive pions from omega or eta via pi+pi-pi0 in the specified y range/
+ TH1F **fHistoMCNegPionsFromNeutralMesonPt; // array of histos of all produced negative pions from omega or eta via pi+pi-pi0 in the specified y range/
+ TH1F **fHistoMCEtaPiPlPiMiPiZeroPt; // array of histos of produced etas via pi+pi-pi0 in the specified y range
+ TH1F **fHistoMCEtaPiPlPiMiPiZeroInAccPt; // array of histos of produced etas via pi+pi-pi0 in the specified y range, with decay products in respective y, eta ranges
+ TH1F **fHistoMCOmegaPiPlPiMiPiZeroPt; // array of histos of produced omegas via pi+pi-pi0 in the specified y range
+ TH1F **fHistoMCOmegaPiPlPiMiPiZeroInAccPt; // array of histos of produced omegas via pi+pi-pi0 in the specified y range, with decay products in respective y, eta ranges
// reconstructed particles MC validated
TH2F **fHistoTrueMotherPiPlPiMiPiZeroInvMassPt; // histos with reconstructed validated eta or omega, inv mass, pT
TH2F **fHistoTrueMotherGammaGammaInvMassPt; // histos with reconstructed validated pi0, inv mass, pT
TH2F **fHistoTrueMotherGammaGammaFromEtaInvMassPt; // histos with reconstructed validated pi0, inv mass, pT
TH2F **fHistoTrueMotherGammaGammaFromOmegaInvMassPt; // histos with reconstructed validated pi0, inv mass, pT
- TH1F **fHistoTrueConvGammaPt; // histos with reconstructed validated gamma, pT
- TH1F **fHistoTrueConvGammaFromNeutralMesonPt; // histos with reconstructed validated gamma from eta or omega via pi0, pT
+ TH1F **fHistoTrueConvGammaPt; // histos with reconstructed validated conv gamma, pT
+ TH1F **fHistoTrueConvGammaFromNeutralMesonPt; // histos with reconstructed validated conv gamma from eta or omega via pi0, pT
+ TH1F **fHistoTrueClusterGammaPt; // histos with reconstructed validated cluster gamma, pT
+ TH1F **fHistoTrueClusterGammaFromNeutralMesonPt; // histos with reconstructed validated cluster gamma from eta or omega via pi0, pT
TH1F **fHistoTruePosPionPt; // histos with reconstructed validated positive pion, pT
TH1F **fHistoTruePosPionFromNeutralMesonPt; // histos with reconstructed validated positive pion from eta or omega, pT
TH1F **fHistoTrueNegPionPt; // histos with reconstructed validated negative pion, pT
Bool_t fDoMesonQA; // Flag for switching on small meson QA
Bool_t fIsFromMBHeader; // Flag for particle whether it belongs to accepted header
Bool_t fIsMC; // Flag for MC
+ Int_t fNeutralPionMode; // Flag how neutral pion is reconstructed 0=PCM-PCM, 1=PCM-Calo, 2=Calo-Calo
private:
AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero( const AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero& ); // Not implemented
AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero& operator=( const AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero& ); // Not implemented
- ClassDef( AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero, 1 );
+ ClassDef( AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero, 2 );
};
#endif // ALIANALYSISTASKNEUTRALMESONTOPIPLPIMIPIZERO_H
#include "AliAODMCHeader.h"
#include "AliPicoTrack.h"
#include "AliEMCALRecoUtils.h"
-#include "AliPHOSGeoUtils.h"
+#include "AliTrackerBase.h"
class iostream;
fHistDistanceToBadChannelAfterAcc(NULL),
fHistClusterRBeforeQA(NULL),
fHistClusterRAfterQA(NULL),
+ fHistClusterdEtadPhiBeforeQA(NULL),
+ fHistClusterdEtadPhiAfterQA(NULL),
fHistClusterTimevsEBeforeQA(NULL),
fHistClusterTimevsEAfterQA(NULL),
fHistExoticCellBeforeQA(NULL),
fHistClusterEtavsPhiAfterQA(NULL),
fHistDistanceToBadChannelBeforeAcc(NULL),
fHistDistanceToBadChannelAfterAcc(NULL),
- fHistClusterRBeforeQA(NULL),
- fHistClusterRAfterQA(NULL),
+ fHistClusterRBeforeQA(NULL),
+ fHistClusterRAfterQA(NULL),
+ fHistClusterdEtadPhiBeforeQA(NULL),
+ fHistClusterdEtadPhiAfterQA(NULL),
fHistClusterTimevsEBeforeQA(NULL),
fHistClusterTimevsEAfterQA(NULL),
fHistExoticCellBeforeQA(NULL),
fHistograms->Add(fHistDistanceToBadChannelAfterAcc);
// Cluster quality related histograms
- fHistClusterRBeforeQA = new TH1F(Form("R_Cluster_beforeClusterQA %s",GetCutNumber().Data()),"R of cluster",200,400,500);
- fHistograms->Add(fHistClusterRBeforeQA);
- fHistClusterRAfterQA = new TH1F(Form("R_Cluster_afterClusterQA %s",GetCutNumber().Data()),"R of cluster_matched",200,400,500);
- fHistograms->Add(fHistClusterRAfterQA);
+ fHistClusterRBeforeQA = new TH1F(Form("R_Cluster_beforeClusterQA %s",GetCutNumber().Data()),"R of cluster",200,400,500);
+ fHistograms->Add(fHistClusterRBeforeQA);
+ fHistClusterRAfterQA = new TH1F(Form("R_Cluster_afterClusterQA %s",GetCutNumber().Data()),"R of cluster_matched",200,400,500);
+ fHistograms->Add(fHistClusterRAfterQA);
+ fHistClusterdEtadPhiBeforeQA=new TH2F(Form("dEtaVsdPhi_beforeClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_beforeClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiBeforeQA);
+ fHistClusterdEtadPhiAfterQA=new TH2F(Form("dEtaVsdPhi_afterClusterQA %s",GetCutNumber().Data()),"dEtaVsdPhi_afterClusterQA",240,-0.3,0.3,240,-0.3,0.3);
+ fHistograms->Add(fHistClusterdEtadPhiAfterQA);
fHistClusterTimevsEBeforeQA=new TH2F(Form("ClusterTimeVsE_beforeClusterQA %s",GetCutNumber().Data()),"ClusterTimeVsE_beforeClusterQA",400,-10e-6,10e-6,100,0.,40);
fHistograms->Add(fHistClusterTimevsEBeforeQA);
fHistClusterTimevsEAfterQA=new TH2F(Form("ClusterTimeVsE_afterClusterQA %s",GetCutNumber().Data()),"ClusterTimeVsE_afterClusterQA",400,-10e-6,10e-6,100,0.,40);
}
}
-//cout << "Got the event" << endl;
-
Double_t vertex[3] = {0,0,0};
event->GetPrimaryVertex()->GetXYZ(vertex);
if(!cluster->IsEMCAL() && !cluster->IsPHOS()){AliError("Cluster is neither EMCAL nor PHOS, returning"); return kFALSE;}
- // TLorentzvector with cluster
- TLorentzVector clusterVector;
- cluster->GetMomentum(clusterVector,vertex);
- Double_t etaCluster = clusterVector.Eta();
- Double_t phiCluster = clusterVector.Phi();
Float_t clusterPosition[3] = {0,0,0};
cluster->GetPosition(clusterPosition);
}
}
}
-//cout << "found track " << endl;
-// AliVTrack *outTrack = 0x00;
-// if (esdev)
-// outTrack = new AliESDtrack(*((AliESDtrack*)inTrack));
-// else
-// outTrack = new AliAODTrack(*((AliAODTrack*)inTrack));
-
- Bool_t propagated = kFALSE;
- TVector3 VecPHOS(0,0,0);
- //Double_t EMCALpos[3]={0,0,0};
-
- if(cluster->IsEMCAL()){
- //AliExternalTrackParam t;
- //t.CopyFromVTrack(inTrack);
- //Double_t b[3]={0,0,0};
- //t.GetBxByBz(b);
- //propagated = t.PropagateToBxByBz(clusterR,b);
- //t.GetXYZ(EMCALpos);
- propagated = AliEMCALRecoUtils::ExtrapolateTrackToEMCalSurface(inTrack, clusterR, 0.000510999, 20, 0.05);
- }
- if(cluster->IsPHOS()){
- AliExternalTrackParam t;// = inTrack->GetOuterParam();
- t.CopyFromVTrack(inTrack);
- Double_t b[3]={0,0,0};
- Double_t PHOSpos[3]={0,0,0};
- t.GetBxByBz(b);
- propagated = t.PropagateToBxByBz(clusterR,b);
- t.GetXYZ(PHOSpos);
- VecPHOS.SetXYZ(PHOSpos[0],PHOSpos[1],PHOSpos[2]);
- }
-
- if (propagated){
-//cout << "Track "<< i << "\t"<< inTrack->GetTrackPhiOnEMCal() << "\t" << inTrack->GetTrackEtaOnEMCal() << endl;
-//cout << "Cluster " << phiCluster << "\t" << etaCluster << endl;
- Double_t dPhi = 0;
- Double_t dEta = 0;
- if(cluster->IsEMCAL()){
- //TVector3 VecEMCAL(EMCALpos[0],EMCALpos[1],EMCALpos[2]);
- //dPhi=TMath::Abs(phiCluster-VecEMCAL.Phi());
- //dEta=TMath::Abs(etaCluster-VecEMCAL.Eta());
- dPhi = TMath::Abs(phiCluster-inTrack->GetTrackPhiOnEMCal());
- dEta = TMath::Abs(etaCluster-inTrack->GetTrackEtaOnEMCal());
- }
- if(cluster->IsPHOS()){
- dPhi = TMath::Abs(phiCluster-VecPHOS.Phi());
- dEta = TMath::Abs(etaCluster-VecPHOS.Eta());
- }
-
- Double_t dR2 = dPhi*dPhi + dEta*dEta;
-//cout << "distance to cluster \t" << TMath::Sqrt(dR2) << endl;
- if (fHistDistanceTrackToClusterBeforeQA)fHistDistanceTrackToClusterBeforeQA->Fill(TMath::Sqrt(dR2));
- if(dR2 < fMinDistTrackToCluster*fMinDistTrackToCluster){
- matched = kTRUE;
- if (fHistDistanceTrackToClusterAfterQA)fHistDistanceTrackToClusterAfterQA->Fill(TMath::Sqrt(dR2));
- if (fHistClusterRAfterQA) fHistClusterRAfterQA->Fill(clusterR);
- }
- }
- }
+ if( inTrack->Pt() < 0.005 ) continue;
+
+ AliESDtrack *esdt = dynamic_cast<AliESDtrack*>(inTrack);
+ AliAODTrack *aodt = 0;
+ if (!esdt) {
+ aodt = dynamic_cast<AliAODTrack*>(inTrack);
+ if (!aodt){AliError("Track is neither ESD nor AOD, continue"); continue;}
+ }
+
+ AliExternalTrackParam *trackParam = 0;
+ if (esdt) {
+ const AliExternalTrackParam *in = esdt->GetInnerParam();
+ if (!in){AliError("Could not get InnerParam of Track, continue"); continue;}
+ trackParam = new AliExternalTrackParam(*in);
+ } else {
+ Double_t xyz[3] = {0}, pxpypz[3] = {0}, cv[21] = {0};
+ aodt->PxPyPz(pxpypz);
+ aodt->XvYvZv(xyz);
+ aodt->GetCovarianceXYZPxPyPz(cv);
+ trackParam = new AliExternalTrackParam(xyz,pxpypz,cv,aodt->Charge());
+ }
+
+ Bool_t propagated = kFALSE;
+ AliExternalTrackParam emcParam(*trackParam);
+ Float_t dPhi = 0;
+ Float_t dEta = 0;
+
+ if(cluster->IsEMCAL()){
+ Float_t eta = 0; Float_t phi = 0; Float_t pt = 0;
+ propagated = AliEMCALRecoUtils::ExtrapolateTrackToEMCalSurface(&emcParam, 430, 0.000510999, 20, eta, phi, pt);
+ if(propagated){
+ propagated = AliEMCALRecoUtils::ExtrapolateTrackToCluster(&emcParam, cluster, 0.000510999, 5, dEta, dPhi);
+ }
+ }
+ if(cluster->IsPHOS()){
+ propagated = AliTrackerBase::PropagateTrackToBxByBz(&emcParam, clusterR, 0.000510999, 20, kTRUE, 0.8, -1);
+ if (propagated){
+ Double_t trkPos[3] = {0,0,0};
+ emcParam.GetXYZ(trkPos);
+ TVector3 trkPosVec(trkPos[0],trkPos[1],trkPos[2]);
+ TVector3 clsPosVec(clusterPosition);
+ dPhi = clsPosVec.DeltaPhi(trkPosVec);
+ dEta = clsPosVec.Eta()-trkPosVec.Eta();
+ }
+ }
+
+ if (propagated){
+ Float_t dR2 = dPhi*dPhi + dEta*dEta;
+ if (fHistDistanceTrackToClusterBeforeQA)fHistDistanceTrackToClusterBeforeQA->Fill(TMath::Sqrt(dR2));
+ if (fHistClusterdEtadPhiBeforeQA) fHistClusterdEtadPhiBeforeQA->Fill(dEta, dPhi);
+ if(dR2 < fMinDistTrackToCluster*fMinDistTrackToCluster){
+ matched = kTRUE;
+ if (fHistDistanceTrackToClusterAfterQA)fHistDistanceTrackToClusterAfterQA->Fill(TMath::Sqrt(dR2));
+ if (fHistClusterdEtadPhiAfterQA) fHistClusterdEtadPhiAfterQA->Fill(dEta, dPhi);
+ if (fHistClusterRAfterQA) fHistClusterRAfterQA->Fill(clusterR);
+ }
+
+ }
+ delete trackParam;
+ }
return matched;
+
}
//____________________________________________________________________________________________
break;
case 1:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.04;
+ fMinDistTrackToCluster= 0.03; //0.04;
break;
case 2:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.05;
+ fMinDistTrackToCluster= 0.035; //0.05;
break;
case 3:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.1;
+ fMinDistTrackToCluster= 0.04; //0.1;
break;
case 4:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.13;
+ fMinDistTrackToCluster= 0.045; //0.13;
break;
case 5:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.15;
+ fMinDistTrackToCluster= 0.05; //0.15
break;
case 6:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.2;
+ fMinDistTrackToCluster= 0.055; //0.2;
break;
case 7:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.3;
+ fMinDistTrackToCluster= 0.06; //0.3;
break;
case 8:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.4;
+ fMinDistTrackToCluster= 0.07; //0.4;
break;
case 9:
if (!fUseDistTrackToCluster) fUseDistTrackToCluster=1;
- fMinDistTrackToCluster=0.5;
+ fMinDistTrackToCluster= 0.1; //0.5;
break;
default:
TH2F* fHistClusterEtavsPhiAfterQA; // eta-phi-distribution of all after cluster quality cuts
TH1F* fHistDistanceToBadChannelBeforeAcc; // distance to bad channel before acceptance cuts
TH1F* fHistDistanceToBadChannelAfterAcc; // distance to bad channel after acceptance cuts
- TH1F *fHistClusterRBeforeQA; // cluster position in R=SQRT(x^2+y^2) (before QA)
- TH1F *fHistClusterRAfterQA; // cluster position in R=SQRT(x^2+y^2) for matched tracks (After QA)
+ TH1F* fHistClusterRBeforeQA; // cluster position in R=SQRT(x^2+y^2) (before QA)
+ TH1F* fHistClusterRAfterQA; // cluster position in R=SQRT(x^2+y^2) for matched tracks (After QA)
+ TH2F* fHistClusterdEtadPhiBeforeQA; // 2-dim plot dEta vs. dPhi
+ TH2F* fHistClusterdEtadPhiAfterQA; // 2-dim plot dEta vs. dPhi for matched tracks (after QA)
TH2F* fHistClusterTimevsEBeforeQA; // Cluster time vs E before cluster quality cuts
TH2F* fHistClusterTimevsEAfterQA; // Cluster time vs E after cluster quality cuts
TH2F* fHistExoticCellBeforeQA; // Exotic cell: 1-Ecross/E cell vs Ecluster before acceptance cuts
private:
- ClassDef(AliCaloPhotonCuts,1)
+ ClassDef(AliCaloPhotonCuts,2)
};
#endif
fHistTrackDCAzPtbefore(NULL),
fHistTrackDCAzPtafter(NULL),
fHistTrackNFindClsPtTPCbefore(NULL),
- fHistTrackNFindClsPtTPCafter(NULL)
+ fHistTrackNFindClsPtTPCafter(NULL),
+ fStringITSClusterCut("")
{
InitPIDResponse();
for(Int_t jj=0;jj<kNCuts;jj++){ fCuts[jj]=0; }
if(!SetCut(cutIds(ii),fCuts[ii]))return kFALSE;
}
- PrintCuts();
+ PrintCutsWithValues();
return kTRUE;
}
///________________________________________________________________________
}
///________________________________________________________________________
-
void AliPrimaryPionCuts::PrintCuts() {
// Print out current Cut Selection
for(Int_t ic = 0; ic < kNCuts; ic++) {
}
}
+///________________________________________________________________________
+void AliPrimaryPionCuts::PrintCutsWithValues() {
+ // Print out current Cut Selection with value
+ printf("\nCharged Pion cutnumber \n");
+ for(Int_t ic = 0; ic < kNCuts; ic++) {
+ printf("%d",fCuts[ic]);
+ }
+ printf("\n\n");
+
+ printf("Acceptance cuts \n");
+ if (fDoEtaCut) printf("\t |eta_{pi+-}| < %3.2f \n", fEtaCut);
+ else printf("\t none \n");
+ printf("Track cuts \n");
+ printf("\t %s \n", fStringITSClusterCut.Data());
+ printf("\t min N cluster TPC > %3.2f \n", fMinClsTPC);
+ printf("\t min N cluster TPC/ findable > %3.2f \n", fMinClsTPCToF);
+// printf("\t dca > %3.2f \n", fMinClsTPCToF);
+// "kDCAcut", // 3
+ printf("\t min pT > %3.2f \n", fPtCut);
+ printf("PID cuts \n");
+ if (fDodEdxSigmaITSCut)printf("\t %3.2f < ITS n_sigma pi < %3.2f \n", fPIDnSigmaBelowPionLineITS, fPIDnSigmaAbovePionLineITS );
+ if (fDodEdxSigmaTPCCut)printf("\t %3.2f < TPC n_sigma pi < %3.2f \n", fPIDnSigmaBelowPionLineTPC, fPIDnSigmaAbovePionLineTPC );
+ if (fDoTOFsigmaCut)printf("\t %3.2f < TOF n_sigma pi < %3.2f \n", fPIDnSigmaBelowPionLineTOF, fPIDnSigmaAbovePionLineTOF );
+ if (fDoMassCut) printf("two-pion mass cut < %3.2f \n", fMassCut);
+ printf("\n\n");
+}
+
+
+
///________________________________________________________________________
Bool_t AliPrimaryPionCuts::SetITSdEdxCutPionLine(Int_t ededxSigmaCut){
switch(ededxSigmaCut){
switch(clsITSCut){
case 0:
fEsdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kOff);
+ fStringITSClusterCut= "no SPD cluster requirement";
break;
case 1:
fEsdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kFirst);
+ fStringITSClusterCut= "first SPD cluster required";
break; //1 hit first layer of SPD
case 2:
fEsdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
+ fStringITSClusterCut= "first or second SPD cluster required";
break; //1 hit in any layer of SPD
case 3:
fEsdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kFirst);
fEsdTrackCuts->SetMinNClustersITS(4);
+ fStringITSClusterCut= "first SPD cluster required, min number of ITS clusters = 4";
// 4 hits in total in the ITS. At least 1 hit in the first layer of SPD
break;
case 4:
fEsdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
fEsdTrackCuts->SetMinNClustersITS(3);
+ fStringITSClusterCut= "first or second SPD cluster required, min number of ITS clusters = 3";
// 3 hits in total in the ITS. At least 1 hit in any layer of SPD
break;
case 5:
fEsdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
fEsdTrackCuts->SetMinNClustersITS(4);
+ fStringITSClusterCut= "first or second SPD cluster required, min number of ITS clusters = 4";
// 4 hits in total in the ITS. At least 1 hit in any layer of SPD
break;
case 6:
fEsdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
fEsdTrackCuts->SetMinNClustersITS(5);
+ fStringITSClusterCut= "first or second SPD cluster required, min number of ITS clusters = 5";
// 5 hits in total in the ITS. At least 1 hit in any layer of SPD
break;
default:
fEsdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");
fEsdTrackCuts->SetMaxChi2TPCConstrainedGlobal(36);
break;
- case 2: fEsdTrackCuts->SetMaxDCAToVertexZ(2);
+ case 2:
+ fEsdTrackCuts->SetMaxDCAToVertexZ(2);
fEsdTrackCuts->SetMaxDCAToVertexXY(1);
fEsdTrackCuts->SetMaxChi2TPCConstrainedGlobal(36);
break;
break;
case 2: // cut at 0.7 GeV/c^2
fDoMassCut = kTRUE;
- fMassCut = 0.7;
+ fMassCut = 0.75;
break;
case 3: // cut at 0.6 GeV/c^2
fDoMassCut = kTRUE;
AliPIDResponse * GetPIDResponse() { return fPIDResponse;}
void PrintCuts();
-
+ void PrintCutsWithValues();
+
void InitCutHistograms(TString name="",Bool_t preCut = kTRUE,TString cutName="");
void SetFillCutHistograms(TString name="",Bool_t preCut = kTRUE,TString cutName=""){if(!fHistograms){InitCutHistograms(name,preCut,cutName);};}
TList *GetCutHistograms(){return fHistograms;}
TH2F *fHistTrackNFindClsPtTPCbefore;
TH2F *fHistTrackNFindClsPtTPCafter;
+ TString fStringITSClusterCut;
+
private:
AliPrimaryPionCuts(const AliPrimaryPionCuts&); // not implemented
--- /dev/null
+void AddTask_GammaConvNeutralMesonPiPlPiMiPiZero_CaloMode_pPb(
+ Int_t trainConfig = 1,
+ Bool_t isMC = kFALSE, //run MC
+ Bool_t enableQAMesonTask = kTRUE, //enable QA in AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero
+ TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
+ Bool_t doWeighting = kFALSE, //enable Weighting
+ TString generatorName = "HIJING",
+ TString cutnumberAODBranch = "0000000060084001001500000"
+ ) {
+
+ // ================= Load Librariers =================================
+ gSystem->Load("libCore.so");
+ gSystem->Load("libTree.so");
+ gSystem->Load("libGeom.so");
+ gSystem->Load("libVMC.so");
+ gSystem->Load("libPhysics.so");
+ gSystem->Load("libMinuit");
+ gSystem->Load("libSTEERBase");
+ gSystem->Load("libESD");
+ gSystem->Load("libAOD");
+ gSystem->Load("libANALYSIS");
+ gSystem->Load("libANALYSISalice");
+ gSystem->Load("libPWGGAGammaConv.so");
+ gSystem->Load("libCDB.so");
+ gSystem->Load("libSTEER.so");
+ gSystem->Load("libSTEERBase.so");
+ gSystem->Load("libTENDER.so");
+ gSystem->Load("libTENDERSupplies.so");
+
+ Int_t isHeavyIon = 2;
+ Int_t neutralPionMode = 2;
+
+ // ================== GetAnalysisManager ===============================
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ Error(Form("AddTask_GammaConvNeutralMesonPiPlPiMiPiZero_pPb_%i",trainConfig), "No analysis manager found.");
+ return ;
+ }
+
+ // ================== GetInputEventHandler =============================
+ AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
+
+ //========= Add PID Reponse to ANALYSIS manager ====
+ if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
+ AddTaskPIDResponse(isMC);
+ }
+
+ //========= Set Cutnumber for V0Reader ================================
+ TString cutnumberPhoton = "060084001001500000000";
+ TString cutnumberEvent = "8000000";
+ TString PionCuts = "000000200"; //Electron Cuts
+
+
+
+ Bool_t doEtaShift = kFALSE;
+
+ AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
+
+ //========= Add V0 Reader to ANALYSIS manager if not yet existent =====
+ if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
+ AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
+
+ fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
+ fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
+ fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
+
+ if (!mgr) {
+ Error("AddTask_V0ReaderV1", "No analysis manager found.");
+ return;
+ }
+
+ AliConvEventCuts *fEventCuts=NULL;
+ if(cutnumberEvent!=""){
+ fEventCuts= new AliConvEventCuts(cutnumberEvent.Data(),cutnumberEvent.Data());
+ fEventCuts->SetPreSelectionCutFlag(kTRUE);
+ if(fEventCuts->InitializeCutsFromCutString(cutnumberEvent.Data())){
+ fEventCuts->DoEtaShift(doEtaShift);
+ fV0ReaderV1->SetEventCuts(fEventCuts);
+ fEventCuts->SetFillCutHistograms("",kTRUE);
+ }
+ }
+
+ // Set AnalysisCut Number
+ AliConversionPhotonCuts *fCuts=NULL;
+ if(cutnumberPhoton!=""){
+ fCuts= new AliConversionPhotonCuts(cutnumberPhoton.Data(),cutnumberPhoton.Data());
+ fCuts->SetPreSelectionCutFlag(kTRUE);
+ fCuts->SetIsHeavyIon(isHeavyIon);
+ if(fCuts->InitializeCutsFromCutString(cutnumberPhoton.Data())){
+ fV0ReaderV1->SetConversionCuts(fCuts);
+ fCuts->SetFillCutHistograms("",kTRUE);
+ }
+ }
+
+ if(inputHandler->IsA()==AliAODInputHandler::Class()){
+ // AOD mode
+ fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",cutnumberAODBranch.Data()));
+ }
+ fV0ReaderV1->Init();
+
+ AliLog::SetGlobalLogLevel(AliLog::kInfo);
+
+ //connect input V0Reader
+ mgr->AddTask(fV0ReaderV1);
+ mgr->ConnectInput(fV0ReaderV1,0,cinput);
+ }
+
+ //================================================
+ //========= Add Electron Selector ================
+
+
+ if( !(AliPrimaryPionSelector*)mgr->GetTask("PionSelector") ){
+
+ AliPrimaryPionSelector *fPionSelector = new AliPrimaryPionSelector("PionSelector");
+ // Set AnalysisCut Number
+
+ AliPrimaryPionCuts *fPionCuts=0;
+ if( PionCuts!=""){
+ fPionCuts= new AliPrimaryPionCuts(PionCuts.Data(),PionCuts.Data());
+ if(fPionCuts->InitializeCutsFromCutString(PionCuts.Data())){
+ fPionSelector->SetPrimaryPionCuts(fPionCuts);
+ fPionCuts->SetFillCutHistograms("",kTRUE);
+
+ }
+ }
+
+ fPionSelector->Init();
+ mgr->AddTask(fPionSelector);
+
+ AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
+
+ //connect input V0Reader
+ mgr->ConnectInput (fPionSelector,0,cinput1);
+
+ }
+
+
+
+ AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero *task=NULL;
+
+ task= new AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero(Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i",neutralPionMode, trainConfig));
+
+ task->SetIsHeavyIon(2);
+ task->SetIsMC(isMC);
+
+ // Cut Numbers to use in Analysis
+ Int_t numberOfCuts = 1;
+
+ TString *eventCutArray = new TString[numberOfCuts];
+ TString *ClusterCutarray = new TString[numberOfCuts];
+ TString *PionCutarray = new TString[numberOfCuts];
+ TString *NeutralPionCutarray = new TString[numberOfCuts];
+ TString *MesonCutarray = new TString[numberOfCuts];
+
+ Bool_t doEtaShiftIndCuts = kFALSE;
+ TString stringShift = "";
+
+ // Shifting in pPb direction
+
+ doEtaShiftIndCuts = kTRUE;
+ stringShift = "pPb";
+
+ // EMCAL modes
+ if( trainConfig == 1 ) {
+ // everything open
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "000010400"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 2 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002010700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 3 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 4 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 5 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 6 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.11 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035032000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 7 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 8 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 9 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, pi+pi- mass Cut at 0.75, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002010702"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ }
+
+
+ // PHOS modes
+ if( trainConfig == 31 ) {
+ // everything open
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "000010400"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 32 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002010700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 33 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 34 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 35 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 36 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.11 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035032000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 37 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 38 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 39 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, pi+pi- mass Cut at 0.75, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002010702"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ }
+
+
+ TList *EventCutList = new TList();
+ TList *ClusterCutList = new TList();
+ TList *NeutralPionCutList = new TList();
+ TList *MesonCutList = new TList();
+ TList *PionCutList = new TList();
+
+ TList *HeaderList = new TList();
+ TObjString *Header1 = new TObjString("pi0_1");
+ HeaderList->Add(Header1);
+ TObjString *Header3 = new TObjString("eta_2");
+ HeaderList->Add(Header3);
+
+ EventCutList->SetOwner(kTRUE);
+ AliConvEventCuts **analysisEventCuts = new AliConvEventCuts*[numberOfCuts];
+ ClusterCutList->SetOwner(kTRUE);
+ AliCaloPhotonCuts **analysisClusterCuts = new AliCaloPhotonCuts*[numberOfCuts];
+ NeutralPionCutList->SetOwner(kTRUE);
+ AliConversionMesonCuts **analysisNeutralPionCuts = new AliConversionMesonCuts*[numberOfCuts];
+ MesonCutList->SetOwner(kTRUE);
+ AliConversionMesonCuts **analysisMesonCuts = new AliConversionMesonCuts*[numberOfCuts];
+ PionCutList->SetOwner(kTRUE);
+ AliPrimaryPionCuts **analysisPionCuts = new AliPrimaryPionCuts*[numberOfCuts];
+
+ for(Int_t i = 0; i<numberOfCuts; i++){
+ analysisEventCuts[i] = new AliConvEventCuts();
+ analysisEventCuts[i]->InitializeCutsFromCutString(eventCutArray[i].Data());
+ EventCutList->Add(analysisEventCuts[i]);
+ analysisEventCuts[i]->SetFillCutHistograms("",kFALSE);
+
+ analysisClusterCuts[i] = new AliCaloPhotonCuts();
+ if( ! analysisClusterCuts[i]->InitializeCutsFromCutString(ClusterCutarray[i].Data()) ) {
+ cout<<"ERROR: analysisClusterCuts [" <<i<<"]"<<endl;
+ return 0;
+ } else {
+ ClusterCutList->Add(analysisClusterCuts[i]);
+ analysisClusterCuts[i]->SetFillCutHistograms("");
+ }
+
+ analysisNeutralPionCuts[i] = new AliConversionMesonCuts();
+ if( ! analysisNeutralPionCuts[i]->InitializeCutsFromCutString(NeutralPionCutarray[i].Data()) ) {
+ cout<<"ERROR: analysisMesonCuts [ " <<i<<" ] "<<endl;
+ return 0;
+ } else {
+ NeutralPionCutList->Add(analysisNeutralPionCuts[i]);
+ analysisNeutralPionCuts[i]->SetFillCutHistograms("");
+ }
+
+ analysisMesonCuts[i] = new AliConversionMesonCuts();
+ if( ! analysisMesonCuts[i]->InitializeCutsFromCutString(MesonCutarray[i].Data()) ) {
+ cout<<"ERROR: analysisMesonCuts [ " <<i<<" ] "<<endl;
+ return 0;
+ } else {
+ MesonCutList->Add(analysisMesonCuts[i]);
+ analysisMesonCuts[i]->SetFillCutHistograms("");
+ }
+ analysisEventCuts[i]->SetAcceptedHeader(HeaderList);
+
+ TString cutName( Form("%s_%s_%s_%s_%s",eventCutArray[i].Data(), ClusterCutarray[i].Data(),PionCutarray[i].Data(),NeutralPionCutarray[i].Data(), MesonCutarray[i].Data() ) );
+ analysisPionCuts[i] = new AliPrimaryPionCuts();
+ if( !analysisPionCuts[i]->InitializeCutsFromCutString(PionCutarray[i].Data())) {
+ cout<< "ERROR: analysisPionCuts [ " <<i<<" ] "<<endl;
+ return 0;
+ } else {
+ PionCutList->Add(analysisPionCuts[i]);
+ analysisPionCuts[i]->SetFillCutHistograms("",kFALSE,cutName);
+ }
+ }
+
+ task->SetNeutralPionMode(neutralPionMode);
+ task->SetEventCutList(numberOfCuts,EventCutList);
+ task->SetClusterCutList(ClusterCutList);
+ task->SetNeutralPionCutList(NeutralPionCutList);
+ task->SetMesonCutList(MesonCutList);
+ task->SetPionCutList(PionCutList);
+
+ task->SetMoveParticleAccordingToVertex(kTRUE);
+
+ if(enableQAMesonTask) task->SetDoMesonQA(kTRUE);
+
+ //connect containers
+ AliAnalysisDataContainer *coutput =
+ mgr->CreateContainer(Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i",neutralPionMode, trainConfig), TList::Class(),
+ AliAnalysisManager::kOutputContainer,Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i.root",neutralPionMode, trainConfig));
+
+ mgr->AddTask(task);
+ mgr->ConnectInput(task,0,cinput);
+ mgr->ConnectOutput(task,1,coutput);
+
+ return;
+
+}
-void AddTask_GammaConvNeutralMesonPiPlPiMiPiZero_pPb(
+void AddTask_GammaConvNeutralMesonPiPlPiMiPiZero_ConvMode_pPb(
Int_t trainConfig = 1,
Bool_t isMC = kFALSE, //run MC
Bool_t enableQAMesonTask = kTRUE, //enable QA in AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero
gSystem->Load("libTENDERSupplies.so");
Int_t isHeavyIon = 2;
+ Int_t neutralPionMode = 0;
// ================== GetAnalysisManager ===============================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
TString cutnumberPhoton = "060084001001500000000";
TString cutnumberEvent = "8000000";
TString PionCuts = "000000200"; //Electron Cuts
-
+
+
+
Bool_t doEtaShift = kFALSE;
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero *task=NULL;
- task= new AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero(Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i",trainConfig));
+ task= new AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero(Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i",neutralPionMode, trainConfig));
task->SetIsHeavyIon(2);
task->SetIsMC(isMC);
stringShift = "pPb";
if( trainConfig == 1 ) {
- // everything open
- eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "000000400"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ // everything open, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "000010400"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
} else if( trainConfig == 2 ) {
- // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma
- eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002000700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002010700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
} else if( trainConfig == 3 ) {
- // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma
- eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002003700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
} else if( trainConfig == 4 ) {
- // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma
- eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002006700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
} else if( trainConfig == 5 ) {
- // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
// closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
- eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002006700"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
} else if( trainConfig == 6 ) {
- // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
// closing neural pion cuts, 0.11 < M_gamma,gamma < 0.145
- eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002006700"; NeutralPionCutarray[0] = "01035032000000"; MesonCutarray[0] = "01035030000000";
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035032000000"; MesonCutarray[0] = "01035030000000";
} else if( trainConfig == 7 ) {
- // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
// closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
- eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002006700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
} else if( trainConfig == 8 ) {
- // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
// closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
- eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002003700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 9 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, pi+pi- mass cut of 0.75, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; PionCutarray[0] = "002010702"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
}
TList *EventCutList = new TList();
}
}
+ task->SetNeutralPionMode(0);
task->SetEventCutList(numberOfCuts,EventCutList);
- task->SetConversionCutList(numberOfCuts,ConvCutList);
+ task->SetConversionCutList(ConvCutList);
task->SetNeutralPionCutList(NeutralPionCutList);
task->SetMesonCutList(MesonCutList);
task->SetPionCutList(PionCutList);
//connect containers
AliAnalysisDataContainer *coutput =
- mgr->CreateContainer(Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i",trainConfig), TList::Class(),
- AliAnalysisManager::kOutputContainer,Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i.root",trainConfig));
+ mgr->CreateContainer(Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i",neutralPionMode, trainConfig), TList::Class(),
+ AliAnalysisManager::kOutputContainer,Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i.root",neutralPionMode, trainConfig));
mgr->AddTask(task);
mgr->ConnectInput(task,0,cinput);
--- /dev/null
+void AddTask_GammaConvNeutralMesonPiPlPiMiPiZero_MixedMode_pPb(
+ Int_t trainConfig = 1,
+ Bool_t isMC = kFALSE, //run MC
+ Bool_t enableQAMesonTask = kTRUE, //enable QA in AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero
+ TString fileNameInputForWeighting = "MCSpectraInput.root", // path to file for weigting input
+ Bool_t doWeighting = kFALSE, //enable Weighting
+ TString generatorName = "HIJING",
+ TString cutnumberAODBranch = "0000000060084001001500000"
+ ) {
+
+ // ================= Load Librariers =================================
+ gSystem->Load("libCore.so");
+ gSystem->Load("libTree.so");
+ gSystem->Load("libGeom.so");
+ gSystem->Load("libVMC.so");
+ gSystem->Load("libPhysics.so");
+ gSystem->Load("libMinuit");
+ gSystem->Load("libSTEERBase");
+ gSystem->Load("libESD");
+ gSystem->Load("libAOD");
+ gSystem->Load("libANALYSIS");
+ gSystem->Load("libANALYSISalice");
+ gSystem->Load("libPWGGAGammaConv.so");
+ gSystem->Load("libCDB.so");
+ gSystem->Load("libSTEER.so");
+ gSystem->Load("libSTEERBase.so");
+ gSystem->Load("libTENDER.so");
+ gSystem->Load("libTENDERSupplies.so");
+
+ Int_t isHeavyIon = 2;
+ Int_t neutralPionMode = 1;
+
+ // ================== GetAnalysisManager ===============================
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ Error(Form("AddTask_GammaConvNeutralMesonPiPlPiMiPiZero_pPb_%i",trainConfig), "No analysis manager found.");
+ return ;
+ }
+
+ // ================== GetInputEventHandler =============================
+ AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
+
+ //========= Add PID Reponse to ANALYSIS manager ====
+ if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
+ AddTaskPIDResponse(isMC);
+ }
+
+ //========= Set Cutnumber for V0Reader ================================
+ TString cutnumberPhoton = "060084001001500000000";
+ TString cutnumberEvent = "8000000";
+ TString PionCuts = "000000200"; //Electron Cuts
+
+
+
+ Bool_t doEtaShift = kFALSE;
+
+ AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
+
+ //========= Add V0 Reader to ANALYSIS manager if not yet existent =====
+ if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
+ AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
+
+ fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
+ fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
+ fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
+
+ if (!mgr) {
+ Error("AddTask_V0ReaderV1", "No analysis manager found.");
+ return;
+ }
+
+ AliConvEventCuts *fEventCuts=NULL;
+ if(cutnumberEvent!=""){
+ fEventCuts= new AliConvEventCuts(cutnumberEvent.Data(),cutnumberEvent.Data());
+ fEventCuts->SetPreSelectionCutFlag(kTRUE);
+ if(fEventCuts->InitializeCutsFromCutString(cutnumberEvent.Data())){
+ fEventCuts->DoEtaShift(doEtaShift);
+ fV0ReaderV1->SetEventCuts(fEventCuts);
+ fEventCuts->SetFillCutHistograms("",kTRUE);
+ }
+ }
+
+ // Set AnalysisCut Number
+ AliConversionPhotonCuts *fCuts=NULL;
+ if(cutnumberPhoton!=""){
+ fCuts= new AliConversionPhotonCuts(cutnumberPhoton.Data(),cutnumberPhoton.Data());
+ fCuts->SetPreSelectionCutFlag(kTRUE);
+ fCuts->SetIsHeavyIon(isHeavyIon);
+ if(fCuts->InitializeCutsFromCutString(cutnumberPhoton.Data())){
+ fV0ReaderV1->SetConversionCuts(fCuts);
+ fCuts->SetFillCutHistograms("",kTRUE);
+ }
+ }
+
+ if(inputHandler->IsA()==AliAODInputHandler::Class()){
+ // AOD mode
+ fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",cutnumberAODBranch.Data()));
+ }
+ fV0ReaderV1->Init();
+
+ AliLog::SetGlobalLogLevel(AliLog::kInfo);
+
+ //connect input V0Reader
+ mgr->AddTask(fV0ReaderV1);
+ mgr->ConnectInput(fV0ReaderV1,0,cinput);
+ }
+
+ //================================================
+ //========= Add Electron Selector ================
+
+
+ if( !(AliPrimaryPionSelector*)mgr->GetTask("PionSelector") ){
+
+ AliPrimaryPionSelector *fPionSelector = new AliPrimaryPionSelector("PionSelector");
+ // Set AnalysisCut Number
+
+ AliPrimaryPionCuts *fPionCuts=0;
+ if( PionCuts!=""){
+ fPionCuts= new AliPrimaryPionCuts(PionCuts.Data(),PionCuts.Data());
+ if(fPionCuts->InitializeCutsFromCutString(PionCuts.Data())){
+ fPionSelector->SetPrimaryPionCuts(fPionCuts);
+ fPionCuts->SetFillCutHistograms("",kTRUE);
+
+ }
+ }
+
+ fPionSelector->Init();
+ mgr->AddTask(fPionSelector);
+
+ AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
+
+ //connect input V0Reader
+ mgr->ConnectInput (fPionSelector,0,cinput1);
+
+ }
+
+
+
+ AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero *task=NULL;
+
+ task= new AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero(Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i",neutralPionMode, trainConfig));
+
+ task->SetIsHeavyIon(2);
+ task->SetIsMC(isMC);
+
+ // Cut Numbers to use in Analysis
+ Int_t numberOfCuts = 1;
+
+ TString *eventCutArray = new TString[numberOfCuts];
+ TString *ClusterCutarray = new TString[numberOfCuts];
+ TString *ConvCutarray = new TString[numberOfCuts];
+ TString *PionCutarray = new TString[numberOfCuts];
+ TString *NeutralPionCutarray = new TString[numberOfCuts];
+ TString *MesonCutarray = new TString[numberOfCuts];
+
+ Bool_t doEtaShiftIndCuts = kFALSE;
+ TString stringShift = "";
+
+ // Shifting in pPb direction
+
+ doEtaShiftIndCuts = kTRUE;
+ stringShift = "pPb";
+
+ // EMCAL mode
+ if( trainConfig == 1 ) {
+ // everything open
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "000010400"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 2 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002010700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 3 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 4 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 5 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 6 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.11 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035032000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 7 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 8 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 9 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, pi+pi- mass Cut at 0.75, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "10000040022030000"; PionCutarray[0] = "002010702"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ }
+
+ // PHOS mode
+ if( trainConfig == 31 ) {
+ // everything open
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "000010400"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 32 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002010700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 33 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 34 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035030000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 35 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 36 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.11 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035032000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 37 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 4 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002016700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 38 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, ITS dEdx = \pm 5 sigma, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.12 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002013700"; NeutralPionCutarray[0] = "01035033000000"; MesonCutarray[0] = "01035030000000";
+ } else if( trainConfig == 39 ) {
+ // closing charged pion cuts, minimum TPC cluster = 80, TPC dEdx pi = \pm 3 sigma, pi+pi- mass Cut at 0.75, min pt charged pi = 100 MeV
+ // closing neural pion cuts, 0.1 < M_gamma,gamma < 0.145
+ eventCutArray[ 0] = "8000011"; ConvCutarray[0] = "002091170008260400000"; ClusterCutarray[0] = "20000030022000000"; PionCutarray[0] = "002010702"; NeutralPionCutarray[0] = "01035031000000"; MesonCutarray[0] = "01035030000000";
+ }
+
+ TList *EventCutList = new TList();
+ TList *ConvCutList = new TList();
+ TList *ClusterCutList = new TList();
+ TList *NeutralPionCutList = new TList();
+ TList *MesonCutList = new TList();
+ TList *PionCutList = new TList();
+
+ TList *HeaderList = new TList();
+ TObjString *Header1 = new TObjString("pi0_1");
+ HeaderList->Add(Header1);
+ TObjString *Header3 = new TObjString("eta_2");
+ HeaderList->Add(Header3);
+
+ EventCutList->SetOwner(kTRUE);
+ AliConvEventCuts **analysisEventCuts = new AliConvEventCuts*[numberOfCuts];
+ ConvCutList->SetOwner(kTRUE);
+ AliConversionPhotonCuts **analysisCuts = new AliConversionPhotonCuts*[numberOfCuts];
+ ClusterCutList->SetOwner(kTRUE);
+ AliCaloPhotonCuts **analysisClusterCuts = new AliCaloPhotonCuts*[numberOfCuts];
+ NeutralPionCutList->SetOwner(kTRUE);
+ AliConversionMesonCuts **analysisNeutralPionCuts = new AliConversionMesonCuts*[numberOfCuts];
+ MesonCutList->SetOwner(kTRUE);
+ AliConversionMesonCuts **analysisMesonCuts = new AliConversionMesonCuts*[numberOfCuts];
+ PionCutList->SetOwner(kTRUE);
+ AliPrimaryPionCuts **analysisPionCuts = new AliPrimaryPionCuts*[numberOfCuts];
+
+ for(Int_t i = 0; i<numberOfCuts; i++){
+ analysisEventCuts[i] = new AliConvEventCuts();
+ analysisEventCuts[i]->InitializeCutsFromCutString(eventCutArray[i].Data());
+ EventCutList->Add(analysisEventCuts[i]);
+ analysisEventCuts[i]->SetFillCutHistograms("",kFALSE);
+
+ analysisCuts[i] = new AliConversionPhotonCuts();
+ if( ! analysisCuts[i]->InitializeCutsFromCutString(ConvCutarray[i].Data()) ) {
+ cout<<"ERROR: analysisCuts [" <<i<<"]"<<endl;
+ return 0;
+ } else {
+ ConvCutList->Add(analysisCuts[i]);
+ analysisCuts[i]->SetFillCutHistograms("",kFALSE);
+ }
+
+ analysisClusterCuts[i] = new AliCaloPhotonCuts();
+ if( ! analysisClusterCuts[i]->InitializeCutsFromCutString(ClusterCutarray[i].Data()) ) {
+ cout<<"ERROR: analysisClusterCuts [" <<i<<"]"<<endl;
+ return 0;
+ } else {
+ ClusterCutList->Add(analysisClusterCuts[i]);
+ analysisClusterCuts[i]->SetFillCutHistograms("");
+ }
+
+ analysisNeutralPionCuts[i] = new AliConversionMesonCuts();
+ if( ! analysisNeutralPionCuts[i]->InitializeCutsFromCutString(NeutralPionCutarray[i].Data()) ) {
+ cout<<"ERROR: analysisMesonCuts [ " <<i<<" ] "<<endl;
+ return 0;
+ } else {
+ NeutralPionCutList->Add(analysisNeutralPionCuts[i]);
+ analysisNeutralPionCuts[i]->SetFillCutHistograms("");
+ }
+
+ analysisMesonCuts[i] = new AliConversionMesonCuts();
+ if( ! analysisMesonCuts[i]->InitializeCutsFromCutString(MesonCutarray[i].Data()) ) {
+ cout<<"ERROR: analysisMesonCuts [ " <<i<<" ] "<<endl;
+ return 0;
+ } else {
+ MesonCutList->Add(analysisMesonCuts[i]);
+ analysisMesonCuts[i]->SetFillCutHistograms("");
+ }
+ analysisEventCuts[i]->SetAcceptedHeader(HeaderList);
+
+ TString cutName( Form("%s_%s_%s_%s_%s_%s",eventCutArray[i].Data(), ConvCutarray[i].Data(), ClusterCutarray[i].Data(),PionCutarray[i].Data(),NeutralPionCutarray[i].Data(), MesonCutarray[i].Data() ) );
+ analysisPionCuts[i] = new AliPrimaryPionCuts();
+ if( !analysisPionCuts[i]->InitializeCutsFromCutString(PionCutarray[i].Data())) {
+ cout<< "ERROR: analysisPionCuts [ " <<i<<" ] "<<endl;
+ return 0;
+ } else {
+ PionCutList->Add(analysisPionCuts[i]);
+ analysisPionCuts[i]->SetFillCutHistograms("",kFALSE,cutName);
+ }
+ }
+
+ task->SetNeutralPionMode(neutralPionMode);
+ task->SetEventCutList(numberOfCuts,EventCutList);
+ task->SetConversionCutList(ConvCutList);
+ task->SetClusterCutList(ClusterCutList);
+ task->SetNeutralPionCutList(NeutralPionCutList);
+ task->SetMesonCutList(MesonCutList);
+ task->SetPionCutList(PionCutList);
+
+ task->SetMoveParticleAccordingToVertex(kTRUE);
+
+ if(enableQAMesonTask) task->SetDoMesonQA(kTRUE);
+
+ //connect containers
+ AliAnalysisDataContainer *coutput =
+ mgr->CreateContainer(Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i",neutralPionMode, trainConfig), TList::Class(),
+ AliAnalysisManager::kOutputContainer,Form("GammaConvNeutralMesonPiPlPiMiPiZero_%i_%i.root",neutralPionMode, trainConfig));
+
+ mgr->AddTask(task);
+ mgr->ConnectInput(task,0,cinput);
+ mgr->ConnectOutput(task,1,coutput);
+
+ return;
+
+}
#include "AliEMCALGeometry.h"
#include "AliAnalysisUtils.h"
#include "AliOADBContainer.h"
+#include "AliAODMCHeader.h"
ClassImp(AliAnalysisTaskTaggedPhotons)
fCentrality(0.),
fCentBin(0),
fIsMB(0),
- fIsMC(0)
+ fIsMC(0),
+ fIsFastMC(0)
{
//Deafult constructor
//no memory allocations
fCentrality(0.),
fCentBin(0),
fIsMB(0),
- fIsMC(0)
+ fIsMC(0),
+ fIsFastMC(0)
{
// Constructor.
fCentrality(0.),
fCentBin(0),
fIsMB(0),
- fIsMC(0)
+ fIsMC(0),
+ fIsFastMC(0)
{
// cpy ctor
fZmax=ap.fZmax ;
InitGeometry() ;
}
- if(!fUtils)
- fUtils = new AliAnalysisUtils();
+ if(!fIsFastMC){
+ if(!fUtils)
+ fUtils = new AliAnalysisUtils();
- Bool_t isMB = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kINT7) ;
- Bool_t isPHI7 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kPHI7);
-
- if((fIsMB && !isMB) || (!fIsMB && !isPHI7)){
- PostData(1, fOutputContainer);
- return;
+ Bool_t isMB = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kINT7) ;
+ Bool_t isPHI7 = (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kPHI7);
+
+ if((fIsMB && !isMB) || (!fIsMB && !isPHI7)){
+ PostData(1, fOutputContainer);
+ return;
+ }
}
FillHistogram("hSelEvents",2) ;
FillHistogram("hNvertexTracks",event->GetPrimaryVertex()->GetNContributors());
FillHistogram("hZvertex" ,vtx5[2]);
+ if(fIsFastMC){ //vertex from header
+ AliAODMCHeader *cHeaderAOD = dynamic_cast<AliAODMCHeader*>(event->FindListObject(AliAODMCHeader::StdBranchName()));
+ if(!cHeaderAOD){
+ PostData(1, fOutputContainer);
+ return ;
+ }
+ cHeaderAOD->GetVertex(vtx5);
+ }
if (TMath::Abs(vtx5[2]) > 10. ){
PostData(1, fOutputContainer);
return ;
}
-
FillHistogram("hSelEvents",3) ;
//Vtx class z-bin
Int_t zvtx = TMath::Min(9,Int_t((vtx5[2]+10.)/2.)) ;
+ if(!fIsFastMC){
+// if (event->IsPileupFromSPD()){
+// PostData(1, fOutputContainer);
+// return ;
+// }
-// if (event->IsPileupFromSPD()){
-// PostData(1, fOutputContainer);
-// return ;
-// }
+ if(!fUtils->IsVertexSelected2013pA(event)){
+ PostData(1, fOutputContainer);
+ return ;
+ }
- if(!fUtils->IsVertexSelected2013pA(event)){
- PostData(1, fOutputContainer);
- return ;
- }
- FillHistogram("hSelEvents",4) ;
+ FillHistogram("hSelEvents",4) ;
- if(fUtils->IsPileUpEvent(event)){
- PostData(1, fOutputContainer);
- return ;
+ if(fUtils->IsPileUpEvent(event)){
+ PostData(1, fOutputContainer);
+ return ;
+ }
+ FillHistogram("hSelEvents",5) ;
}
- FillHistogram("hSelEvents",5) ;
//centrality
- AliCentrality *centrality = event->GetCentrality();
- if( centrality )
- fCentrality=centrality->GetCentralityPercentile("V0M");
- else {
- AliError("Event has 0x0 centrality");
- fCentrality = -1.;
- }
- FillHistogram("hCentrality",fCentrality) ;
+ if(!fIsFastMC){
+ AliCentrality *centrality = event->GetCentrality();
+ if( centrality )
+ fCentrality=centrality->GetCentralityPercentile("V0M");
+ else {
+ AliError("Event has 0x0 centrality");
+ fCentrality = -1.;
+ }
+ FillHistogram("hCentrality",fCentrality) ;
- if(fCentrality<0. || fCentrality>=100.){
- PostData(1, fOutputContainer);
- return ;
+ if(fCentrality<0. || fCentrality>=100.){
+ PostData(1, fOutputContainer);
+ return ;
+ }
+ }
+ else{
+ fCentrality=1.;
}
fCentBin = (Int_t)(fCentrality/20.) ;
void SetTrigger(Bool_t isPHOSTrig){fIsMB=isPHOSTrig;}
void SetMC(Bool_t isMC=kTRUE){fIsMC=isMC;}
+ void SetFastMC(void){fIsFastMC=kTRUE;fIsMC=kTRUE; } //same as MC, but bypass event checks
void SetPi0WeightParameters(TArrayD * ar) ;
protected:
Int_t fCentBin ;
Bool_t fIsMB ; //which trigger to use
Bool_t fIsMC ; //Is this is MC
+ Bool_t fIsFastMC; //This is fast MC, bypass event checks
TH2I * fPHOSBadMap[6] ;
ClassDef(AliAnalysisTaskTaggedPhotons, 2); // a PHOS photon analysis task
if(!fmixing) ((TH1D*)fOutput->FindObject("MultiplicityOnlyCheck"))->Fill(AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aodEvent,-1.,1.));
- // Int_t poolbin = fAssocCuts->GetPoolBin(MultipOrCent, zVtxPosition); // get the event pool bin - commented for the moment - to be checked
+ Int_t poolbin = fAssocCuts->GetPoolBin(MultipOrCent, zVtxPosition); // get the event pool bin - commented for the moment - to be checked
Double_t efficiencyvariable = -999; // Variable to be used (defined by the AddTask)
Double_t dmDStarWindow = 0.0019/3; // DStar window
+ Int_t ncandidates = 0;
+
// cout << "Task debug check 3 " << endl;
// loop over D meson candidates
for (Int_t iDStartoD0pi = 0; iDStartoD0pi<looponDCands; iDStartoD0pi++) {
+ //if(ncandidates) continue; // if there is more than one D candidate, skip it
+
// initialize variables
isInPeak = kFALSE;
isInDStarSideBand = kFALSE;
phiDStar = fCorrelator->SetCorrectPhiRange(phiDStar); // set the Phi of the D* in the range defined a priori (-0.5 Pi - 1.5 Pi)
ptbin=fCuts->PtBin(dstarD0pi->Pt()); // get the pt bin of the D*
- cout << "DStar pt = " << ptDStar << endl;
- cout << "pt bin = " << ptbin << endl;
+ // cout << "DStar pt = " << ptDStar << endl;
+ // cout << "pt bin = " << ptbin << endl;
if(ptbin<1) continue;
Double_t mD0Window= fD0Window[ptbin]/3;
// fill mass histograms
- // cout << "Task debug check 5 " << endl;
+ // plot D0 vs DStar mass
+ if(!fmixing){
+
+ ((TH2D*)fDmesonOutput->FindObject(Form("histDZerovsDStarMass_%d",ptbin)))->Fill(invMassDZero,deltainvMDStar);
+ if(fUseDmesonEfficiencyCorrection) ((TH2D*)fDmesonOutput->FindObject(Form("histDZerovsDStarMassWeight_%d",ptbin)))->Fill(invMassDZero,deltainvMDStar,DmesonWeight);
+ }
+
+
+
// fill D0 invariant mass
if(!fmixing) {
- cout << " histo name = " << Form("histDZeroMass_%d",ptbin) << endl;
((TH1F*)fDmesonOutput->FindObject(Form("histDZeroMass_%d",ptbin)))->Fill(invMassDZero);
// cout << "Task debug check 5.1 " << endl;
if(fUseDmesonEfficiencyCorrection) ((TH1F*)fDmesonOutput->FindObject(Form("histDZeroMassWeight_%d",ptbin)))->Fill(invMassDZero,DmesonWeight);
if(!fmixing) ((TH2F*)fDmesonOutput->FindObject("PhiInclusiveDStar"))->Fill(phiDStar,ptDStar); // fill phi, eta
if(!fmixing) ((TH2F*)fDmesonOutput->FindObject("EtaInclusiveDStar"))->Fill(etaDStar,ptDStar); // fill phi, eta
nOfDStarCandidates++;
+ ncandidates ++;
EventHasDStarCandidate=kTRUE;
} // end if in good D* mass window
if(!fmixing) ((TH2F*)fDmesonOutput->FindObject("PhiSidebandDStar"))->Fill(phiDStar,ptDStar); // fill phi, eta
if(!fmixing) ((TH2F*)fDmesonOutput->FindObject("EtaSidebandDStar"))->Fill(etaDStar,ptDStar); // fill phi, eta
nOfSBCandidates++;
+ ncandidates ++;
EventHasDStarSideBandCandidate = kTRUE;
}
if(!fmixing) ((TH2F*)fDmesonOutput->FindObject("PhiSidebandDStar"))->Fill(phiDStar,ptDStar); // fill phi, eta
if(!fmixing) ((TH2F*)fDmesonOutput->FindObject("EtaSidebandDStar"))->Fill(etaDStar,ptDStar); // fill phi, eta
nOfSBCandidates++;
+ ncandidates ++;
EventHasDZeroSideBandCandidate = kTRUE;
}
}
// ************************************************ CORRELATION ANALYSIS STARTS HERE *****************************************************
- cout << "Correlating " << endl;
+ // cout << "Correlating " << endl;
Bool_t execPool = fCorrelator->ProcessEventPool(); // checks pool readiness for mixed events
continue;
}
- Double_t arraytofill[4];
+ Double_t arraytofill[5];
// Double_t MCarraytofill[4]; // think about this
Double_t weight;
arraytofill[1] = deltainvMDStar;
arraytofill[2] = DeltaEta;
arraytofill[3] = ptHad;
- // arraytofill[4] = poolbin;
+ arraytofill[4] = poolbin;
// skip the D daughters in the correlation
} // end loop on D mesons
-
+ if(!fmixing){
+ if(nOfDStarCandidates) ((TH1D*)fDmesonOutput->FindObject("NumberOfDCandidates"))->Fill(nOfDStarCandidates);
+ if(nOfSBCandidates) ((TH1D*)fDmesonOutput->FindObject("NumberOfSBCandidates"))->Fill(nOfSBCandidates);
+ }
Bool_t updated = fCorrelator->PoolUpdate(); // update event pool
//4 track pt
- //Int_t nbinsPool = (fAssocCuts->GetNZvtxPoolBins())*(fAssocCuts->GetNCentPoolBins());
+ Int_t nbinsPool = (fAssocCuts->GetNZvtxPoolBins())*(fAssocCuts->GetNCentPoolBins());
// for reconstruction on Data and MC
- Int_t nbinsSparse[4]= {nbinscorr , 32 , 32, 10};
- Double_t binLowLimitSparse[4]={lowcorrbin,0.14314 ,-1.6, 0};
- Double_t binUpLimitSparse[4]= {upcorrbin ,0.14794 , 1.6, 5};
+ Int_t nbinsSparse[5]= {nbinscorr , 32 , 32, 10,nbinsPool};
+ Double_t binLowLimitSparse[5]={lowcorrbin,0.14314 ,-1.6, 0,-0.5};
+ Double_t binUpLimitSparse[5]= {upcorrbin ,0.14794 , 1.6, 5,nbinsPool-0.5};
- Int_t nbinsSparseDStarSB[4]= {nbinscorr , 40 , 32, 10};
- Double_t binLowLimitSparseDStarSB[4]={lowcorrbin,0.14788 ,-1.6, 0};
- Double_t binUpLimitSparseDStarSB[4]= {upcorrbin ,0.1504 , 1.6, 5};
+ Int_t nbinsSparseDStarSB[5]= {nbinscorr , 40 , 32, 10,nbinsPool};
+ Double_t binLowLimitSparseDStarSB[5]={lowcorrbin,0.14788 ,-1.6, 0,-0.5};
+ Double_t binUpLimitSparseDStarSB[5]= {upcorrbin ,0.1504 , 1.6, 5,nbinsPool-0.5};
TString signalSparseName = "";
TString bkgSparseName = "";
Float_t * ptbinlims = fCuts->GetPtBinLimits();
-
+
for(Int_t iBin =0; iBin < nofPtBins; iBin++){ // create a mass histogram for each ptbin
if(ptbinlims[iBin]<fCuts->GetMinPtCandidate() || ptbinlims[iBin]>fCuts->GetMaxPtCandidate())continue;
-
-
+
+
signalSparseName = "CorrelationsDStar";
if(fselect==1) signalSparseName += "Hadron_";
cout << "ThNSparses name = " << signalSparseName << endl;
// define thnsparses for signal candidates
- CorrelationsSignal = new THnSparseF(signalSparseName.Data(),"Correlations for signal; #Delta#Phi; invariant mass; #Delta #eta;AssocTrk p_{T}",4,nbinsSparse,binLowLimitSparse,binUpLimitSparse);
- CorrelationsSignal->Sumw2();
+ CorrelationsSignal = new THnSparseF(signalSparseName.Data(),"Correlations for signal; #Delta#Phi; invariant mass; #Delta #eta;AssocTrk p_{T}",5,nbinsSparse,binLowLimitSparse,binUpLimitSparse);
+ CorrelationsSignal->Sumw2();
fCorrelationOutput->Add(CorrelationsSignal);
// define thnsparses for bkg candidates from DStar
if(fBkgMethod == kDStarSB ){
- CorrelationsBkg = new THnSparseF(bkgSparseName.Data(),"Correlations for bkg from DStar; #Delta#Phi; invariant mass; #Delta #eta;AssocTrk p_{T}",4,nbinsSparseDStarSB,binLowLimitSparseDStarSB,binUpLimitSparseDStarSB);
- CorrelationsBkg->Sumw2();
- fCorrelationOutput->Add(CorrelationsBkg);
+ CorrelationsBkg = new THnSparseF(bkgSparseName.Data(),"Correlations for bkg from DStar; #Delta#Phi; invariant mass; #Delta #eta;AssocTrk p_{T}",5,nbinsSparseDStarSB,binLowLimitSparseDStarSB,binUpLimitSparseDStarSB);
+ CorrelationsBkg->Sumw2();
+ fCorrelationOutput->Add(CorrelationsBkg);
}
// define thnsparses for bkg candidates from DZero
if(fBkgMethod == kDZeroSB ){
- CorrelationsBkg = new THnSparseF(bkgSparseName.Data(),"Correlations for bkg from DZero; #Delta#Phi; invariant mass; #Delta #eta;AssocTrk p_{T}",4,nbinsSparse,binLowLimitSparse,binUpLimitSparse);
+ CorrelationsBkg = new THnSparseF(bkgSparseName.Data(),"Correlations for bkg from DZero; #Delta#Phi; invariant mass; #Delta #eta;AssocTrk p_{T}",5,nbinsSparse,binLowLimitSparse,binUpLimitSparse);
CorrelationsBkg->Sumw2();
fCorrelationOutput->Add(CorrelationsBkg);
}
TH1F * D0mass = NULL;
TH1F * DStarMass = NULL;
TH1F * DStarFromSBMass = NULL;
+ TH2D * DZerovsDStarMass = NULL;
TH1F * D0massWeighted = NULL;
TH1F * DStarMassWeighted = NULL;
TH1F * DStarFromSBMassWeighted = NULL;
+ TH2D * DZerovsDStarMassWeighted = NULL;
+
- TString nameDZeroMass = "", nameDStarMass = "", nameDStarFromSBMass = "";
+ TString nameDZeroMass = "", nameDStarMass = "", nameDStarFromSBMass = "", nameDZerovsDStarMass = "";
Int_t nofPtBins = fCuts->GetNPtBins();// number of ptbins
Float_t * ptbinlims = fCuts->GetPtBinLimits();
//GetMinPtCandidate()
-
+
for(Int_t iBin =0; iBin < nofPtBins; iBin++){ // create a mass histogram for each ptbin
-
+
if(ptbinlims[iBin]<fCuts->GetMinPtCandidate() || ptbinlims[iBin]>fCuts->GetMaxPtCandidate())continue;
nameDZeroMass = "histDZeroMass_";
nameDStarMass = "histDStarMass_";
nameDStarFromSBMass = "histDStarFromSBMass_";
+ nameDZerovsDStarMass = "histDZerovsDStarMass_";
nameDZeroMass+=Form("%d",iBin);
nameDStarMass+=Form("%d",iBin);
nameDStarFromSBMass+=Form("%d",iBin);
+ nameDZerovsDStarMass+=Form("%d",iBin);
+ cout << "D vs D histogram: " << nameDZerovsDStarMass << endl;
- cout << "D zero histogram: " << nameDZeroMass << endl;
-
- D0mass = new TH1F(nameDZeroMass.Data(), Form("D^{0} invarians mass in bin %d; M(K#pi) GeV/c^{2};",iBin),200,1.75,1.95);
- DStarMass = new TH1F(nameDStarMass.Data(), Form("Delta invarians mass for candidates in bin %d; M(K#pi) GeV/c^{2};",iBin),200,0.1,0.2);
- DStarFromSBMass = new TH1F(nameDStarFromSBMass.Data(), Form("Delta invarians mass for sideband in bin %d; M(K#pi) GeV/c^{2};",iBin),200,0.1,0.2);
+ D0mass = new TH1F(nameDZeroMass.Data(), Form("D^{0} invariant mass in bin %d; M(K#pi) GeV/c^{2};",iBin),200,1.75,1.95);
+ DStarMass = new TH1F(nameDStarMass.Data(), Form("Delta invariant mass for candidates in bin %d; M(K#pi#pi)- M(K#pi) GeV/c^{2};",iBin),200,0.1,0.2);
+ DStarFromSBMass = new TH1F(nameDStarFromSBMass.Data(), Form("Delta invariant mass for sideband in bin %d; M(K#pi#pi)- M(K#pi) GeV/c^{2};",iBin),200,0.1,0.2);
+ DZerovsDStarMass = new TH2D(nameDZerovsDStarMass.Data(),Form("Delta invariant mass for sideband in bin %d; M(K#pi) GeV/c^{2};M(K#pi#pi)- M(K#pi) GeV/c^{2}",iBin),200,1.75,1.95,200,0.1,0.2);
if(!fmixing){
- fDmesonOutput->Add(D0mass);
- fDmesonOutput->Add(DStarMass);
- fDmesonOutput->Add(DStarFromSBMass);
+ fDmesonOutput->Add(D0mass);
+ fDmesonOutput->Add(DStarMass);
+ fDmesonOutput->Add(DStarFromSBMass);
+ fDmesonOutput->Add(DZerovsDStarMass);
}
// if using D meson efficiency, define weighted histos
if(fUseDmesonEfficiencyCorrection){
-
+
nameDZeroMass = "histDZeroMassWeight_";
nameDStarMass = "histDStarMassWeight_";
nameDStarFromSBMass = "histDStarFromSBMassWeight_";
+ nameDZerovsDStarMass = "histDZerovsDStarMassWeight_";
nameDZeroMass+=Form("%d",iBin);
nameDStarMass+=Form("%d",iBin);
nameDStarFromSBMass+=Form("%d",iBin);
+ nameDZerovsDStarMass+=Form("%d",iBin);
- D0massWeighted = new TH1F(nameDZeroMass.Data(), Form("D^{0} invarians mass in bin %d eff weight; M(K#pi) GeV/c^{2};",iBin),200,1.75,1.95);
- DStarMassWeighted = new TH1F(nameDStarMass.Data(), Form("Delta invarians mass for candidates in bin %d eff weight; M(K#pi) GeV/c^{2};",iBin),200,0.1,0.2);
- DStarFromSBMassWeighted = new TH1F(nameDStarFromSBMass.Data(), Form("Delta invarians mass for sideband in bin %d eff weight; M(K#pi) GeV/c^{2};",iBin),200,0.1,0.2);
+ D0massWeighted = new TH1F(nameDZeroMass.Data(), Form("D^{0} invariant mass in bin %d eff weight; M(K#pi) GeV/c^{2};",iBin),200,1.75,1.95);
+ DStarMassWeighted = new TH1F(nameDStarMass.Data(), Form("Delta invariant mass for candidates in bin %d eff weight; M(K#pi) GeV/c^{2};",iBin),200,0.1,0.2);
+ DStarFromSBMassWeighted = new TH1F(nameDStarFromSBMass.Data(), Form("Delta invariant mass for sideband in bin %d eff weight; M(K#pi) GeV/c^{2};",iBin),200,0.1,0.2);
+ DZerovsDStarMassWeighted = new TH2D(nameDZerovsDStarMass.Data(),Form("Delta invariant mass for sideband in bin %d; M(K#pi) GeV/c^{2};M(K#pi#pi)- M(K#pi) GeV/c^{2}",iBin),200,1.75,1.95,200,0.1,0.2);
if(!fmixing){
- fDmesonOutput->Add(D0massWeighted);
- fDmesonOutput->Add(DStarMassWeighted);
- fDmesonOutput->Add(DStarFromSBMassWeighted);
+ fDmesonOutput->Add(D0massWeighted);
+ fDmesonOutput->Add(DStarMassWeighted);
+ fDmesonOutput->Add(DStarFromSBMassWeighted);
+ fDmesonOutput->Add(DZerovsDStarMassWeighted);
}
}
}// end loop on pt bins
TH1F *RecoPtBkg = new TH1F("RecoPtBkg","RECO pt distribution side bands",60,0,60);
fDmesonOutput->Add(RecoPtBkg);
+ TH1D *NumberOfDCandidates = new TH1D("NumberOfDCandidates","Number of D candidates",10,-0.5,9.5);
+ TH1D *NumberOfSBCandidates = new TH1D("NumberOfSBCandidates","Number of SB candidates",10,-0.5,9.5);
+ if(!fmixing) fDmesonOutput->Add(NumberOfDCandidates);
+ if(!fmixing) fDmesonOutput->Add(NumberOfSBCandidates);
+
// phi distribution
TH2F * PhiInclusiveDStar = new TH2F("PhiInclusiveDStar","Azimuthal distributions of Inclusive Dmesons; #phi; pT;Entries",nbinscorr,lowcorrbin,upcorrbin,30,0,30);
TH2F * PhiSidebandDStar = new TH2F("PhiSidebandDStar","Azimuthal distributions of Sideband Dmesons; #phi; pT;Entries",nbinscorr,lowcorrbin,upcorrbin,30,0,30);
TH2F * EtaInclusiveTracks = new TH2F("EtaInclusiveTracks","Azimuthal distributions of tracks if Inclusive Dmesons; #eta; pT;Entries",20,-1,1,100,0,10);
TH2F * EtaSidebandTracks = new TH2F("EtaSidebandTracks","Azimuthal distributions of tracks if Sideband Dmesons; #eta; pT;Entries",20,-1,1,100,0,10);
+ TH1D * TracksPerDcandidate = new TH1D("TracksPerDcandidate","Distribution of number of tracks per D meson candidate; N tracks; counts",200,-0.5,199.5);
+ TH1D * TracksPerSBcandidate = new TH1D("TracksPerSBcandidate","Distribution of number of tracks per sideband candidate; N tracks; counts",200,-0.5,199.5);
+
if(!fmixing) fTracksOutput->Add(PhiInclusiveTracks);
if(!fmixing) fTracksOutput->Add(PhiSidebandTracks);
if(!fmixing) fTracksOutput->Add(EtaInclusiveTracks);
if(!fmixing) fTracksOutput->Add(EtaSidebandTracks);
-
+ if(!fmixing) fTracksOutput->Add(TracksPerDcandidate);
+ if(!fmixing) fTracksOutput->Add(TracksPerSBcandidate);
+
// Montecarlo for D*
TH1D *MCtagPtDStarfromCharm = new TH1D("MCtagPtDStarfromCharm","RECO pt of MCtagged DStars from charm",50,0,50);
if(fmontecarlo) fOutputMC->Add(MCtagPtDStar);
+
// event mixing histograms
TH1D * CheckPoolReadiness = new TH1D("CheckPoolReadiness","Pool readiness",5,-0.5,4.5);
CheckPoolReadiness->GetXaxis()->SetBinLabel(1,"Have a D cand, pool is ready");
if(fmixing) fEMOutput->Add(CheckPoolReadiness);
- /* Int_t NofCentBins = fAssocCuts->GetNCentPoolBins();
- Int_t NofZVrtxBins = fAssocCuts->GetNZvtxPoolBins();
- Int_t nPoolBins = NofCentBins*NofZVrtxBins;
-
-
- TH1D * PoolBinDistribution = new TH1D("PoolBinDistribution","Pool Bin Checks; PoolBin; Entry",nPoolBins5,-0.5,nPoolBins-0.5);
- fEMOutput->Add(PoolBinDistribution);
-
- TH2D * EventDistributionPerPoolBin = new TH2D("EventDistributionPerPoolBin","Pool Bin Checks; PoolBin; Entry",nPoolBins5,-0.5,nPoolBins-0.5);
- fEMOutput->Add(EventDistributionPerPoolBin);
- */
+ /* Int_t NofCentBins = fAssocCuts->GetNCentPoolBins();
+ Int_t NofZVrtxBins = fAssocCuts->GetNZvtxPoolBins();
+ Int_t nPoolBins = NofCentBins*NofZVrtxBins;
+
+
+ TH1D * PoolBinDistribution = new TH1D("PoolBinDistribution","Pool Bin Checks; PoolBin; Entry",nPoolBins5,-0.5,nPoolBins-0.5);
+ fEMOutput->Add(PoolBinDistribution);
+
+ TH2D * EventDistributionPerPoolBin = new TH2D("EventDistributionPerPoolBin","Pool Bin Checks; PoolBin; Entry",nPoolBins5,-0.5,nPoolBins-0.5);
+ fEMOutput->Add(EventDistributionPerPoolBin);
+ */
}
if(!esdV0) continue;
if(!esdV0->GetOnFlyStatus()) continue; // Take only V0s from the On-the-fly v0 finder
// indetify the V0 candidate
- Int_t idV0 = AliHFEV0cuts::kUndef;
+ //Int_t idV0 = AliHFEV0cuts::kUndef;
Int_t idD[2] = {-1, -1};
- idV0 = IdentifyV0(esdV0, idD);
+ //idV0 = IdentifyV0(esdV0, idD);
+ IdentifyV0(esdV0, idD);
}
}
//____________________________________________________________
// the AODs with null vertex pointer didn't pass the PhysSel
if(!aod->GetPrimaryVertex()||TMath::Abs(aod->GetMagneticField())<0.001) return;
- Int_t countTreta1=AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-1.,1.);
- Int_t countTreta03=AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-0.3,0.3);
- Int_t countTreta05=AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-0.5,0.5);
- Int_t countTreta16=AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-1.6,1.6);
+ // Int_t countTreta1=AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-1.,1.);
+ // Int_t countTreta03=AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-0.3,0.3);
+ // Int_t countTreta05=AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-0.5,0.5);
+ // Int_t countTreta16=AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(aod,-1.6,1.6);
+ Int_t countTreta1=0, countTreta03=0, countTreta05=0, countTreta16=0;
+ AliAODTracklets* tracklets=aod->GetTracklets();
+ Int_t nTr=tracklets->GetNumberOfTracklets();
+ for(Int_t iTr=0; iTr<nTr; iTr++){
+ Double_t theta=tracklets->GetTheta(iTr);
+ Double_t eta=-TMath::Log(TMath::Tan(theta/2.));
+ if(eta>-0.3 && eta<0.3) countTreta03++;
+ if(eta>-0.5 && eta<0.5) countTreta05++;
+ if(eta>-1.0 && eta<1.0) countTreta1++;
+ if(eta>-1.6 && eta<1.6) countTreta16++;
+ }
+
Int_t vzeroMult=0;
Int_t vzeroMultA=0;
AliAODVZERO *vzeroAOD = (AliAODVZERO*)aod->GetVZEROData();
if(vzeroAOD) {
- vzeroMult = vzeroAOD->GetMTotV0A() + vzeroAOD->GetMTotV0C();
vzeroMultA = vzeroAOD->GetMTotV0A();
+ vzeroMult = vzeroMultA + vzeroAOD->GetMTotV0C();
}
Int_t countMult = countTreta1;
if(fMultiplicityEstimator==kNtrk03) { countMult = countTreta03; }
- if(fMultiplicityEstimator==kNtrk05) { countMult = countTreta05; }
- if(fMultiplicityEstimator==kNtrk10to16) { countMult = countTreta16 - countTreta1; }
- if(fMultiplicityEstimator==kVZERO) { countMult = vzeroMult; }
- if(fMultiplicityEstimator==kVZEROA) { countMult = vzeroMultA; }
+ else if(fMultiplicityEstimator==kNtrk05) { countMult = countTreta05; }
+ else if(fMultiplicityEstimator==kNtrk10to16) { countMult = countTreta16 - countTreta1; }
+ else if(fMultiplicityEstimator==kVZERO) { countMult = vzeroMult; }
+ else if(fMultiplicityEstimator==kVZEROA) { countMult = vzeroMultA; }
fCounterU->StoreEvent(aod,fRDCutsAnalysis,fReadMC,countMult);
}
- Int_t nChargedMC=AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-1.0,1.0);
- Int_t nChargedMCPrimary=AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-1.0,1.0);
- Int_t nChargedMCPhysicalPrimary=AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-1.0,1.0);
+ // Int_t nChargedMC=AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-1.0,1.0);
+ // Int_t nChargedMCPrimary=AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-1.0,1.0);
+ // Int_t nChargedMCPhysicalPrimary=AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-1.0,1.0);
+ //
+ Int_t nChargedMCEta10=0, nChargedMCEta03=0, nChargedMCEta05=0, nChargedMCEta16=0, nChargedMCEtam37tm17=0, nChargedMCEta28t51=0;
+ Int_t nChargedMCPrimaryEta10=0, nChargedMCPrimaryEta03=0, nChargedMCPrimaryEta05=0, nChargedMCPrimaryEta16=0, nChargedMCPrimaryEtam37tm17=0, nChargedMCPrimaryEta28t51=0;
+ Int_t nChargedMCPhysicalPrimaryEta10=0, nChargedMCPhysicalPrimaryEta03=0, nChargedMCPhysicalPrimaryEta05=0, nChargedMCPhysicalPrimaryEta16=0, nChargedMCPhysicalPrimaryEtam37tm17=0, nChargedMCPhysicalPrimaryEta28t51=0;
+ for(Int_t i=0; i<arrayMC->GetEntriesFast(); i++){
+ AliAODMCParticle *part=(AliAODMCParticle*)arrayMC->UncheckedAt(i);
+ Int_t charge = part->Charge();
+ Double_t eta = part->Eta();
+ Bool_t isPrim = part->IsPrimary();
+ Bool_t isPhysPrim = part->IsPhysicalPrimary();
+ if(charge!=0) {
+ if(eta>-0.3 && eta< 0.3) {
+ nChargedMCEta03++;
+ if(isPrim) nChargedMCPrimaryEta03++;
+ if(isPhysPrim) nChargedMCPhysicalPrimaryEta03++;
+ }
+ if(eta>-0.5 && eta< 0.5) {
+ nChargedMCEta05++;
+ if(isPrim) nChargedMCPrimaryEta05++;
+ if(isPhysPrim) nChargedMCPhysicalPrimaryEta05++;
+ }
+ if(eta>-1.0 && eta< 1.0) {
+ nChargedMCEta10++;
+ if(isPrim) nChargedMCPrimaryEta10++;
+ if(isPhysPrim) nChargedMCPhysicalPrimaryEta10++;
+ }
+ if(eta>-1.6 && eta< 1.6) {
+ nChargedMCEta16++;
+ if(isPrim) nChargedMCPrimaryEta16++;
+ if(isPhysPrim) nChargedMCPhysicalPrimaryEta16++;
+ }
+ if(eta>-3.7 && eta<-1.7) {
+ nChargedMCEtam37tm17++;
+ if(isPrim) nChargedMCPrimaryEtam37tm17++;
+ if(isPhysPrim) nChargedMCPhysicalPrimaryEtam37tm17++;
+ }
+ if(eta> 2.8 && eta< 5.1) {
+ nChargedMCEta28t51++;
+ if(isPrim) nChargedMCPrimaryEta28t51++;
+ if(isPhysPrim) nChargedMCPhysicalPrimaryEta28t51++;
+ }
+ }
+ }
+ Int_t nChargedMC=nChargedMCEta10;
+ Int_t nChargedMCPrimary=nChargedMCPrimaryEta10;
+ Int_t nChargedMCPhysicalPrimary=nChargedMCPhysicalPrimaryEta10;
+
// Compute the Nch weights (reference is Ntracklets within |eta|<1.0)
if(fUseNchWeight){
}
// Now recompute the variables in case another MC estimator is considered
- Int_t nChargedMCEta10 = nChargedMC;
- Int_t nChargedMCEta16 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-1.6,1.6);
- Int_t nChargedMCEta05 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-0.5,0.5);
- Int_t nChargedMCEta03 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-0.3,0.3);
- Int_t nChargedMCEtam37tm17 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-3.7,-1.7);
- Int_t nChargedMCEta28t51 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,2.8,5.1);
- Int_t nChargedMCPrimaryEta10 = nChargedMCPrimary;
- Int_t nChargedMCPrimaryEta16 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-1.6,1.6);
- Int_t nChargedMCPrimaryEta05 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-0.5,0.5);
- Int_t nChargedMCPrimaryEta03 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-0.3,0.3);
- Int_t nChargedMCPrimaryEtam37tm17 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-3.7,-1.7);
- Int_t nChargedMCPrimaryEta28t51 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,2.8,5.1);
- Int_t nChargedMCPhysicalPrimaryEta10 = nChargedMCPhysicalPrimary;
- Int_t nChargedMCPhysicalPrimaryEta16 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-1.6,1.6);
- Int_t nChargedMCPhysicalPrimaryEta05 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-0.5,0.5);
- Int_t nChargedMCPhysicalPrimaryEta03 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-0.3,0.3);
- Int_t nChargedMCPhysicalPrimaryEtam37tm17 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-3.7,-1.7);
- Int_t nChargedMCPhysicalPrimaryEta28t51 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,2.8,5.1);
+ // Int_t nChargedMCEta10 = nChargedMC;
+ // Int_t nChargedMCEta16 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-1.6,1.6);
+ // Int_t nChargedMCEta05 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-0.5,0.5);
+ // Int_t nChargedMCEta03 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-0.3,0.3);
+ // Int_t nChargedMCEtam37tm17 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,-3.7,-1.7);
+ // Int_t nChargedMCEta28t51 = AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(arrayMC,2.8,5.1);
+ // Int_t nChargedMCPrimaryEta10 = nChargedMCPrimary;
+ // Int_t nChargedMCPrimaryEta16 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-1.6,1.6);
+ // Int_t nChargedMCPrimaryEta05 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-0.5,0.5);
+ // Int_t nChargedMCPrimaryEta03 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-0.3,0.3);
+ // Int_t nChargedMCPrimaryEtam37tm17 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,-3.7,-1.7);
+ // Int_t nChargedMCPrimaryEta28t51 = AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(arrayMC,2.8,5.1);
+ // Int_t nChargedMCPhysicalPrimaryEta10 = nChargedMCPhysicalPrimary;
+ // Int_t nChargedMCPhysicalPrimaryEta16 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-1.6,1.6);
+ // Int_t nChargedMCPhysicalPrimaryEta05 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-0.5,0.5);
+ // Int_t nChargedMCPhysicalPrimaryEta03 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-0.3,0.3);
+ // Int_t nChargedMCPhysicalPrimaryEtam37tm17 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,-3.7,-1.7);
+ // Int_t nChargedMCPhysicalPrimaryEta28t51 = AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(arrayMC,2.8,5.1);
if(fMCPrimariesEstimator==kEta10to16){
nChargedMC = nChargedMCEta16 - nChargedMCEta10;
nChargedMCPrimary = nChargedMCPrimaryEta16 - nChargedMCPrimaryEta10;
Int_t selec=-1;
Double_t ptmax=-10;
Double_t areaj=0;
- Double_t phij=0;
+ // Double_t phij=0;
Double_t etaj=0;
Double_t ptj=0;
Double_t ptcorrj=0;
for(Int_t i=0; i<fListJets[0]->GetEntries(); ++i){
AliAODJet* jetj = (AliAODJet*)(fListJets[0]->At(i));
etaj = jetj->Eta();
- phij = jetj->Phi();
+ // phij = jetj->Phi();
ptj = jetj->Pt();
if(ptj==0) continue;
areaj = jetj->EffectiveAreaCharged();
if(j==selec) continue;
AliAODJet* jetb = (AliAODJet*)(fListJets[0]->At(j));
etaj = jetb->Eta();
- phij = jetb->Phi();
+ // phij = jetb->Phi();
ptj = jetb->Pt();
if(ptj<=0) continue;
areaj = jetb->EffectiveAreaCharged();
Float_t ptMax = 0.;
Float_t etaMax = 0.;
Float_t phiMax = 0.;
- Int_t iMax = -1;
+ // Int_t iMax = -1;
//1st loop over all tracks
for(int it = 0;it<nT;++it){
AliVParticle *track = (AliVParticle*)ParticleList.At(it);
// max pt
if (pt > ptMax) {
ptMax = pt;
- iMax = it;
+ // iMax = it;
etaMax = deta;
phiMax = dphi;
}
Double_t ptmax=-10;
Double_t dphi=0;
- Double_t dif=0;
+ // Double_t dif=0;
Int_t iCount=0;
for(int it = 0;it < aod->GetNumberOfTracks();++it){
AliAODTrack *tr = aod->GetTrack(it);
if(TMath::Abs(dphi)<TMath::Pi()-0.2) continue;
if(tr->Pt()>ptmax){ ptmax=tr->Pt();
index=iCount-1;
- dif=dphi; }}
+ // dif=dphi;
+ }}
return index;
Double_t phibig=0.;
Double_t etasmall=0;
Double_t ptsmall=0;
- Double_t areasmall=0;
+ // Double_t areasmall=0;
Double_t phismall=0.;
Int_t iCount=0;
Int_t trigJet=-1;
Int_t trigBBTrack=-1;
- Int_t trigInTrack=-1;
+ // Int_t trigInTrack=-1;
fRPAngle = aod->GetHeader()->GetEventplane();
if(fHardest==0 || fHardest==1){
if(iCount==0){
trigJet=i;
trigBBTrack=nT;
- trigInTrack=ippt;
+ // trigInTrack=ippt;
iCount=iCount+1;}
etasmall = jetsmall->Eta();
phismall = jetsmall->Phi();
ptsmall = jetsmall->Pt();
- areasmall = jetsmall->EffectiveAreaCharged();
+ // areasmall = jetsmall->EffectiveAreaCharged();
Double_t tmpDeltaR=(phismall-phibig)*(phismall-phibig)+(etasmall-etabig)*(etasmall-etabig);
tmpDeltaR=TMath::Sqrt(tmpDeltaR);
//Fraction in the jet core
Int_t index=-1;
Double_t ptmax=-10;
Double_t dphi=0;
- Double_t dif=0;
+ // Double_t dif=0;
Int_t iCount=0;
for(int it = 0;it < aod->GetNumberOfTracks();++it){
AliAODTrack *tr = aod->GetTrack(it);
if(TMath::Abs(dphi)<TMath::Pi()-0.6) continue;
if(tr->Pt()>ptmax){ ptmax=tr->Pt();
index=iCount-1;
- dif=dphi; }}
+ // dif=dphi;
+ }}
return index;
if(fDebug > 2) printf("AliAnalysisTaskJetProperties::FillJetProperties() \n");
for(Int_t iJet=0; iJet < jetlist->GetEntries(); iJet++){
- Float_t JetPt;Float_t JetPhi;Float_t JetEta;Float_t JetE;
+ Float_t JetPt;Float_t JetPhi;Float_t JetEta; // Float_t JetE;
AliAODJet *jet = dynamic_cast<AliAODJet*>(jetlist->At(iJet));
if(!jet)continue;
JetEta = jet->Eta();
JetPhi = jet->Phi();
JetPt = jet->Pt();
- JetE = jet->E();
+ // JetE = jet->E();
fh2EtaJet ->Fill(JetPt,JetEta);
fh2PhiJet ->Fill(JetPt,JetPhi);
fh2PtJet ->Fill(JetPt,JetPt);
if(fTrackType==kTrackUndef)continue;
Float_t TrackEta=-99.0; Float_t TrackPt=-99.0; Float_t TrackPhi=-99.0;
Float_t FF=-99.0; Float_t DelEta=-99.0; Float_t DelPhi=-99.0;
- Float_t DelR=-99.0; Float_t AreaJ=-99.0; Float_t Ksi=-99.0;
+ Float_t DelR=-99.0; // Float_t AreaJ=-99.0;
+ Float_t Ksi=-99.0;
if(fTrackType==kTrackAOD){
AliAODTrack *trackaod = dynamic_cast<AliAODTrack*>(fTrackListJet->At(j));
if(!trackaod)continue;
DelPhi = TMath::Abs(JetPhi - TrackPhi);
if(DelPhi>TMath::Pi())DelPhi = TMath::Abs(DelPhi-TMath::TwoPi());
DelR = TMath::Sqrt(DelEta*DelEta + DelPhi*DelPhi);
- AreaJ = TMath::Pi()*DelR*DelR;
+ // AreaJ = TMath::Pi()*DelR*DelR;
fh2EtaTrack ->Fill(JetPt,TrackEta);
fh2PhiTrack ->Fill(JetPt,TrackPhi);
fh2PtTrack ->Fill(JetPt,TrackPt);
EMCALJetTasks/AliJetEmbeddingFromGenTask.cxx
EMCALJetTasks/AliJetEmbeddingFromPYTHIATask.cxx
EMCALJetTasks/AliJetEmbeddingTask.cxx
+ EMCALJetTasks/AliJetFastSimulation.cxx
EMCALJetTasks/AliJetModelBaseTask.cxx
+ EMCALJetTasks/AliJetModelCopyTracks.cxx
EMCALJetTasks/AliJetModelMergeBranches.cxx
EMCALJetTasks/AliJetRandomizerTask.cxx
EMCALJetTasks/AliJetResponseMaker.cxx
EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetv2QA.cxx
EMCALJetTasks/UserTasks/AliAnalysisTaskRhoMass.cxx
EMCALJetTasks/UserTasks/AliAnalysisTaskRhoMassBase.cxx
+ EMCALJetTasks/UserTasks/AliAnalysisTaskRhoMassScale.cxx
EMCALJetTasks/UserTasks/AliAnalysisTaskSAJF.cxx
EMCALJetTasks/UserTasks/AliAnalysisTaskSAQA.cxx
EMCALJetTasks/UserTasks/AliAnalysisTaskSOH.cxx
#include "AliLog.h"
#include "AliRhoParameter.h"
#include "AliEmcalJet.h"
+#include "AliParticleContainer.h"
+#include "AliClusterContainer.h"
#include "AliAnalysisTaskRhoBase.h"
Int_t Ntracks = 0;
Int_t Nclusters = 0;
- if (fTracks)
- Ntracks = fTracks->GetEntries();
- if (fCaloClusters)
- Nclusters = fCaloClusters->GetEntries();
+ if (GetParticleContainer(0))
+ Ntracks = GetParticleContainer(0)->GetNAcceptedParticles();
+ if (GetClusterContainer(0))
+ Nclusters = GetClusterContainer(0)->GetNAcceptedClusters();
if (fJets) {
Int_t Njets = fJets->GetEntries();
#include "AliLog.h"
#include "AliVCluster.h"
#include "AliVParticle.h"
+#include "AliVTrack.h"
#include "AliParticleContainer.h"
+#include "AliClusterContainer.h"
ClassImp(AliAnalysisTaskScale)
fHistClusterEtaPhi(0),
fHistScalevsScale2Emcal(0),
fHistScalevsScaleEmcal(0),
- fHistScaleEmcalvsScale2Emcal(0)
+ fHistScaleEmcalvsScale2Emcal(0),
+ fTracksCont(0),
+ fCaloClustersCont(0)
{
// Default constructor.
fHistClusterEtaPhi(0),
fHistScalevsScale2Emcal(0),
fHistScalevsScaleEmcal(0),
- fHistScaleEmcalvsScale2Emcal(0)
+ fHistScaleEmcalvsScale2Emcal(0),
+ fTracksCont(0),
+ fCaloClustersCont(0)
{
// Constructor.
AliAnalysisTaskEmcal::UserCreateOutputObjects();
+ //Get track and particle container
+ fTracksCont = GetParticleContainer(0);
+ fCaloClustersCont = GetClusterContainer(0);
+ if(fTracksCont) fTracksCont->SetClassName("AliVTrack");
+ if(fCaloClustersCont) fCaloClustersCont->SetClassName("AliVCluster");
+
+ //Create histos
fHistPtTPCvsCent = new TH2F("fHistPtTPCvsCent", "fHistPtTPCvsCent", 101, -1, 100, 750, 0, 1500);
fHistPtTPCvsCent->GetXaxis()->SetTitle("Centrality (%)");
fHistPtTPCvsCent->GetYaxis()->SetTitle("#sum p_{T,track}^{TPC} GeV/c");
Double_t ptEMCAL = 0;
Double_t ptEMCAL2 = 0;
- const Int_t Ntracks = fTracks->GetEntries();
- for (Int_t iTracks = 0; iTracks < Ntracks; ++iTracks) {
- AliVParticle *track = static_cast<AliVParticle*>(fTracks->At(iTracks));
-
- if (!track)
- continue;
-
- if (!AcceptTrack(track))
- continue;
-
- if (TMath::Abs(track->Eta()) > 0.7) // only accept tracks in the EMCal eta range
- continue;
-
- fHistTrackPtvsCent->Fill(fCent,track->Pt());
- fHistTrackEtaPhi->Fill(track->Eta(),track->Phi());
- ptTPC += track->Pt();
- if ((track->Phi() > (EmcalMaxPhi+EmcalWidth)) || (track->Phi() < (EmcalMinPhi-EmcalWidth))) continue;
- ptEMCAL2 += track->Pt();
- if ((track->Phi() > EmcalMaxPhi) || (track->Phi() < EmcalMinPhi)) continue;
- ptEMCAL += track->Pt();
+ const Int_t Ntracks = fTracksCont->GetNAcceptedParticles();
+ if (fTracksCont) {
+ fTracksCont->ResetCurrentID();
+ AliVTrack *track = NULL;
+ while((track = static_cast<AliVTrack*>(fTracksCont->GetNextAcceptParticle()))) {
+ fHistTrackPtvsCent->Fill(fCent,track->Pt());
+ fHistTrackEtaPhi->Fill(track->Eta(),track->Phi());
+ ptTPC += track->Pt();
+ if ((track->Phi() > (EmcalMaxPhi+EmcalWidth)) || (track->Phi() < (EmcalMinPhi-EmcalWidth))) continue;
+ ptEMCAL2 += track->Pt();
+ if ((track->Phi() > EmcalMaxPhi) || (track->Phi() < EmcalMinPhi)) continue;
+ ptEMCAL += track->Pt();
+ }
}
if (ptTPC == 0)
return kFALSE;
-
- Double_t Et = 0;
- const Int_t Nclus = fCaloClusters->GetEntries();
- for (Int_t iClus = 0; iClus < Nclus; ++iClus) {
- AliVCluster *c = static_cast<AliVCluster*>(fCaloClusters->At(iClus));
- if (!c)
- continue;
- if (!AcceptCluster(c))
- continue;
+ Double_t Et = 0;
+ if (fCaloClustersCont) {
+ fCaloClustersCont->ResetCurrentID();
+ AliVCluster *c = NULL;
+ while((c = fCaloClustersCont->GetNextAcceptCluster())) {
+ TLorentzVector nPart;
+ c->GetMomentum(nPart, fVertex);
- TLorentzVector nPart;
- c->GetMomentum(nPart, fVertex);
+ fHistClusterPtvsCent->Fill(fCent, nPart.Pt());
+ fHistClusterEtaPhi->Fill(nPart.Eta(), nPart.Phi());
- fHistClusterPtvsCent->Fill(fCent, nPart.Pt());
- fHistClusterEtaPhi->Fill(nPart.Eta(), nPart.Phi());
-
- Et += nPart.Pt();
+ Et += nPart.Pt();
+ }
}
Double_t scalecalc = -1;
if (TpcMinPhi < 0) TpcMinPhi = 0;
fTpcArea = (TpcMaxPhi - TpcMinPhi) * (EmcalMinEta - EmcalMaxEta);
+
+ if (fTracksCont && fTracksCont->GetArray() == 0) fTracksCont = 0;
+ if (fCaloClustersCont && fCaloClustersCont->GetArray() == 0) fCaloClustersCont = 0;
}
class TH2;
class TF1;
+class AliParticleContainer;
+class AliClusterContainer;
#include "AliAnalysisTaskEmcal.h"
TH2 *fHistScalevsScaleEmcal; //!output histogram
TH2 *fHistScaleEmcalvsScale2Emcal; //!output histogram
+ AliParticleContainer *fTracksCont; //!Tracks
+ AliClusterContainer *fCaloClustersCont; //!Clusters
+
AliAnalysisTaskScale(const AliAnalysisTaskScale&); // not implemented
AliAnalysisTaskScale& operator=(const AliAnalysisTaskScale&); // not implemented
- ClassDef(AliAnalysisTaskScale, 10); // Scale task
+ ClassDef(AliAnalysisTaskScale, 11); // Scale task
};
#endif
fIsEmcPart(0),
fLegacyMode(kFALSE),
fCodeDebug(kFALSE),
+ fPionMassClusters(kFALSE),
fDoGenericSubtractionJetMass(kFALSE),
fDoGenericSubtractionGR(kFALSE),
fDoGenericSubtractionExtraJetShapes(kFALSE),
fIsEmcPart(0),
fLegacyMode(kFALSE),
fCodeDebug(kFALSE),
+ fPionMassClusters(kFALSE),
fDoGenericSubtractionJetMass(kFALSE),
fDoGenericSubtractionGR(kFALSE),
fDoGenericSubtractionExtraJetShapes(kFALSE),
continue;
// offset of 100 to skip ghost particles uid = -1
AliDebug(2,Form("Cluster %d accepted (label = %d)", iClus, c->GetLabel()));
- fjw.AddInputVector(cPx, cPy, cPz, TMath::Sqrt(cPx*cPx+cPy*cPy+cPz*cPz), -iClus - 100);
+ Double_t e = TMath::Sqrt(cPx*cPx+cPy*cPy+cPz*cPz);
+ if(fPionMassClusters) e = TMath::Sqrt(cPx*cPx+cPy*cPy+cPz*cPz + 0.13957*0.13957); //MV: dirty, need better solution
+ fjw.AddInputVector(cPx, cPy, cPz, e, -iClus - 100);
+ // fjw.AddInputVector(cPx, cPy, cPz, TMath::Sqrt(cPx*cPx+cPy*cPy+cPz*cPz), -iClus - 100);
}
}
if (s) fMCFlag |= AliAODMCParticle::kPhysicalPrim ;
else fMCFlag &= ~AliAODMCParticle::kPhysicalPrim ; }
- void SetCodeDebug(Bool_t val) { fCodeDebug = val; }
+ void SetCodeDebug(Bool_t val) { fCodeDebug = val ; }
+ void SetForceIsMcPart(Bool_t b) { fIsMcPart = b ; }
+ void SetPionMassForClusters(Bool_t b) { fPionMassClusters = b ; }
void SetRhoName(const char *n) { fRhoName = n ; }
void SetRhomName(const char *n) { fRhomName = n ; }
void SetGenericSubtractionJetMass(Bool_t b) { fDoGenericSubtractionJetMass = b; }
void SetGenericSubtractionGR(Bool_t b, Double_t rmax = 2., Double_t dr = 0.04, Double_t ptmin = 0.) { fDoGenericSubtractionGR = b; fRMax=rmax; fDRStep=dr; fPtMinGR=ptmin;}
void SetConstituentSubtraction(Bool_t b) { fDoConstituentSubtraction = b; }
- void SetGenericSubtractionExtraJetShapes(Bool_t b) {fDoGenericSubtractionExtraJetShapes =b;}
+ void SetGenericSubtractionExtraJetShapes(Bool_t b) { fDoGenericSubtractionExtraJetShapes =b;}
void SetUseExternalBkg(Bool_t b, Double_t rho, Double_t rhom) { fUseExternalBkg = b; fRho = rho; fRhom = rhom;}
UInt_t GetJetType() { return fJetType; }
Bool_t fIsEmcPart; //!=true if emcal particles are given as input (for clusters)
Bool_t fLegacyMode; //! if true, enable FJ 2.x behavior
Bool_t fCodeDebug; // use nontested code changes
+ Bool_t fPionMassClusters; // assume pion mass for clusters
Bool_t fDoGenericSubtractionJetMass; // calculate generic subtraction
Bool_t fDoGenericSubtractionGR; // calculate generic subtraction for angular structure function GR
AliEmcalJetTask(const AliEmcalJetTask&); // not implemented
AliEmcalJetTask &operator=(const AliEmcalJetTask&); // not implemented
- ClassDef(AliEmcalJetTask, 15) // Jet producing task
+ ClassDef(AliEmcalJetTask, 16) // Jet producing task
};
#endif
fIncludeNoITS(kFALSE),
fCutMaxFractionSharedTPCClusters(0.4),
fUseNegativeLabels(kTRUE),
- fTrackEfficiency(1),
+ fTrackEfficiency(0),
fIsAODMC(kFALSE),
fTotalFiles(2050),
fAttempts(5),
fAODCaloCells(0),
fAODMCParticles(0),
fCurrentAODEntry(-1),
+ fFirstAODEntry(-1),
+ fLastAODEntry(-1),
fAODFilePath(0),
fHistFileMatching(0),
fHistAODFileError(0),
fIncludeNoITS(kFALSE),
fCutMaxFractionSharedTPCClusters(0.4),
fUseNegativeLabels(kTRUE),
- fTrackEfficiency(1),
+ fTrackEfficiency(0),
fIsAODMC(kFALSE),
fTotalFiles(2050),
fAttempts(5),
fAODCaloCells(0),
fAODMCParticles(0),
fCurrentAODEntry(-1),
+ fFirstAODEntry(-1),
+ fLastAODEntry(-1),
fAODFilePath(0),
fHistFileMatching(0),
fHistAODFileError(0),
if (!fAODMCParticlesName.IsNull())
fCurrentAODTree->SetBranchAddress(fAODMCParticlesName, &fAODMCParticles);
- if (fRandomAccess)
- fCurrentAODEntry = TMath::Nint(gRandom->Rndm()*fCurrentAODTree->GetEntries());
- else
- fCurrentAODEntry = -1;
+ if (fRandomAccess) {
+ fFirstAODEntry = TMath::Nint(gRandom->Rndm()*fCurrentAODTree->GetEntries())-1;
+ fLastAODEntry = fCurrentAODTree->GetEntries();
+ }
+ else {
+ fFirstAODEntry = -1;
+ }
+
+ fLastAODEntry = fCurrentAODTree->GetEntries();
+ fCurrentAODEntry = fFirstAODEntry;
AliDebug(3,Form("Will start embedding from entry %d", fCurrentAODEntry+1));
{
Int_t attempts = -1;
+ fLastAODEntry = fCurrentAODTree->GetEntries();
+
do {
- if (!fCurrentAODFile || !fCurrentAODTree || fCurrentAODEntry+1 >= fCurrentAODTree->GetEntries()) {
+ if (fCurrentAODEntry+1 >= fLastAODEntry) { // in case it did not start from the first entry, it will go back
+ fLastAODEntry = fFirstAODEntry;
+ fFirstAODEntry = -1;
+ fCurrentAODEntry = -1;
+ }
+ if (!fCurrentAODFile || !fCurrentAODTree || fCurrentAODEntry+1 >= fLastAODEntry) {
if (!OpenNextFile()) {
AliError("Could not open the next file!");
return kFALSE;
AliAODHeader *aodHeader = static_cast<AliAODHeader*>(fAODHeader);
// Trigger selection
- if (fTriggerMask != AliVEvent::kAny) {
+ if (fTriggerMask != 0) {
UInt_t offlineTrigger = aodHeader->GetOfflineTrigger();
-
if ((offlineTrigger & fTriggerMask) == 0) {
- AliDebug(2,Form("Event rejected due to physics selection. Event trigger mask: %d, trigger mask selection: %d.",
- offlineTrigger, fTriggerMask));
- return kFALSE;
+ AliDebug(2,Form("Event rejected due to physics selection. Event trigger mask: %d, trigger mask selection: %d.",
+ offlineTrigger, fTriggerMask));
+ return kFALSE;
}
}
continue;
}
- if (fTrackEfficiency < 1) {
+ if (fTrackEfficiency) {
Double_t r = gRandom->Rndm();
- if (fTrackEfficiency < r) {
- AliDebug(3, "Track not embedded because of artificial inefiiciency.");
+ if (fTrackEfficiency->Eval(track->Pt()) < r) {
+ AliDebug(3, "Track not embedded because of artificial inefficiency.");
continue;
}
}
void SetIncludeNoITS(Bool_t f) { fIncludeNoITS = f ; }
void SetCutMaxFractionSharedTPCClusters(Double_t c = 0.4) { fCutMaxFractionSharedTPCClusters = c ; }
void SetUseNegativeLabels(Bool_t f) { fUseNegativeLabels = f ; }
- void SetTrackEfficiency(Double_t eff = 0.95) { fTrackEfficiency = eff ; }
+ void SetTrackEfficiency(Double_t eff = 0.95) { fTrackEfficiency = new TF1("eff", "[0]", 0, 500); fTrackEfficiency->FixParameter(0,eff); }
+ void SetTrackEfficiency(TF1* eff) { fTrackEfficiency = eff ; }
void SetTotalFiles(Int_t n) { fTotalFiles = n ; }
void SetAttempts(Int_t n) { fAttempts = n ; }
void SetRandomAccess(Bool_t r=kTRUE) { fRandomAccess = r ; }
Bool_t fIncludeNoITS ;// True = includes tracks with failed ITS refit
Double_t fCutMaxFractionSharedTPCClusters; // max fraction of shared TPC clusters
Bool_t fUseNegativeLabels ;// Whether or not should use negative MC labels
- Double_t fTrackEfficiency ;// Track efficiency
+ TF1 *fTrackEfficiency ;// Track efficiency
Bool_t fIsAODMC ;// Whether the embedding AOD is MC or not
Int_t fTotalFiles ;// Total number of files per pt hard bin
Int_t fAttempts ;// Attempts to be tried before giving up in opening the next file
AliVCaloCells *fAODCaloCells ;//! AOD cell collection
TClonesArray *fAODMCParticles ;//! AOD MC particles collection
Int_t fCurrentAODEntry ;//! Current entry in the AOD tree
+ Int_t fFirstAODEntry ;//! First entry in the AOD tree
+ Int_t fLastAODEntry ;//! Last entry in the AOD tree
AliNamedString *fAODFilePath ;//! Current AOD file path being embedded
TH2 *fHistFileMatching ;//! Current file ID vs. AOD file ID (to be embedded)
TH1 *fHistAODFileError ;//! AOD file ID (to be embedded) error
AliJetEmbeddingFromAODTask(const AliJetEmbeddingFromAODTask&); // not implemented
AliJetEmbeddingFromAODTask &operator=(const AliJetEmbeddingFromAODTask&); // not implemented
- ClassDef(AliJetEmbeddingFromAODTask, 11) // Jet embedding from AOD task
+ ClassDef(AliJetEmbeddingFromAODTask, 12) // Jet embedding from AOD task
};
#endif
fHistPt = new TH1F("fHistpt","fHistPt;#it{p}_{T};N",100,0.,100.);
fOutput->Add(fHistPt);
- fHistEtaPhi = new TH2F("fHistEtapHI","fHistEtaPhi;#eta;#varphi",100,-3.,3.,100.,0.,TMath::TwoPi());
+ fHistEtaPhi = new TH2F("fHistEtaPhi","fHistEtaPhi;#eta;#varphi",100,-3.,3.,100.,0.,TMath::TwoPi());
fOutput->Add(fHistEtaPhi);
fHistTrials = new TH1F("fHistTrials", "fHistTrials", 1, 0, 1);
fAnchorRun(-1),
fFileTable(0),
fUseAsVetoTable(kTRUE),
- fMinEntriesFromFile(0),
+ fMinEntriesPerPtHardBin(1),
fCurrentPtHardBin(-1),
fPtHardBinParam(0),
+ fPtHardBinCount(0),
fHistPtHardBins(0)
{
// Default constructor.
fAnchorRun(-1),
fFileTable(0),
fUseAsVetoTable(kTRUE),
- fMinEntriesFromFile(0),
+ fMinEntriesPerPtHardBin(1),
fCurrentPtHardBin(-1),
fPtHardBinParam(0),
+ fPtHardBinCount(0),
fHistPtHardBins(0)
{
// Standard constructor.
//________________________________________________________________________
Bool_t AliJetEmbeddingFromPYTHIATask::GetNextEntry()
{
- if (fEmbeddingCount >= fMinEntriesFromFile) {
+ if (fPtHardBinCount >= fMinEntriesPerPtHardBin || fCurrentPtHardBin < 0) {
+ fPtHardBinCount = 0;
+
Int_t newPtHard = GetRandomPtHardBin();
- new (fPtHardBinParam) TParameter<int>("PYTHIAPtHardBin", newPtHard);
-
- if (fHistPtHardBins)
- fHistPtHardBins->SetBinContent(newPtHard+1, fHistPtHardBins->GetBinContent(newPtHard+1)+1);
-
if (newPtHard != fCurrentPtHardBin) {
+ new (fPtHardBinParam) TParameter<int>("PYTHIAPtHardBin", newPtHard);
fCurrentPtHardBin = newPtHard;
if (!OpenNextFile()) return kFALSE;
}
}
+ fPtHardBinCount++;
+ fHistPtHardBins->SetBinContent(fCurrentPtHardBin+1, fHistPtHardBins->GetBinContent(fCurrentPtHardBin+1)+1);
+
return AliJetEmbeddingFromAODTask::GetNextEntry();
}
#ifndef ALIJETEMBEDDINGFROMPYTHIATASK_H
#define ALIJETEMBEDDINGFROMPYTHIATASK_H
-// $Id$
-
#include "AliJetEmbeddingFromAODTask.h"
#include <TArrayD.h>
void SetLHC11hAnchorRuns(Bool_t a=kTRUE) { fLHC11hAnchorRun = a ; }
void SetFileTable(THashTable *t) { fFileTable = t ; }
void SetUseAsVetoTable(Bool_t v) { fUseAsVetoTable = v ; }
- void SetMinEntriesFromFile(Int_t r) { fMinEntriesFromFile = r ; }
+ void SetMinEntriesPerPtHardBin(Int_t r) { fMinEntriesPerPtHardBin = r ; }
protected:
- Bool_t ExecOnce() ;// intialize task
- Bool_t GetNextEntry() ;// get next entry in current tree
- Int_t GetRandomPtHardBin() ;// get a radnom pt hard bin according to fPtHardBinScaling
- TFile *GetNextFile() ;// get next file
-
- TString fPYTHIAPath ;// Path of the PYTHIA production
- TArrayD fPtHardBinScaling ;// Pt hard bin scaling
- Bool_t fLHC11hAnchorRun ;// LHC11h anchor runs
- Int_t fAnchorRun ;// Anchor run
- THashTable *fFileTable ;// Table of allowed/vetoed files
- Bool_t fUseAsVetoTable ;// Use fFileTable as a veto table
- Int_t fMinEntriesFromFile ;// Minimum number of embedded events before changing file
- Int_t fCurrentPtHardBin ;//!Pt hard bin of the current open file
- TParameter<int> *fPtHardBinParam ;//!Pt hard bin param
-
- TH1 *fHistPtHardBins ;//!Embeded pt hard bin distribution
+ Bool_t ExecOnce() ;// intialize task
+ Bool_t GetNextEntry() ;// get next entry in current tree
+ Int_t GetRandomPtHardBin() ;// get a radnom pt hard bin according to fPtHardBinScaling
+ TFile *GetNextFile() ;// get next file
+
+ TString fPYTHIAPath ;// Path of the PYTHIA production
+ TArrayD fPtHardBinScaling ;// Pt hard bin scaling
+ Bool_t fLHC11hAnchorRun ;// LHC11h anchor runs
+ Int_t fAnchorRun ;// Anchor run
+ THashTable *fFileTable ;// Table of allowed/vetoed files
+ Bool_t fUseAsVetoTable ;// Use fFileTable as a veto table
+ Int_t fMinEntriesPerPtHardBin ;// Minimum number of embedded events before changing pt hard bin
+ Int_t fCurrentPtHardBin ;//!Pt hard bin of the current open file
+ TParameter<int> *fPtHardBinParam ;//!Pt hard bin param
+ Int_t fPtHardBinCount ;//!Number of event embedded from the current pt hard bin
+
+ TH1 *fHistPtHardBins ;//!Embeded pt hard bin distribution
private:
AliJetEmbeddingFromPYTHIATask(const AliJetEmbeddingFromPYTHIATask&); // not implemented
AliJetEmbeddingFromPYTHIATask &operator=(const AliJetEmbeddingFromPYTHIATask&); // not implemented
- ClassDef(AliJetEmbeddingFromPYTHIATask, 3) // Jet embedding from PYTHIA task
+ ClassDef(AliJetEmbeddingFromPYTHIATask, 4) // Jet embedding from PYTHIA task
};
#endif
//
// Author: S.Aiola, C.Loizides
+#include <TRandom3.h>
+
#include "AliJetEmbeddingTask.h"
ClassImp(AliJetEmbeddingTask)
//________________________________________________________________________
AliJetEmbeddingTask::AliJetEmbeddingTask() :
AliJetModelBaseTask("AliJetEmbeddingTask"),
- fMassless(kFALSE)
+ fMassless(kFALSE),
+ fNeutralFraction(0)
{
// Default constructor.
SetSuffix("Embedded");
//________________________________________________________________________
AliJetEmbeddingTask::AliJetEmbeddingTask(const char *name) :
AliJetModelBaseTask(name),
- fMassless(kFALSE)
+ fMassless(kFALSE),
+ fNeutralFraction(0)
{
// Standard constructor.
SetSuffix("Embedded");
for (Int_t i = 0; i < fNTracks; ++i) {
Double_t mass = 0.1396;
if(fMassless) mass = 0.;
- AddTrack(-1,-999,-1,0,0,0,0,kFALSE,0,1,mass);
+ Short_t charge = 1;
+ if(fNeutralFraction>0.) {
+ Double_t rnd = gRandom->Rndm();
+ if(rnd<fNeutralFraction) charge = 0;
+ }
+ AddTrack(-1,-999,-1,0,0,0,0,kFALSE,0,charge,mass);
}
}
}
AliJetEmbeddingTask(const char *name);
virtual ~AliJetEmbeddingTask();
- void SetMasslessParticles(Bool_t b) { fMassless = b ; }
+ void SetMasslessParticles(Bool_t b) { fMassless = b ; }
+ void SetNeutralFraction(Double_t f) { fNeutralFraction = f ; }
protected:
void Run();
+ private:
Bool_t fMassless; //make particles massless
+ Double_t fNeutralFraction; //assign charge==0 to fraction of particles
- private:
AliJetEmbeddingTask(const AliJetEmbeddingTask&); // not implemented
AliJetEmbeddingTask &operator=(const AliJetEmbeddingTask&); // not implemented
- ClassDef(AliJetEmbeddingTask, 2) // Jet embedding task
+ ClassDef(AliJetEmbeddingTask, 3) // Jet embedding task
};
#endif
--- /dev/null
+// $Id$
+//
+// Jet model task to merge to existing branches
+// only implemented for track branches
+//
+// Author: M. Verweij
+
+#include "AliJetFastSimulation.h"
+
+#include <TClonesArray.h>
+#include <TFolder.h>
+#include <TLorentzVector.h>
+#include <TParticle.h>
+#include <TParticlePDG.h>
+#include <TRandom3.h>
+#include <TProfile.h>
+#include <TGrid.h>
+#include <TFile.h>
+#include <TF1.h>
+#include "AliAnalysisManager.h"
+#include "AliEMCALDigit.h"
+#include "AliEMCALGeometry.h"
+#include "AliEMCALRecPoint.h"
+#include "AliGenerator.h"
+#include "AliHeader.h"
+#include "AliLog.h"
+#include "AliPicoTrack.h"
+#include "AliRun.h"
+#include "AliRunLoader.h"
+#include "AliStack.h"
+#include "AliStack.h"
+#include "AliVCluster.h"
+#include "AliVEvent.h"
+
+ClassImp(AliJetFastSimulation)
+
+//________________________________________________________________________
+AliJetFastSimulation::AliJetFastSimulation() :
+AliAnalysisTaskEmcal("AliJetFastSimulation",kTRUE),
+ fTracksOutName(""),
+ fTracksOut(0x0),
+ fNTrackClasses(2),
+ fRandom(0),
+ fEfficiencyFixed(1.),
+ fMomResH1(0x0),
+ fMomResH2(0x0),
+ fMomResH3(0x0),
+ fMomResH1Fit(0x0),
+ fMomResH2Fit(0x0),
+ fMomResH3Fit(0x0),
+ fhEffH1(0x0),
+ fhEffH2(0x0),
+ fhEffH3(0x0),
+ fUseTrPtResolutionSmearing(kFALSE),
+ fUseDiceEfficiency(kFALSE),
+ fDiceEfficiencyMinPt(-1.),
+ fUseTrPtResolutionFromOADB(kFALSE),
+ fUseTrEfficiencyFromOADB(kFALSE),
+ fPathTrPtResolution(""),
+ fPathTrEfficiency(""),
+ fHistPtDet(0),
+ fh2PtGenPtSmeared(0),
+ fp1Efficiency(0),
+ fp1PtResolution(0)
+{
+ // Default constructor.
+ SetMakeGeneralHistograms(kTRUE);
+}
+
+//________________________________________________________________________
+AliJetFastSimulation::AliJetFastSimulation(const char *name) :
+ AliAnalysisTaskEmcal(name,kTRUE),
+ fTracksOutName(""),
+ fTracksOut(0x0),
+ fNTrackClasses(2),
+ fRandom(0),
+ fEfficiencyFixed(1.),
+ fMomResH1(0x0),
+ fMomResH2(0x0),
+ fMomResH3(0x0),
+ fMomResH1Fit(0x0),
+ fMomResH2Fit(0x0),
+ fMomResH3Fit(0x0),
+ fhEffH1(0x0),
+ fhEffH2(0x0),
+ fhEffH3(0x0),
+ fUseTrPtResolutionSmearing(kFALSE),
+ fUseDiceEfficiency(kFALSE),
+ fDiceEfficiencyMinPt(-1.),
+ fUseTrPtResolutionFromOADB(kFALSE),
+ fUseTrEfficiencyFromOADB(kFALSE),
+ fPathTrPtResolution(""),
+ fPathTrEfficiency(""),
+ fHistPtDet(0),
+ fh2PtGenPtSmeared(0),
+ fp1Efficiency(0),
+ fp1PtResolution(0)
+{
+ // Standard constructor.
+ SetMakeGeneralHistograms(kTRUE);
+}
+
+//________________________________________________________________________
+AliJetFastSimulation::~AliJetFastSimulation()
+{
+ // Destructor
+
+ delete fRandom;
+}
+
+//________________________________________________________________________
+void AliJetFastSimulation::ExecOnce()
+{
+ // Exec only once.
+
+ AliAnalysisTaskEmcal::ExecOnce();
+
+ if(!fRandom) fRandom = new TRandom3(0);
+
+ if (!fTracksOutName.IsNull()) {
+ fTracksOut = new TClonesArray("AliPicoTrack");
+ fTracksOut->SetName(fTracksOutName);
+ if (InputEvent()->FindListObject(fTracksOutName)) {
+ AliFatal(Form("%s: Collection %s is already present in the event!", GetName(), fTracksOutName.Data()));
+ return;
+ }
+ else {
+ InputEvent()->AddObject(fTracksOut);
+ }
+ }
+}
+//________________________________________________________________________
+void AliJetFastSimulation::LocalInit() {
+ //initialize track response
+ if(fUseTrPtResolutionFromOADB) LoadTrPtResolutionRootFileFromOADB();
+ if(fUseTrEfficiencyFromOADB) LoadTrEfficiencyRootFileFromOADB();
+ FitMomentumResolution();
+}
+
+//________________________________________________________________________
+void AliJetFastSimulation::UserCreateOutputObjects()
+{
+ AliAnalysisTaskEmcal::UserCreateOutputObjects();
+
+ const Int_t nBinPt = 100;
+ Double_t binLimitsPt[nBinPt+1];
+ for(Int_t iPt = 0;iPt <= nBinPt;iPt++){
+ if(iPt == 0){
+ binLimitsPt[iPt] = 0.0;
+ } else {// 1.0
+ binLimitsPt[iPt] = binLimitsPt[iPt-1] + 1.0;
+ }
+ }
+
+ fHistPtDet = new TH1F("fHistpt","fHistPtDet;#it{p}_{T};N",nBinPt,binLimitsPt);
+ fOutput->Add(fHistPtDet);
+
+ fh2PtGenPtSmeared = new TH2F("fh2PtGenPtSmeared","fh2PtGenPtSmeared",nBinPt,binLimitsPt,nBinPt,binLimitsPt);
+ fOutput->Add(fh2PtGenPtSmeared);
+
+ fp1Efficiency = new TProfile("fp1Efficiency","fp1Efficiency",nBinPt,binLimitsPt);
+ fOutput->Add(fp1Efficiency);
+
+ fp1PtResolution = new TProfile("fp1PtResolution","fp1PtResolution",nBinPt,binLimitsPt);
+ fOutput->Add(fp1PtResolution);
+
+ PostData(1, fOutput); // Post data for ALL output slots > 0 here.
+}
+
+
+//________________________________________________________________________
+Bool_t AliJetFastSimulation::Run()
+{
+ //Check if information is provided detector level effects
+ if(!fMomResH1 && fNTrackClasses>0 )
+ fUseTrPtResolutionSmearing = 0;
+ if(!fMomResH2 && fNTrackClasses>1 )
+ fUseTrPtResolutionSmearing = 0;
+ if(!fMomResH3 && fNTrackClasses>2 )
+ fUseTrPtResolutionSmearing = 0;
+
+ if(fEfficiencyFixed < 1. && !fUseDiceEfficiency)
+ fUseDiceEfficiency = 1; // 1 is the default; 2 can be set by user but not implemented
+ else {
+ if(!fhEffH1 && fNTrackClasses>0 )
+ fUseDiceEfficiency = 0;
+ if(!fhEffH2 && fNTrackClasses>1 )
+ fUseDiceEfficiency = 0;
+ if(!fhEffH3 && fNTrackClasses>2 )
+ fUseDiceEfficiency = 0;
+ }
+
+ fTracksOut->Delete();
+ SimulateTracks();
+ return kTRUE;
+}
+
+//________________________________________________________________________
+void AliJetFastSimulation::SimulateTracks()
+{
+ //Apply toy detector simulation to tracks
+ Int_t it = 0;
+ const Int_t nTracks = fTracks->GetEntriesFast();
+ for (Int_t i = 0; i < nTracks; ++i) {
+ AliPicoTrack *picotrack = static_cast<AliPicoTrack*>(fTracks->At(i));
+ if (!picotrack)
+ continue;
+
+ Bool_t accept = kTRUE;
+ Double_t eff[3] = {0};
+ Double_t rnd = fRandom->Uniform(1.);
+ if(fUseDiceEfficiency) accept = DiceEfficiency(picotrack,eff,rnd);
+ if(!accept) continue;
+
+ AliPicoTrack *track = NULL;
+ if(fUseTrPtResolutionSmearing) {
+ track = SmearPt(picotrack,eff,rnd);
+ (*fTracksOut)[it] = track;
+ } else
+ track = new ((*fTracksOut)[it]) AliPicoTrack(*picotrack);
+
+ track->SetBit(TObject::kBitMask,1);
+ fHistPtDet->Fill(track->Pt());
+ it++;
+ }
+}
+
+//________________________________________________________________________
+Bool_t AliJetFastSimulation::DiceEfficiency(AliPicoTrack *vp, Double_t eff[3], Double_t rnd)
+{
+ // Dice to decide if particle is kept or not - toy model for efficiency
+ //
+ Double_t sumEff = 0.;
+ Double_t pT = 0.;
+
+ if(fEfficiencyFixed<1.)
+ sumEff = fEfficiencyFixed;
+ else {
+ pT = vp->Pt();
+ Double_t pTtmp = pT;
+ if(pT>10.) pTtmp = 10.;
+ if(fhEffH1) eff[0] = fhEffH1->GetBinContent(fhEffH1->FindBin(pTtmp));
+ if(fhEffH2) eff[1] = fhEffH2->GetBinContent(fhEffH2->FindBin(pTtmp));
+ if(fhEffH3) eff[2] = fhEffH3->GetBinContent(fhEffH3->FindBin(pTtmp));
+
+ sumEff = eff[0]+eff[1]+eff[2];
+ }
+ fp1Efficiency->Fill(vp->Pt(),sumEff);
+ if(rnd>sumEff && pT > fDiceEfficiencyMinPt) return kFALSE;
+ return kTRUE;
+}
+
+//________________________________________________________________________
+AliPicoTrack* AliJetFastSimulation::SmearPt(AliPicoTrack *vp, Double_t eff[3], Double_t rnd)
+{
+ //Smear momentum of generated particle
+ Double_t smear = 1.;
+ Double_t pT = vp->Pt();
+ //Select hybrid track category
+
+ //Sort efficiencies from large to small
+ Int_t cat[3] = {0};
+ TMath::Sort(3,eff,cat);
+ if(rnd<=eff[cat[2]])
+ smear = GetMomentumSmearing(cat[2],pT);
+ else if(rnd<=(eff[cat[2]]+eff[cat[1]]))
+ smear = GetMomentumSmearing(cat[1],pT);
+ else
+ smear = GetMomentumSmearing(cat[0],pT);
+
+ fp1PtResolution->Fill(vp->Pt(),smear);
+
+ Double_t sigma = vp->Pt()*smear;
+ Double_t pTrec = fRandom->Gaus(vp->Pt(),sigma);
+ fh2PtGenPtSmeared->Fill(vp->Pt(),pTrec);
+
+ AliPicoTrack *picotrack = new AliPicoTrack(pTrec,
+ vp->Eta(),
+ vp->Phi(),
+ vp->Charge(),
+ vp->GetLabel(),
+ AliPicoTrack::GetTrackType(vp),
+ vp->GetTrackEtaOnEMCal(),
+ vp->GetTrackPhiOnEMCal(),
+ vp->GetTrackPtOnEMCal(),
+ vp->IsEMCAL(),
+ 0.13957); //assume pion mass
+ return picotrack;
+}
+
+//________________________________________________________________________
+Double_t AliJetFastSimulation::GetMomentumSmearing(Int_t cat, Double_t pt) {
+
+ //
+ // Get smearing on generated momentum
+ //
+
+ TProfile *fMomRes = 0x0;
+ if(cat==1 && fMomResH1) fMomRes = (TProfile*)fMomResH1->Clone("fMomRes");
+ if(cat==2 && fMomResH2) fMomRes = (TProfile*)fMomResH2->Clone("fMomRes");
+ if(cat==3 && fMomResH3) fMomRes = (TProfile*)fMomResH3->Clone("fMomRes");
+
+ if(!fMomRes)
+ return 0.;
+
+ Double_t smear = 0.;
+ if(pt>20.) {
+ if(cat==1 && fMomResH1Fit) smear = fMomResH1Fit->Eval(pt);
+ if(cat==2 && fMomResH2Fit) smear = fMomResH2Fit->Eval(pt);
+ if(cat==3 && fMomResH3Fit) smear = fMomResH3Fit->Eval(pt);
+ }
+ else {
+ Int_t bin = fMomRes->FindBin(pt);
+ smear = fRandom->Gaus(fMomRes->GetBinContent(bin),fMomRes->GetBinError(bin));
+ }
+
+ if(fMomRes) delete fMomRes;
+
+ return smear;
+}
+
+//________________________________________________________________________
+void AliJetFastSimulation::LoadTrPtResolutionRootFileFromOADB() {
+
+ if (!gGrid && fPathTrPtResolution.Contains("alien://")) {
+ AliInfo("Trying to connect to AliEn ...");
+ TGrid::Connect("alien://");
+ }
+
+ TFile *f = TFile::Open(fPathTrPtResolution.Data());
+ if(!f)return;
+ TProfile *fProfPtPtSigma1PtGlobSt = NULL;
+ TProfile *fProfPtPtSigma1PtGlobCnoSPD = NULL;
+ TProfile *fProfPtPtSigma1PtGlobCnoITS = NULL;
+ if(fNTrackClasses>0) fProfPtPtSigma1PtGlobSt = (TProfile*)f->Get("fProfPtPtSigma1PtGlobSt");
+ if(fNTrackClasses>1) fProfPtPtSigma1PtGlobCnoSPD = (TProfile*)f->Get("fProfPtPtSigma1PtGlobCnoSPD");
+ if(fNTrackClasses>2) fProfPtPtSigma1PtGlobCnoITS = (TProfile*)f->Get("fProfPtPtSigma1PtGlobCnoITS");
+
+ SetSmearResolution(kTRUE);
+ SetMomentumResolutionHybrid(fProfPtPtSigma1PtGlobSt,fProfPtPtSigma1PtGlobCnoSPD,fProfPtPtSigma1PtGlobCnoITS);
+}
+
+//________________________________________________________________________
+void AliJetFastSimulation::LoadTrEfficiencyRootFileFromOADB() {
+
+ if (!gGrid && fPathTrPtResolution.Contains("alien://")) {
+ AliInfo("Trying to connect to AliEn ...");
+ TGrid::Connect("alien://");
+ }
+
+ TFile *f = TFile::Open(fPathTrEfficiency.Data());
+ if(!f)return;
+ TH1D *hEffPosGlobSt = NULL;
+ TH1D *hEffPosGlobCnoSPD = NULL;
+ TH1D *hEffPosGlobCnoITS = NULL;
+ if(fNTrackClasses>0) hEffPosGlobSt = (TH1D*)f->Get("hEffPosGlobSt");
+ if(fNTrackClasses>1) hEffPosGlobCnoSPD = (TH1D*)f->Get("hEffPosGlobCnoSPD");
+ if(fNTrackClasses>2) hEffPosGlobCnoITS = (TH1D*)f->Get("hEffPosGlobCnoITS");
+
+ SetDiceEfficiency(kTRUE);
+ SetEfficiencyHybrid(hEffPosGlobSt,hEffPosGlobCnoSPD,hEffPosGlobCnoITS);
+}
+
+//________________________________________________________________________
+void AliJetFastSimulation::SetMomentumResolutionHybrid(TProfile *p1, TProfile *p2, TProfile *p3) {
+ //
+ // set mom res profiles
+ //
+ if(fMomResH1) delete fMomResH1;
+ if(fMomResH2) delete fMomResH2;
+ if(fMomResH3) delete fMomResH3;
+
+ if(p1) fMomResH1 = new TProfile(*p1);//(TProfile*)p1->Clone("fMomResH1");
+ if(p2) fMomResH2 = new TProfile(*p2);//(TProfile*)p2->Clone("fMomResH2");
+ if(p3) fMomResH3 = new TProfile(*p3);//(TProfile*)p3->Clone("fMomResH3");
+}
+
+//________________________________________________________________________
+void AliJetFastSimulation:: SetEfficiencyHybrid(TH1 *h1, TH1 *h2, TH1 *h3) {
+ //
+ // set tracking efficiency histos
+ //
+ if(h1) fhEffH1 = (TH1*)h1->Clone("fhEffH1");
+ if(h2) fhEffH2 = (TH1*)h2->Clone("fhEffH2");
+ if(h3) fhEffH3 = (TH1*)h3->Clone("fhEffH3");
+}
+
+//________________________________________________________________________
+void AliJetFastSimulation::FitMomentumResolution() {
+ //
+ // Fit linear function on momentum resolution at high pT
+ //
+
+ if(!fMomResH1Fit && fMomResH1) {
+ fMomResH1Fit = new TF1("fMomResH1Fit","[0]+[1]*x",0.,200.);
+ fMomResH1->Fit(fMomResH1Fit,"LL V0","",5.,30.);
+ fMomResH1Fit ->SetRange(5.,100.);
+ }
+
+ if(!fMomResH2Fit && fMomResH2) {
+ fMomResH2Fit = new TF1("fMomResH2Fit","[0]+[1]*x",0.,200.);
+ fMomResH2->Fit(fMomResH2Fit,"LL V0","",5.,30.);
+ fMomResH2Fit ->SetRange(5.,100.);
+ }
+
+ if(!fMomResH3Fit && fMomResH3) {
+ fMomResH3Fit = new TF1("fMomResH3Fit","[0]+[1]*x",0.,200.);
+ fMomResH3->Fit(fMomResH3Fit,"LL V0","",5.,30.);
+ fMomResH3Fit ->SetRange(5.,100.);
+ }
+
+}
+
+
--- /dev/null
+#ifndef ALIJETFASTSIMULATION_H
+#define ALIJETFASTSIMULATION_H
+
+// $Id$
+
+class TClonesArray;
+class TRandom3;
+class AliVParticle;
+class AliPicoTrack;
+
+#include "AliAnalysisTaskEmcal.h"
+
+class AliJetFastSimulation : public AliAnalysisTaskEmcal {
+ public:
+ AliJetFastSimulation();
+ AliJetFastSimulation(const char *name);
+ virtual ~AliJetFastSimulation();
+
+ virtual void LocalInit();
+ virtual void UserCreateOutputObjects();
+
+ void SetTracksOutName(const char *n) { fTracksOutName = n; }
+ void SetNTrackClasses(Int_t i) { fNTrackClasses = i; }
+ void SetFixedTrackEfficiency(Double_t eff) { fEfficiencyFixed = eff ; }
+
+ void SetUseTrResolutionFromOADB(Bool_t b=kTRUE, TString path="$ALICE_ROOT/OADB/PWGJE/Resolution/PtResol_LHCh_Cent0-10_v1.root") {fUseTrPtResolutionFromOADB = b; fPathTrPtResolution=path;}
+ void SetUseTrEfficiencyFromOADB(Bool_t b=kTRUE, TString path="$ALICE_ROOT/OADB/PWGJE/Efficiency/Efficiency_LHC11a2aj_Cent0_v1.root") {fUseTrEfficiencyFromOADB = b; fPathTrEfficiency=path;}
+ void SetSmearResolution(Bool_t b) { fUseTrPtResolutionSmearing = b ;}
+ void SetDiceEfficiency(Int_t b) { fUseDiceEfficiency = b ;}
+ void SetDiceEfficiencyMinPt(Double_t pt) { fDiceEfficiencyMinPt = pt;}
+
+ protected:
+ void ExecOnce();
+ Bool_t Run();
+
+ void SimulateTracks();
+ Bool_t DiceEfficiency(AliPicoTrack *vp, Double_t eff[3], Double_t rnd);
+ AliPicoTrack *SmearPt(AliPicoTrack *vp, Double_t eff[3], Double_t rnd);
+ Double_t GetMomentumSmearing(Int_t cat, Double_t pt);
+ void FitMomentumResolution();
+ void LoadTrEfficiencyRootFileFromOADB();
+ void LoadTrPtResolutionRootFileFromOADB();
+ void SetMomentumResolutionHybrid(TProfile *p1, TProfile *p2, TProfile *p3);
+ void SetEfficiencyHybrid(TH1 *h1, TH1 *h2, TH1 *h3);
+
+ TString fTracksOutName; // name of output track collection
+ TClonesArray *fTracksOut; //!output track collection
+ Int_t fNTrackClasses; // number of track classes
+ TRandom3 *fRandom; //! random number generator
+ Double_t fEfficiencyFixed; // fixed efficiency for all pT and all types of tracks
+ TProfile *fMomResH1; // Momentum resolution from TrackQA Hybrid Category 1
+ TProfile *fMomResH2; // Momentum resolution from TrackQA Hybrid Category 2
+ TProfile *fMomResH3; // Momentum resolution from TrackQA Hybrid Category 3
+ TF1 *fMomResH1Fit; // fit to momentum resolution
+ TF1 *fMomResH2Fit; // fit to momentum resolution
+ TF1 *fMomResH3Fit; // fit to momentum resolution
+ TH1 *fhEffH1; // Efficiency for Spectra Hybrid Category 1
+ TH1 *fhEffH2; // Efficiency for Spectra Hybrid Category 2
+ TH1 *fhEffH3; // Efficiency for Spectra Hybrid Category 3
+ Bool_t fUseTrPtResolutionSmearing; // Apply momentum smearing on track level
+ Int_t fUseDiceEfficiency; // Flag to apply efficiency on track level by dicing 0: no dicing; 1: dicing wrt to input branch;
+ Double_t fDiceEfficiencyMinPt; // Only do efficiency dicing for tracks above this pt
+ Bool_t fUseTrPtResolutionFromOADB; // Load track pt resolution root file from OADB path
+ Bool_t fUseTrEfficiencyFromOADB; // Load tracking efficiency root file from OADB path
+ TString fPathTrPtResolution; // OADB path to root file
+ TString fPathTrEfficiency; // OADB path to root file
+
+ //Output objects
+ TH1F *fHistPtDet; //!pT spectrum of detector level particles
+ TH2F *fh2PtGenPtSmeared; //! Control histo smeared momentum
+ TProfile *fp1Efficiency; //! Control profile efficiency
+ TProfile *fp1PtResolution; //! Control profile for pT resolution
+
+
+ private:
+ AliJetFastSimulation(const AliJetFastSimulation&); // not implemented
+ AliJetFastSimulation &operator=(const AliJetFastSimulation&); // not implemented
+
+ ClassDef(AliJetFastSimulation, 1) // Jet fast simulation task
+};
+#endif
--- /dev/null
+// $Id$
+//
+// Jet model task to copy tracks while making small change
+// - make particles massless
+//
+// Author: M. Verweij
+
+#include "AliJetModelCopyTracks.h"
+
+#include <TClonesArray.h>
+#include <TFolder.h>
+#include <TLorentzVector.h>
+#include <TParticle.h>
+#include <TParticlePDG.h>
+#include <TRandom3.h>
+#include <TProfile.h>
+#include <TGrid.h>
+#include <TFile.h>
+#include <TF1.h>
+#include "AliAnalysisManager.h"
+#include "AliEMCALDigit.h"
+#include "AliEMCALGeometry.h"
+#include "AliEMCALRecPoint.h"
+#include "AliGenerator.h"
+#include "AliHeader.h"
+#include "AliLog.h"
+#include "AliPicoTrack.h"
+#include "AliRun.h"
+#include "AliRunLoader.h"
+#include "AliStack.h"
+#include "AliStack.h"
+#include "AliVCluster.h"
+#include "AliVEvent.h"
+
+ClassImp(AliJetModelCopyTracks)
+
+//________________________________________________________________________
+AliJetModelCopyTracks::AliJetModelCopyTracks() :
+AliAnalysisTaskEmcal("AliJetModelCopyTracks",kTRUE),
+ fTracksOutName(""),
+ fTracksOut(0x0),
+ fParticleMass(kMassive),
+ fHistPtOut(0)
+{
+ // Default constructor.
+ SetMakeGeneralHistograms(kTRUE);
+}
+
+//________________________________________________________________________
+AliJetModelCopyTracks::AliJetModelCopyTracks(const char *name) :
+ AliAnalysisTaskEmcal(name,kTRUE),
+ fTracksOutName(""),
+ fTracksOut(0x0),
+ fParticleMass(kMassive),
+ fHistPtOut(0)
+{
+ // Standard constructor.
+ SetMakeGeneralHistograms(kTRUE);
+}
+
+//________________________________________________________________________
+AliJetModelCopyTracks::~AliJetModelCopyTracks()
+{
+ // Destructor
+
+}
+
+//________________________________________________________________________
+void AliJetModelCopyTracks::ExecOnce()
+{
+ // Exec only once.
+
+ AliAnalysisTaskEmcal::ExecOnce();
+
+ if (!fTracksOutName.IsNull()) {
+ fTracksOut = new TClonesArray("AliPicoTrack");
+ fTracksOut->SetName(fTracksOutName);
+ if (InputEvent()->FindListObject(fTracksOutName)) {
+ AliFatal(Form("%s: Collection %s is already present in the event!", GetName(), fTracksOutName.Data()));
+ return;
+ }
+ else {
+ InputEvent()->AddObject(fTracksOut);
+ }
+ }
+}
+
+//________________________________________________________________________
+void AliJetModelCopyTracks::UserCreateOutputObjects()
+{
+ AliAnalysisTaskEmcal::UserCreateOutputObjects();
+
+ const Int_t nBinPt = 100;
+ Double_t binLimitsPt[nBinPt+1];
+ for(Int_t iPt = 0;iPt <= nBinPt;iPt++){
+ if(iPt == 0){
+ binLimitsPt[iPt] = 0.0;
+ } else {// 1.0
+ binLimitsPt[iPt] = binLimitsPt[iPt-1] + 1.0;
+ }
+ }
+
+ fHistPtOut = new TH1F("fHistPtOut","fHistPtOut;#it{p}_{T};N",nBinPt,binLimitsPt);
+ fOutput->Add(fHistPtOut);
+
+ PostData(1, fOutput); // Post data for ALL output slots > 0 here.
+}
+
+
+//________________________________________________________________________
+Bool_t AliJetModelCopyTracks::Run()
+{
+ CopyTracks();
+ return kTRUE;
+}
+
+//________________________________________________________________________
+void AliJetModelCopyTracks::CopyTracks()
+{
+ //Apply toy detector simulation to tracks
+ fTracksOut->Delete();
+
+ Int_t nt = 0;
+ const Int_t nTracks = fTracks->GetEntriesFast();
+ for (Int_t i = 0; i < nTracks; ++i) {
+ AliPicoTrack *picotrack = static_cast<AliPicoTrack*>(fTracks->At(i));
+ if (!picotrack)
+ continue;
+
+ Double_t mass = picotrack->M();
+ if(fParticleMass==kMassless) mass = 0.;
+ if(fParticleMass==kPionMass) mass = 0.13957;
+
+ AliPicoTrack *track = new ((*fTracksOut)[nt]) AliPicoTrack(picotrack->Pt(),
+ picotrack->Eta(),
+ picotrack->Phi(),
+ picotrack->Charge(),
+ picotrack->GetLabel(),
+ AliPicoTrack::GetTrackType(picotrack),
+ picotrack->GetTrackEtaOnEMCal(),
+ picotrack->GetTrackPhiOnEMCal(),
+ picotrack->GetTrackPtOnEMCal(),
+ picotrack->IsEMCAL(),
+ mass);
+ track->SetBit(TObject::kBitMask,1);
+ fHistPtOut->Fill(track->Pt());
+ nt++;
+ }
+}
+
+
+
+
+
--- /dev/null
+#ifndef ALIJETMODELCOPYTRACKS_H
+#define ALIJETMODELCOPYTRACKS_H
+
+// $Id$
+
+class TClonesArray;
+class TRandom3;
+class AliVParticle;
+class AliPicoTrack;
+
+#include "AliAnalysisTaskEmcal.h"
+
+class AliJetModelCopyTracks : public AliAnalysisTaskEmcal {
+ public:
+ enum ParticleMass {
+ kMassive = 0,
+ kMassless = 1,
+ kPionMass = 2
+ };
+
+
+ AliJetModelCopyTracks();
+ AliJetModelCopyTracks(const char *name);
+ virtual ~AliJetModelCopyTracks();
+
+ virtual void UserCreateOutputObjects();
+
+ void SetTracksOutName(const char *n) { fTracksOutName = n; }
+ void SetParticleMassType(ParticleMass m) { fParticleMass = m; }
+
+ void ExecOnce();
+ Bool_t Run();
+
+ void CopyTracks();
+
+ TString fTracksOutName; // name of output track collection
+ TClonesArray *fTracksOut; //!output track collection
+ ParticleMass fParticleMass; // particle mass to use
+
+ //Output objects
+ TH1F *fHistPtOut; //!pT spectrum of output particles
+
+ private:
+ AliJetModelCopyTracks(const AliJetModelCopyTracks&); // not implemented
+ AliJetModelCopyTracks &operator=(const AliJetModelCopyTracks&); // not implemented
+
+ ClassDef(AliJetModelCopyTracks, 1) // copy tracks class
+};
+#endif
fh2PtVsMassJetPartTaggedMatch(0),
fh2PtVsMassJetDetAll(0),
fh2PtVsMassJetDetTagged(0),
- fhnMassResponse(0)
+ fh2EtaPhiMatchedDet(0),
+ fh2EtaPhiMatchedPart(0),
+ fhnMassResponse(0),
+ fh1AreaPartAll(0),
+ fh1AreaDetAll(0)
{
// Default constructor.
fh2PtVsMassJetPartTaggedMatch(0),
fh2PtVsMassJetDetAll(0),
fh2PtVsMassJetDetTagged(0),
- fhnMassResponse(0)
+ fh2EtaPhiMatchedDet(0),
+ fh2EtaPhiMatchedPart(0),
+ fhnMassResponse(0),
+ fh1AreaPartAll(0),
+ fh1AreaDetAll(0)
{
// Standard constructor.
const Double_t minM = 0.;
const Double_t maxM = 50.;
- const Int_t nBinsMT = 50;
- const Double_t minMT = 0.;
- const Double_t maxMT = 50.;
+ const Int_t nBinsConstEff = 40;
+ const Double_t minConstEff = 0.;
+ const Double_t maxConstEff = 2.;
+
+ // const Int_t nBinsConst = 26;
+ // const Double_t minConst = -5.5;
+ // const Double_t maxConst = 20.5;
//Binning for THnSparse
const Int_t nBinsSparse0 = 5;
- const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsMT};
- const Double_t xmin0[nBinsSparse0] = { minM, minM, minPt, minPt, minMT};
- const Double_t xmax0[nBinsSparse0] = { maxM, maxM, maxPt, maxPt, maxMT};
+ const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsConstEff};
+ const Double_t xmin0[nBinsSparse0] = { minM, minM, minPt, minPt, minConstEff};
+ const Double_t xmax0[nBinsSparse0] = { maxM, maxM, maxPt, maxPt, maxConstEff};
//Create histograms
TString histName = "";
fh2PtVsMassJetDetTagged = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
fOutput->Add(fh2PtVsMassJetDetTagged);
+ histName = "fh2EtaPhiMatchedDet";
+ histTitle = TString::Format("%s;#eta;#varphi",histName.Data());
+ fh2EtaPhiMatchedDet = new TH2F(histName.Data(),histTitle.Data(),100,-1.,1.,72,0.,TMath::TwoPi());
+ fOutput->Add(fh2EtaPhiMatchedDet);
+
+ histName = "fh2EtaPhiMatchedPart";
+ histTitle = TString::Format("%s;#eta;#varphi",histName.Data());
+ fh2EtaPhiMatchedPart = new TH2F(histName.Data(),histTitle.Data(),100,-1.,1.,72,0.,TMath::TwoPi());
+ fOutput->Add(fh2EtaPhiMatchedPart);
+
histName = "fhnMassResponse";
- histTitle = Form("%s;#it{M}_{det};#it{M}_{part};#it{p}_{T,det};#it{p}_{T,part};#it{M}_{det}^{tagged}",histName.Data());
+ histTitle = Form("%s;#it{M}_{det};#it{M}_{part};#it{p}_{T,det};#it{p}_{T,part};#it{N}_{const}^{det}/#it{N}_{const}^{part}",histName.Data());
fhnMassResponse = new THnSparseF(histName.Data(),histTitle.Data(),nBinsSparse0,nBins0,xmin0,xmax0);
fOutput->Add(fhnMassResponse);
+ fh1AreaPartAll = new TH1D("fh1AreaPartAll","fh1AreaPartAll",100.,0.,1.);
+ fOutput->Add(fh1AreaPartAll);
+
+ fh1AreaDetAll = new TH1D("fh1AreaDetAll","fh1AreaDetAll",100.,0.,1.);
+ fOutput->Add(fh1AreaDetAll);
+
// =========== Switch on Sumw2 for all histos ===========
for (Int_t i=0; i<fOutput->GetEntries(); ++i) {
Bool_t AliAnalysisTaskJetMassResponseDet::Run()
{
// Run analysis code here, if needed. It will be executed before FillHistograms().
-
return kTRUE;
}
{
// Fill histograms.
- AliJetContainer *jetPart = GetJetContainer(fContainerPart);
- AliJetContainer *jetDet = GetJetContainer(fContainerDet);
+ AliJetContainer *cPart = GetJetContainer(fContainerPart);
+ AliJetContainer *cDet = GetJetContainer(fContainerDet);
AliEmcalJet* jPart = NULL;
AliEmcalJet* jDet = NULL;
//loop on particle level jets
- if(jetPart) {
- jetPart->ResetCurrentID();
- while((jPart = jetPart->GetNextAcceptJet())) {
+ Int_t nAccPart = 0;
+ if(cPart) {
+ cPart->ResetCurrentID();
+ while((jPart = cPart->GetNextAcceptJet())) {
fh2PtVsMassJetPartAll->Fill(jPart->Pt(),jPart->M());
+ fh1AreaPartAll->Fill(jPart->Area());
+ nAccPart++;
jDet = jPart->ClosestJet();
if(jDet) fh2PtVsMassJetPartMatch->Fill(jPart->Pt(),jPart->M());
if(jPart->GetTagStatus()<1 || !jPart->GetTaggedJet())
}
//loop on detector level jets
- if(jetDet) {
- jetDet->ResetCurrentID();
- while((jDet = jetDet->GetNextAcceptJet())) {
+ Int_t nAccDet = 0;
+ if(cDet) {
+ cDet->ResetCurrentID();
+ while((jDet = cDet->GetNextAcceptJet())) {
Double_t mjet = GetJetMass(jDet);
fh2PtVsMassJetDetAll->Fill(jDet->Pt(),mjet);
- if(jDet->GetTagStatus()>=1 && jDet->GetTaggedJet())
+ fh1AreaDetAll->Fill(jDet->Area());
+ nAccDet++;
+ if(jDet->GetTagStatus()>=1 && jDet->GetTaggedJet())
fh2PtVsMassJetDetTagged->Fill(jDet->Pt(),mjet);
//fill detector response
jPart = jDet->ClosestJet();
if(jPart) {
- AliEmcalJet *jDetT = jDet->GetTaggedJet();
- Double_t mdetT = 0.;
- if(jDetT) mdetT = jDetT->M();
- Double_t var[5] = {GetJetMass(jDet),jPart->M(),jDet->Pt(),jPart->Pt(),mdetT};
+ fh2EtaPhiMatchedDet->Fill(jDet->Eta(),jDet->Phi());
+ fh2EtaPhiMatchedPart->Fill(jPart->Eta(),jPart->Phi());
+
+ Int_t nConstPart = jPart->GetNumberOfConstituents();
+ Int_t nConstDet = jDet->GetNumberOfConstituents();
+ Double_t eff = -1.;
+ if(nConstPart>0) eff = (Double_t)nConstDet/((Double_t)nConstPart);
+ Double_t var[5] = {GetJetMass(jDet),jPart->M(),jDet->Pt(),jPart->Pt(),eff};
fhnMassResponse->Fill(var);
}
}
}
+
return kTRUE;
}
TH2F *fh2PtVsMassJetPartTaggedMatch; //!pT vs mass of tagged particle level jets matched to a detector level jet
TH2F *fh2PtVsMassJetDetAll; //!pT vs mass of all detector level jets
TH2F *fh2PtVsMassJetDetTagged; //!pT vs mass of tagged detector level jets
+ TH2F *fh2EtaPhiMatchedDet; //!eta,phi of matched detector level jets
+ TH2F *fh2EtaPhiMatchedPart; //!eta,phi of matched particle level jets
THnSparse *fhnMassResponse; //!response matrix
+ TH1D *fh1AreaPartAll; //!area of all particle level jets
+ TH1D *fh1AreaDetAll; //!area of all detector level jets
+
private:
AliAnalysisTaskJetMassResponseDet(const AliAnalysisTaskJetMassResponseDet&); // not implemented
AliAnalysisTaskJetMassResponseDet &operator=(const AliAnalysisTaskJetMassResponseDet&); // not implemented
- ClassDef(AliAnalysisTaskJetMassResponseDet, 1)
+ ClassDef(AliAnalysisTaskJetMassResponseDet, 3)
};
#endif
//______________________________________________________________________________
AliAnalysisTaskPtEMCalTrigger::AliAnalysisTaskPtEMCalTrigger():
AliAnalysisTaskSE(),
+ fCalibratedClusters(NULL),
+ fMatchedTracks(NULL),
fResults(NULL),
fHistos(NULL),
fListTrackCuts(NULL),
fEtaRange(),
- fPtRange()
+ fPtRange(),
+ fSwapEta(kFALSE),
+ fNameTrackContainer()
{
/*
* Dummy constructor, initialising the values with default (NULL) values
//______________________________________________________________________________
AliAnalysisTaskPtEMCalTrigger::AliAnalysisTaskPtEMCalTrigger(const char *name):
AliAnalysisTaskSE(name),
+ fCalibratedClusters(NULL),
+ fMatchedTracks(NULL),
fResults(NULL),
fHistos(NULL),
fListTrackCuts(NULL),
fEtaRange(),
- fPtRange()
+ fPtRange(),
+ fSwapEta(kFALSE),
+ fNameTrackContainer("ESDFilterTracks")
{
/*
* Main constructor, setting default values for eta and zvertex cut
fHistos->CreateTH2(Form("hEventHist%s", name.c_str()), Form("Event-based data for %s events; pileup rejection; z_{V} (cm)", title.c_str()), pileupaxis, zvertexBinning);
// Create track-based histogram
fHistos->CreateTHnSparse(Form("hTrackHist%s", name.c_str()), Form("Track-based data for %s events", title.c_str()), 6, trackaxes);
+ fHistos->CreateTHnSparse(Form("hTrackInAcceptanceHist%s", name.c_str()), Form("Track-based data for %s events", title.c_str()), 6, trackaxes);
// Create cluster-based histogram (Uncalibrated and calibrated clusters)
fHistos->CreateTHnSparse(Form("hClusterCalibHist%s", name.c_str()), Form("Calib. cluster-based histogram for %s events", title.c_str()), 3, clusteraxes);
fHistos->CreateTHnSparse(Form("hClusterUncalibHist%s", name.c_str()), Form("Uncalib. cluster-based histogram for %s events", title.c_str()), 3, clusteraxes);
* @param option: Additional options
*/
// Common checks: Have SPD vertex and primary vertex from tracks, and both need to have at least one contributor
+ fCalibratedClusters = dynamic_cast<TClonesArray *>(fInputEvent->FindListObject("EmcCaloClusters"));
+ AliDebug(1,Form("Number of calibrated clusters: %d", fCalibratedClusters->GetEntries()));
+ fMatchedTracks = dynamic_cast<TClonesArray *>(fInputEvent->FindListObject(fNameTrackContainer.Data()));
+
AliESDEvent *esd = static_cast<AliESDEvent *>(fInputEvent);
const AliESDVertex *vtxTracks = esd->GetPrimaryVertex(),
*vtxSPD = esd->GetPrimaryVertexSPD();
AliESDtrack *track(NULL);
// Loop over all tracks (No cuts applied)
- for(int itrk = 0; itrk < fInputEvent->GetNumberOfTracks(); ++itrk){
- track = dynamic_cast<AliESDtrack *>(fInputEvent->GetTrack(itrk));
+ for(int itrk = 0; itrk < fMatchedTracks->GetEntries(); ++itrk){
+ track = dynamic_cast<AliESDtrack *>(fMatchedTracks->At(itrk));
if(!fEtaRange.IsInRange(track->Eta())) continue;
if(!fPtRange.IsInRange(track->Pt())) continue;
if(triggers[0]) FillTrackHist("MinBias", track, zv, isPileupEvent, 0);
if(fListTrackCuts && fListTrackCuts->GetEntries()){
for(int icut = 0; icut < fListTrackCuts->GetEntries(); icut++){
AliESDtrackCuts *trackSelection = static_cast<AliESDtrackCuts *>(fListTrackCuts->At(icut));
- std::auto_ptr<TObjArray> acceptedTracks(trackSelection->GetAcceptedTracks(esd));
+ std::auto_ptr<TObjArray> acceptedTracks(GetAcceptedTracks(fMatchedTracks,trackSelection));
TIter trackIter(acceptedTracks.get());
while((track = dynamic_cast<AliESDtrack *>(trackIter()))){
if(!fEtaRange.IsInRange(track->Eta())) continue;
}
}
- TClonesArray *calibratedClusters = dynamic_cast<TClonesArray *>(fInputEvent->FindListObject("EmcCaloClusters"));
- if(calibratedClusters){
- for(int icl = 0; icl < calibratedClusters->GetEntries(); icl++){
- const AliVCluster *clust = dynamic_cast<const AliVCluster *>((*calibratedClusters)[icl]);
+ if(fCalibratedClusters){
+ for(int icl = 0; icl < fCalibratedClusters->GetEntries(); icl++){
+ const AliVCluster *clust = dynamic_cast<const AliVCluster *>((*fCalibratedClusters)[icl]);
if(!clust->IsEMCAL()) continue;
if(triggers[0]) FillClusterHist("MinBias", clust, true, zv, isPileupEvent);
if(!triggerstrings.size()) // Non-EMCal-triggered
* @param isPileup: flag event as pileup event
* @param cut: id of the cut (0 = no cut)
*/
- double data[6] = {track->Pt(), track->Eta(), track->Phi(), vz, 0, static_cast<double>(cut)};
- char histname[1024];
+ double etasign = fSwapEta ? -1. : 1.;
+ double data[6] = {track->Pt(), etasign * track->Eta(), track->Phi(), vz, 0, static_cast<double>(cut)};
+ char histname[1024], histnameAcc[1024];
sprintf(histname, "hTrackHist%s", trigger);
+ sprintf(histnameAcc, "hTrackInAcceptanceHist%s", trigger);
+ Bool_t isEMCAL = kFALSE;
+ if(track->IsEMCAL()){
+ // Check if the cluster is matched to only one track
+ AliVCluster *emcclust(NULL);
+ AliDebug(2, Form("cluster id: %d\n", track->GetEMCALcluster()));
+ if(fCalibratedClusters) {
+ AliDebug(2, "Using calibrated clusters");
+ emcclust = dynamic_cast<AliVCluster *>(fCalibratedClusters->At(track->GetEMCALcluster()));
+ } else {
+ AliDebug(2, "Using uncalibrated clusters");
+ emcclust = fInputEvent->GetCaloCluster(track->GetEMCALcluster());
+ }
+ if(!emcclust) AliError("Null pointer to EMCal cluster");
+ if(emcclust && emcclust->GetNTracksMatched() <= 1){
+ isEMCAL = kTRUE;
+ }
+ }
try{
fHistos->FillTHnSparse(histname, data);
+ if(isEMCAL){
+ fHistos->FillTHnSparse(histnameAcc, data);
+ }
} catch (HistoContainerContentException &e){
std::stringstream errormessage;
errormessage << "Filling of histogram failed: " << e.what();
data[4] = 1;
try{
fHistos->FillTHnSparse(histname, data);
+ if(isEMCAL){
+ fHistos->FillTHnSparse(histnameAcc, data);
+ }
} catch (HistoContainerContentException &e){
std::stringstream errormessage;
errormessage << "Filling of histogram failed: " << e.what();
}
}
+ TObjArray *AliAnalysisTaskPtEMCalTrigger::GetAcceptedTracks(const TClonesArray * const inputlist, AliESDtrackCuts *const cuts){
+ TObjArray *acceptedTracks = new TObjArray;
+ TIter trackIter(inputlist);
+ AliESDtrack *track(NULL);
+ while((track = dynamic_cast<AliESDtrack *>(trackIter()))){
+ if(cuts->AcceptTrack(track)) acceptedTracks->Add(track);
+ }
+ return acceptedTracks;
+ }
}
+
#include "AliAnalysisTaskSE.h"
#include "AliCutValueRange.h"
#include "AliESDtrackCuts.h"
+#include <TClonesArray.h>
#include <TList.h>
class TArrayD;
class Axis;
class AliESDtrack;
+class AliVTrack;
namespace EMCalTriggerPtAnalysis {
class AliEMCalHistoContainer;
void AddTrackCuts(AliESDtrackCuts *trackCuts) { fListTrackCuts->Add(trackCuts); }
void SetEtaRange(double etamin, double etamax) { fEtaRange.SetLimits(etamin, etamax); }
void SetPtRange(double ptmin, double ptmax) { fPtRange.SetLimits(ptmin, ptmax); }
+ void SetTrackContainerName(const char *name) { fNameTrackContainer = name; }
+ void SetSwapEta() { fSwapEta = kTRUE; }
private:
AliAnalysisTaskPtEMCalTrigger(const AliAnalysisTaskPtEMCalTrigger &);
void FillEventHist(const char *trigger, double vz, bool isPileup);
void FillTrackHist(const char *trigger, const AliESDtrack *track, double vz, bool isPileup, int cut);
void FillClusterHist(const char *trigger, const AliVCluster *clust, bool isCalibrated, double vz, bool isPileup);
+ TObjArray *GetAcceptedTracks(const TClonesArray * const inputlist, AliESDtrackCuts *const cuts);
+ TClonesArray *fCalibratedClusters; //! container of recalibrated EMCal clusters
+ TClonesArray *fMatchedTracks; //! container of tracks used for track matching
TList *fResults; //! container for results
AliEMCalHistoContainer *fHistos; //! Histogram container for the task
TList *fListTrackCuts; // List of track cuts
// Cuts
AliCutValueRange<double> fEtaRange; // Eta Selection Range
AliCutValueRange<double> fPtRange; // Pt Selection Range
+ Bool_t fSwapEta; // Allow swapping of the eta sign in asymmetric collision systems
+ TString fNameTrackContainer; // Name of the Track container
ClassDef(AliAnalysisTaskPtEMCalTrigger, 1); // Analysis of EMCal triggered events
};
AliAnalysisTaskRhoMassBase("AliAnalysisTaskRhoMass"),
fNExclLeadJets(0),
fJetRhoMassType(kMd),
+ fPionMassClusters(kFALSE),
fHistMdAreavsCent(0)
{
// Constructor.
AliAnalysisTaskRhoMassBase(name, histo),
fNExclLeadJets(0),
fJetRhoMassType(kMd),
+ fPionMassClusters(kFALSE),
fHistMdAreavsCent(0)
{
// Constructor.
Double_t py = 0.;
Double_t pz = 0.;
Double_t E = 0.;
- AliVParticle *vp;
- for(Int_t icc=0; icc<jet->GetNumberOfTracks(); icc++) {
- vp = static_cast<AliVParticle*>(jet->TrackAt(icc, fTracks));
- if(!vp) continue;
- if(fJetRhoMassType==kMd) sum += TMath::Sqrt(vp->M()*vp->M() + vp->Pt()*vp->Pt()) - vp->Pt(); //sqrt(E^2-P^2+pt^2)=sqrt(E^2-pz^2)
- else if(fJetRhoMassType==kMdP) sum += TMath::Sqrt(vp->M()*vp->M() + vp->P()*vp->P()) - vp->P();
- else if(fJetRhoMassType==kMd4) {
- px+=vp->Px();
- py+=vp->Py();
- pz+=vp->Pz();
- E+=vp->E();
+
+ if (fTracks) {
+ AliVParticle *vp;
+ for(Int_t icc=0; icc<jet->GetNumberOfTracks(); icc++) {
+ vp = static_cast<AliVParticle*>(jet->TrackAt(icc, fTracks));
+ if(!vp) continue;
+ if(fJetRhoMassType==kMd) sum += TMath::Sqrt(vp->M()*vp->M() + vp->Pt()*vp->Pt()) - vp->Pt(); //sqrt(E^2-P^2+pt^2)=sqrt(E^2-pz^2)
+ else if(fJetRhoMassType==kMdP) sum += TMath::Sqrt(vp->M()*vp->M() + vp->P()*vp->P()) - vp->P();
+ else if(fJetRhoMassType==kMd4) {
+ px+=vp->Px();
+ py+=vp->Py();
+ pz+=vp->Pz();
+ E+=vp->E();
+ }
}
}
+
+ if (fCaloClusters) {
+ AliVCluster *vp;
+ for(Int_t icc=0; icc<jet->GetNumberOfClusters(); icc++) {
+ vp = static_cast<AliVCluster*>(jet->ClusterAt(icc, fCaloClusters));
+ if(!vp) continue;
+ TLorentzVector nPart;
+ vp->GetMomentum(nPart, fVertex);
+ Double_t m = 0.;
+ if(fPionMassClusters) m = 0.13957;
+ if(fJetRhoMassType==kMd) sum += TMath::Sqrt(m*m + nPart.Pt()*nPart.Pt()) - nPart.Pt();
+ else if(fJetRhoMassType==kMdP) sum += TMath::Sqrt(nPart.M()*nPart.M() + nPart.P()*nPart.P()) - nPart.P();
+ else if(fJetRhoMassType==kMd4) {
+ px+=nPart.Px();
+ py+=nPart.Py();
+ pz+=nPart.Pz();
+ E+=nPart.E();
+ }
+ }
+ }
+
if(fJetRhoMassType==kMd4) {
Double_t pt = TMath::Sqrt(px*px + py*py);
Double_t m2 = E*E - pt*pt - pz*pz;
void SetExcludeLeadJets(UInt_t n) { fNExclLeadJets = n ; }
void SetRhoMassType(JetRhoMassType t) { fJetRhoMassType = t ; }
+ void SetPionMassForClusters(Bool_t b) { fPionMassClusters = b ; }
protected:
Bool_t Run();
UInt_t fNExclLeadJets; // number of leading jets to be excluded from the median calculation
JetRhoMassType fJetRhoMassType; // method for rho_m calculation
+ Bool_t fPionMassClusters; // assume pion mass for clusters
TH2F *fHistMdAreavsCent; //! Md/Area vs cent for all kt clusters
AliAnalysisTaskRhoMass(const AliAnalysisTaskRhoMass&); // not implemented
AliAnalysisTaskRhoMass& operator=(const AliAnalysisTaskRhoMass&); // not implemented
- ClassDef(AliAnalysisTaskRhoMass, 1); // Rho_m task
+ ClassDef(AliAnalysisTaskRhoMass, 2); // Rho_m task
};
#endif
#include "AliLog.h"
#include "AliRhoParameter.h"
#include "AliEmcalJet.h"
+#include "AliParticleContainer.h"
+#include "AliClusterContainer.h"
#include "AliAnalysisTaskRhoMassBase.h"
Int_t Ntracks = 0;
Int_t Nclusters = 0;
- if (fTracks)
- Ntracks = fTracks->GetEntries();
- if (fCaloClusters)
- Nclusters = fCaloClusters->GetEntries();
+ if (GetParticleContainer(0))
+ Ntracks = GetParticleContainer(0)->GetNAcceptedParticles();
+ if (GetClusterContainer(0))
+ Nclusters = GetClusterContainer(0)->GetNAcceptedClusters();
if (fJets) {
Int_t Njets = fJets->GetEntries();
--- /dev/null
+//
+// rho mass scale task
+// task to estimate scale factor for rho_m
+//
+// Author: M.Verweij
+
+#include <TClonesArray.h>
+#include <TH1F.h>
+#include <TH2F.h>
+#include <TH3F.h>
+#include <THnSparse.h>
+#include <TList.h>
+#include <TLorentzVector.h>
+#include <TProfile.h>
+#include <TChain.h>
+#include <TSystem.h>
+#include <TFile.h>
+#include <TKey.h>
+
+#include "AliAnalysisManager.h"
+// #include "AliAODMCHeader.h"
+// #include "AliMCEvent.h"
+// #include "AliGenPythiaEventHeader.h"
+// #include "AliAODEvent.h"
+#include "AliLog.h"
+#include "AliVCluster.h"
+#include "AliVTrack.h"
+#include "AliEmcalJet.h"
+#include "AliRhoParameter.h"
+#include "AliEmcalParticle.h"
+#include "AliJetContainer.h"
+#include "AliParticleContainer.h"
+
+#include "AliAnalysisTaskRhoMassScale.h"
+
+ClassImp(AliAnalysisTaskRhoMassScale)
+
+//________________________________________________________________________
+AliAnalysisTaskRhoMassScale::AliAnalysisTaskRhoMassScale() :
+ AliAnalysisTaskEmcalJet("AliAnalysisTaskRhoMassScale", kTRUE),
+ fContainerNeutral(0),
+ fContainerCharged(1),
+ fRhoMNeutralName(""),
+ fRhoMChargedEmcalName(""),
+ fRhoMCharged2xEmcalName(""),
+ fRhoMNeutral(0),
+ fRhoMChargedEmcal(0),
+ fRhoMCharged2xEmcal(0),
+ fHistScaleEmcalvsCent(0),
+ fHistScale2EmcalvsCent(0),
+ fHistDeltaScale2EmcalvsCent(0),
+ fHistScaleEmcalvsMult(0),
+ fHistScale2EmcalvsMult(0),
+ fHistDeltaScale2EmcalvsMult(0)
+{
+ // Default constructor.
+
+ SetMakeGeneralHistograms(kTRUE);
+}
+
+//________________________________________________________________________
+AliAnalysisTaskRhoMassScale::AliAnalysisTaskRhoMassScale(const char *name) :
+ AliAnalysisTaskEmcalJet(name, kTRUE),
+ fContainerNeutral(0),
+ fContainerCharged(1),
+ fRhoMNeutralName(""),
+ fRhoMChargedEmcalName(""),
+ fRhoMCharged2xEmcalName(""),
+ fRhoMNeutral(0),
+ fRhoMChargedEmcal(0),
+ fRhoMCharged2xEmcal(0),
+ fHistScaleEmcalvsCent(0),
+ fHistScale2EmcalvsCent(0),
+ fHistDeltaScale2EmcalvsCent(0),
+ fHistScaleEmcalvsMult(0),
+ fHistScale2EmcalvsMult(0),
+ fHistDeltaScale2EmcalvsMult(0)
+{
+ // Standard constructor.
+
+ SetMakeGeneralHistograms(kTRUE);
+}
+
+//________________________________________________________________________
+AliAnalysisTaskRhoMassScale::~AliAnalysisTaskRhoMassScale()
+{
+ // Destructor.
+}
+
+//________________________________________________________________________
+void AliAnalysisTaskRhoMassScale::UserCreateOutputObjects()
+{
+ // Create user output.
+
+ AliAnalysisTaskEmcalJet::UserCreateOutputObjects();
+
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
+ TH1::AddDirectory(kFALSE);
+
+ //Create histograms
+ TString histName = "";
+ TString histTitle = "";
+
+ histName = "fHistScaleEmcalvsCent";
+ histTitle = TString::Format("%s;Centrality;s_{EMC}",histName.Data());
+ fHistScaleEmcalvsCent= new TH2F(histName.Data(),histTitle.Data(), 101, -1, 100, 500, 0, 5);
+ fOutput->Add(fHistScaleEmcalvsCent);
+
+ histName = "fHistScale2EmcalvsCent";
+ histTitle = TString::Format("%s;Centrality;s_{2 #times EMC}",histName.Data());
+ fHistScale2EmcalvsCent = new TH2F(histName.Data(),histTitle.Data(), 101, -1, 100, 500, 0, 5);
+ fOutput->Add(fHistScale2EmcalvsCent);
+
+ histName = "fHistDeltaScale2EmcalvsCent";
+ histTitle = TString::Format("%s;Centrality;s_{2 #times EMC}-s_{EMC}",histName.Data());
+ fHistDeltaScale2EmcalvsCent = new TH2F(histName.Data(),histTitle.Data(), 101, -1, 100, 500, -2.5, 2.5);
+ fOutput->Add(fHistDeltaScale2EmcalvsCent);
+
+ histName = "fHistScaleEmcalvsMult";
+ histTitle = TString::Format("%s;#it{N}_{track};s_{EMC}",histName.Data());
+ fHistScaleEmcalvsMult= new TH2F(histName.Data(),histTitle.Data(), 800, 0, 4000, 500, 0, 5);
+ fOutput->Add(fHistScaleEmcalvsMult);
+
+ histName = "fHistScale2EmcalvsMult";
+ histTitle = TString::Format("%s;#it{N}_{track};s_{2 #times EMC}",histName.Data());
+ fHistScale2EmcalvsMult = new TH2F(histName.Data(),histTitle.Data(), 800, 0, 4000, 500, 0, 5);
+ fOutput->Add(fHistScale2EmcalvsMult);
+
+ histName = "fHistDeltaScale2EmcalvsMult";
+ histTitle = TString::Format("%s;#it{N}_{track};s_{2 #times EMC}-s_{EMC}",histName.Data());
+ fHistDeltaScale2EmcalvsMult = new TH2F(histName.Data(),histTitle.Data(), 800, 0, 4000, 500, -2.5, 2.5);
+ fOutput->Add(fHistDeltaScale2EmcalvsMult);
+
+ // =========== Switch on Sumw2 for all histos ===========
+ for (Int_t i=0; i<fOutput->GetEntries(); ++i) {
+ TH1 *h1 = dynamic_cast<TH1*>(fOutput->At(i));
+ if (h1){
+ h1->Sumw2();
+ continue;
+ }
+ THnSparse *hn = dynamic_cast<THnSparse*>(fOutput->At(i));
+ if(hn)hn->Sumw2();
+ }
+
+ TH1::AddDirectory(oldStatus);
+
+ PostData(1, fOutput); // Post data for ALL output slots > 0 here.
+}
+
+//________________________________________________________________________
+Bool_t AliAnalysisTaskRhoMassScale::Run()
+{
+ // Run analysis code here, if needed. It will be executed before FillHistograms().
+ return kTRUE;
+}
+
+//________________________________________________________________________
+Bool_t AliAnalysisTaskRhoMassScale::FillHistograms()
+{
+ // Fill histograms.
+
+ Double_t rhomNe = fRhoMNeutral->GetVal();
+ Double_t rhomChEmcal = fRhoMChargedEmcal->GetVal();
+ Double_t rhomCh2xEmcal = fRhoMCharged2xEmcal->GetVal();
+
+ Double_t scale = -1.; Double_t scale2 = -1.;
+ if(rhomChEmcal>0.) scale = (rhomNe+rhomChEmcal)/rhomChEmcal;
+ if(rhomCh2xEmcal>0.) scale2 = (rhomNe+rhomChEmcal)/rhomCh2xEmcal;
+
+ fHistScaleEmcalvsCent->Fill(fCent,scale);
+ fHistScale2EmcalvsCent->Fill(fCent,scale2);
+ fHistDeltaScale2EmcalvsCent->Fill(fCent,scale2-scale);
+
+ Int_t mult = -1;
+ if(GetParticleContainer(0))
+ mult = GetParticleContainer(0)->GetNAcceptedParticles();
+
+ fHistScaleEmcalvsMult->Fill(mult,scale);
+ fHistScale2EmcalvsMult->Fill(mult,scale2);
+ fHistDeltaScale2EmcalvsMult->Fill(mult,scale2-scale);
+
+ return kTRUE;
+}
+
+//________________________________________________________________________
+Bool_t AliAnalysisTaskRhoMassScale::RetrieveEventObjects() {
+ //
+ // retrieve event objects
+ if (!AliAnalysisTaskEmcalJet::RetrieveEventObjects())
+ return kFALSE;
+
+ if (!fRhoMNeutralName.IsNull() && !fRhoMNeutral) { // get rho_m from the event
+ fRhoMNeutral = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fRhoMNeutralName));
+ if (!fRhoMNeutral) {
+ AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoMNeutralName.Data()));
+ fInitialized = kFALSE;
+ return kFALSE;
+ }
+ }
+
+ if (!fRhoMChargedEmcalName.IsNull() && !fRhoMChargedEmcal) { // get rho_m from the event
+ fRhoMChargedEmcal = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fRhoMChargedEmcalName));
+ if (!fRhoMChargedEmcal) {
+ AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoMChargedEmcalName.Data()));
+ fInitialized = kFALSE;
+ return kFALSE;
+ }
+ }
+
+ if (!fRhoMCharged2xEmcalName.IsNull() && !fRhoMCharged2xEmcal) { // get rho_m from the event
+ fRhoMCharged2xEmcal = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fRhoMCharged2xEmcalName));
+ if (!fRhoMCharged2xEmcal) {
+ AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoMCharged2xEmcalName.Data()));
+ fInitialized = kFALSE;
+ return kFALSE;
+ }
+ }
+
+ return kTRUE;
+}
+
+//_______________________________________________________________________
+void AliAnalysisTaskRhoMassScale::Terminate(Option_t *)
+{
+ // Called once at the end of the analysis.
+}
+
--- /dev/null
+#ifndef ALIANALYSISTASKRHOMASSSCALE_H
+#define ALIANALYSISTASKRHOMASSSCALE_H
+
+class TH1;
+class TH2;
+class TH3;
+class TH3F;
+class THnSparse;
+class TClonesArray;
+class TArrayI;
+class AliAnalysisManager;
+class AliJetContainer;
+class AliRhoParameter;
+
+#include "AliAnalysisTaskEmcalJet.h"
+
+class AliAnalysisTaskRhoMassScale : public AliAnalysisTaskEmcalJet {
+ public:
+ AliAnalysisTaskRhoMassScale();
+ AliAnalysisTaskRhoMassScale(const char *name);
+ virtual ~AliAnalysisTaskRhoMassScale();
+
+ void UserCreateOutputObjects();
+ void Terminate(Option_t *option);
+
+ //Setters
+ void SetJetContainerNeutral(Int_t c) { fContainerNeutral = c ; }
+ void SetJetContainerCharged(Int_t c) { fContainerCharged = c ; }
+
+ void SetRhoMNeutralName(const char *n) { fRhoMNeutralName = n ; }
+ void SetRhoMChargedEmcalName(const char *n) { fRhoMChargedEmcalName = n ; }
+ void SetRhoMCharged2xEmcalName(const char *n) { fRhoMCharged2xEmcalName = n ; }
+
+ protected:
+ Bool_t RetrieveEventObjects();
+ Bool_t Run();
+ Bool_t FillHistograms();
+
+ private:
+ Int_t fContainerNeutral; // particle level jets
+ Int_t fContainerCharged; // detector level jets
+ TString fRhoMNeutralName; // Name of neutral rho mass object
+ TString fRhoMChargedEmcalName; // Name of charged rho mass object in EMCal acceptance
+ TString fRhoMCharged2xEmcalName; // Name of charged rho mass object in two times EMCal acceptance
+ AliRhoParameter *fRhoMNeutral; //!neutral rho_m
+ AliRhoParameter *fRhoMChargedEmcal; //!charged rho_m in EMCal acceptance
+ AliRhoParameter *fRhoMCharged2xEmcal; //!charged rho_m in two times EMCal acceptance
+
+ TH2 *fHistScaleEmcalvsCent; //!scale factor 1xEmcal vs centrality
+ TH2 *fHistScale2EmcalvsCent; //!scale factor 2xEmcal vs centrality
+ TH2 *fHistDeltaScale2EmcalvsCent; //!difference between scale factors vs centrality
+
+ TH2 *fHistScaleEmcalvsMult; //!scale factor 1xEmcal vs track multiplicity
+ TH2 *fHistScale2EmcalvsMult; //!scale factor 2xEmcal vs track multiplicity
+ TH2 *fHistDeltaScale2EmcalvsMult; //!difference between scale factors vs track multiplicity
+
+ AliAnalysisTaskRhoMassScale(const AliAnalysisTaskRhoMassScale&); // not implemented
+ AliAnalysisTaskRhoMassScale &operator=(const AliAnalysisTaskRhoMassScale&); // not implemented
+
+ ClassDef(AliAnalysisTaskRhoMassScale, 1)
+};
+#endif
+
--- /dev/null
+// $Id$
+
+AliJetFastSimulation* AddTaskFastSimulation(
+ const char *tracksName1 = "Tracks",
+ const char *tracksName2 = "Tracks2",
+ const char *taskName = "JetFastSimulation"
+ )
+{
+ // Get the pointer to the existing analysis manager via the static access method.
+ //==============================================================================
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr)
+ {
+ ::Error("AddTaskMergeBranches", "No analysis manager to connect to.");
+ return NULL;
+ }
+
+ // Check the analysis type using the event handlers connected to the analysis manager.
+ //==============================================================================
+ if (!mgr->GetInputEventHandler())
+ {
+ ::Error("AddTaskMergeBranches", "This task requires an input event handler");
+ return NULL;
+ }
+
+ //-------------------------------------------------------
+ // Init the task and do settings
+ //-------------------------------------------------------
+
+ AliJetFastSimulation *jetFastSim = new AliJetFastSimulation(taskName);
+ jetFastSim->SetTracksName(tracksName1);
+ jetFastSim->SetTracksOutName(tracksName2);
+
+ //-------------------------------------------------------
+ // Final settings, pass to manager and set the containers
+ //-------------------------------------------------------
+ mgr->AddTask(jetFastSim);
+
+ // Create containers for input/output
+ mgr->ConnectInput (jetFastSim, 0, mgr->GetCommonInputContainer() );
+
+ TString contName = taskName;
+ contName += "_histos";
+ TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
+ AliAnalysisDataContainer *outc = mgr->CreateContainer(contName.Data(),
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ outputfile);
+ mgr->ConnectOutput(jetFastSim, 1, outc);
+
+ return jetFastSim;
+}
Bool_t includeNoITS = kFALSE,
Double_t minCent = -1,
Double_t maxCent = -1,
- UInt_t mask = AliVEvent::kAny,
+ UInt_t mask = 0,
Double_t minJetPt = 0,
const Bool_t copyArray = kFALSE,
const Bool_t makeQA = kFALSE,
AliAnalysisTaskJetMassResponseDet *task = new AliAnalysisTaskJetMassResponseDet(wagonName.Data());
task->SetNCentBins(1);
- task->SetVzRange(-10.,10.);
+ //task->SetVzRange(-10.,10.);
task->SetJetContainerPart(0);
task->SetJetContainerDet(1);
AliJetContainer *jetContPart = task->AddJetContainer(njetsPart,strType,R);
if(jetContPart) {
- jetContPart->SetPercAreaCut(0.6);
+ // jetContPart->SetPercAreaCut(0.6);
}
AliJetContainer *jetContDet = task->AddJetContainer(njetsDet,strType,R);
--- /dev/null
+// $Id$
+
+AliJetModelCopyTracks* AddTaskModelCopyTracks(
+ const char *tracksName1 = "Tracks",
+ const char *tracksName2 = "Tracks2",
+ Int_t massType = AliJetModelCopyTracks::kMassless,
+ const char *taskName = "JetModelCopyTracks"
+ )
+{
+ // Get the pointer to the existing analysis manager via the static access method.
+ //==============================================================================
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr)
+ {
+ ::Error("AddTaskModelCopyTracks", "No analysis manager to connect to.");
+ return NULL;
+ }
+
+ // Check the analysis type using the event handlers connected to the analysis manager.
+ //==============================================================================
+ if (!mgr->GetInputEventHandler())
+ {
+ ::Error("AddTaskModelCopyTracks", "This task requires an input event handler");
+ return NULL;
+ }
+
+ //-------------------------------------------------------
+ // Init the task and do settings
+ //-------------------------------------------------------
+
+ AliJetModelCopyTracks *copyTask = new AliJetModelCopyTracks(taskName);
+ copyTask->SetTracksName(tracksName1);
+ copyTask->SetTracksOutName(tracksName2);
+ copyTask->SetParticleMassType(massType);
+
+ //-------------------------------------------------------
+ // Final settings, pass to manager and set the containers
+ //-------------------------------------------------------
+ mgr->AddTask(copyTask);
+
+ // Create containers for input/output
+ mgr->ConnectInput (copyTask, 0, mgr->GetCommonInputContainer() );
+
+ TString contName = taskName;
+ contName += "_histos";
+ TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
+ AliAnalysisDataContainer *outc = mgr->CreateContainer(contName.Data(),
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ outputfile);
+ mgr->ConnectOutput(copyTask, 1, outc);
+
+ return copyTask;
+}
#include <TString.h>
#endif
-AliAnalysisTask* AddTaskPtEMCalTrigger(){
+AliAnalysisTask* AddTaskPtEMCalTrigger(const char *period ="LHC13d"){
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
EMCalTriggerPtAnalysis::AliAnalysisTaskPtEMCalTrigger *pttriggertask = new EMCalTriggerPtAnalysis::AliAnalysisTaskPtEMCalTrigger("ptemcaltriggertask");
//pttriggertask->SelectCollisionCandidates(AliVEvent::kINT7 | AliVEvent::kEMC7); // Select both INT7 or EMC7 triggered events
pttriggertask->SelectCollisionCandidates(AliVEvent::kAny);
+ if(!TString(period).CompareTo("LHC13f")) pttriggertask->SetSwapEta();
mgr->AddTask(pttriggertask);
pttriggertask->SetPtRange(2., 100.);
--- /dev/null
+AliAnalysisTaskRhoMassScale* AddTaskRhoMassScale(const char *rhomNeutral,
+ const char *rhomChEmcal,
+ const char *rhomCh2xEmcal,
+ const char *ntracks,
+ const Double_t kMinTrackPt = 0.15,
+ Int_t pSel = AliVEvent::kAny,
+ const char * njetsNeutral = "",
+ const char * njetsCharged = "",
+ const Double_t R = 0.4,
+ const char *type = "EMCAL",
+ TString tag = "") {
+
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr)
+ {
+ Error("AddTaskRhoMassScale","No analysis manager found.");
+ return 0;
+ }
+
+ // Check the analysis type using the event handlers connected to the analysis manager.
+ //==============================================================================
+ if (!mgr->GetInputEventHandler())
+ {
+ ::Error("AddTaskRhoMassScale", "This task requires an input event handler");
+ return NULL;
+ }
+
+ TString wagonName = Form("RhoMassScale%s",tag.Data());
+ TString strType(type);
+
+ //Configure jet mass detector response task
+ AliAnalysisTaskRhoMassScale *task = new AliAnalysisTaskRhoMassScale(wagonName.Data());
+
+ task->SetNCentBins(1);
+ //task->SetVzRange(-10.,10.);
+
+ task->SelectCollisionCandidates(pSel);
+ task->SetUseAliAnaUtils(kFALSE);
+
+ task->SetRhoMNeutralName(rhomNeutral);
+ task->SetRhoMChargedEmcalName(rhomChEmcal);
+ task->SetRhoMCharged2xEmcalName(rhomCh2xEmcal);
+
+ AliParticleContainer *pcont = task->AddParticleContainer(ntracks);
+ pcont->SetParticlePtCut(kMinTrackPt);
+ pcont->SetParticleEtaLimits(-0.9,0.9);
+ pcont->SetCharge(1);
+
+ task->SetJetContainerNeutral(0);
+ // task->SetJetContainerCharged(1);
+
+ AliJetContainer *jetContNeutral = task->AddJetContainer(njetsNeutral,strType,R);
+ if(jetContNeutral) {
+ jetContNeutral->SetPercAreaCut(0.6);
+ }
+
+ // AliJetContainer *jetContCharged = task->AddJetContainer(njetsCharged,strType,R);
+ // if(jetContCharged) {
+ // jetContCharged->SetPercAreaCut(0.6);
+ // }
+
+ mgr->AddTask(task);
+
+ //Connnect input
+ mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer() );
+
+ //Connect output
+ TString contName(wagonName);
+ TString outputfile = Form("%s",AliAnalysisManager::GetCommonFileName());
+ AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contName.Data(), TList::Class(),AliAnalysisManager::kOutputContainer,outputfile);
+ mgr->ConnectOutput(task,1,coutput1);
+
+ return task;
+}
+
TString name(Form("%s_%s_%s_%d_%d", taskname, nTracks, nClusters, TMath::FloorNint(trackptcut*1000), TMath::FloorNint(clusptcut*1000)));
AliAnalysisTaskScale *scaletask = new AliAnalysisTaskScale(name);
- scaletask->SetTracksName(nTracks);
- scaletask->SetClusName(nClusters);
- scaletask->SetTrackPtCut(trackptcut);
- scaletask->SetClusPtCut(clusptcut);
+ AliParticleContainer *pcont = scaletask->AddParticleContainer(nTracks);
+ if(pcont) {
+ pcont->SetParticlePtCut(trackptcut);
+ pcont->SetParticleEtaLimits(-0.7,0.7); // only accept tracks in the EMCal eta range
+ }
+ AliClusterContainer *ccont = scaletask->AddClusterContainer(nClusters);
+ if(ccont) ccont->SetClusPtCut(clusptcut);
//-------------------------------------------------------
// Final settings, pass to manager and set the containers
#pragma link C++ class AliJetEmbeddingTask+;
#pragma link C++ class AliJetEmbeddingFromGenTask+;
#pragma link C++ class AliJetEmbeddingFromPYTHIATask+;
+#pragma link C++ class AliJetFastSimulation+;
#pragma link C++ class AliJetModelBaseTask+;
+#pragma link C++ class AliJetModelCopyTracks+;
#pragma link C++ class AliJetModelMergeBranches+;
#pragma link C++ class AliJetRandomizerTask+;
#pragma link C++ class AliJetConstituentTagCopier+;
#pragma link C++ class AliAnalysisTaskEmcalJetv2QA+;
#pragma link C++ class AliAnalysisTaskRhoMass+;
#pragma link C++ class AliAnalysisTaskRhoMassBase+;
+#pragma link C++ class AliAnalysisTaskRhoMassScale+;
#pragma link C++ class AliAnalysisTaskSAJF+;
#pragma link C++ class AliAnalysisTaskSAQA+;
#pragma link C++ class AliAnalysisTaskSOH+;
if(incrementJetPt) fh1JetPt->Fill(jetPt);
//fh3TrackPt->Fill(jetPt,invM,trackPt);//Fill(x,y,z)
- invM = 0;
- Double_t z = 0.;
- if(jetPt>0) z = trackPt / jetPt;
+ // invM = 0;
+ // Double_t z = 0.;
+ // if(jetPt>0) z = trackPt / jetPt;
// Double_t xi = 0;
//if(z>0) xi = TMath::Log(1/z);
// This centrality estimator deals with integers! This implies that the ranges are always [lowlim, uplim - 1]
Double_t binsCentITSTPCTracklets[nCentBins+1] = { 0, 7, 13, 20, 29, 40, 50, 60, 72, 83, 95, 105, 115 };
+ // Special centrality binning for pp
+ Double_t binsCentpp[nCentBins+1] = { 0, 0.01, 0.1, 1, 5, 10, 15, 20, 30, 40, 50, 70, 100};
+
if (fCentralityEstimator.CompareTo("ITSTPCtracklets", TString::kIgnoreCase) == 0 && fStoreCentralityPercentile) {
// Special binning for this centrality estimator; but keep number of bins!
for (Int_t i = 0; i < nCentBins+1; i++)
binsCent[i] = binsCentITSTPCTracklets[i];
}
+ else if (fCentralityEstimator.Contains("ppMult", TString::kIgnoreCase) && fStoreCentralityPercentile) {
+ // Special binning for this pp centrality estimator; but keep number of bins!
+ for (Int_t i = 0; i < nCentBins+1; i++)
+ binsCent[i] = binsCentpp[i];
+ }
const Int_t nJetPtBins = 11;
Double_t binsJetPt[nJetPtBins+1] = {0, 2, 5, 10, 15, 20, 30, 40, 60, 80, 120, 200};
fhEventsProcessed = new TH1D("fhEventsProcessed",
- "Number of events passing trigger selection, vtx and zvtx cuts and pile-up rejection;Centrality percentile",
+ "Number of events passing trigger selection, vtx and zvtx cuts and pile-up rejection;Centrality Percentile",
nCentBins, binsCent);
fhEventsProcessed->Sumw2();
fOutputContainer->Add(fhEventsProcessed);
fhEventsTriggerSelVtxCut = new TH1D("fhEventsTriggerSelVtxCut",
- "Number of events passing trigger selection and vtx cut;Centrality percentile",
+ "Number of events passing trigger selection and vtx cut;Centrality Percentile",
nCentBins, binsCent);
fhEventsTriggerSelVtxCut->Sumw2();
fOutputContainer->Add(fhEventsTriggerSelVtxCut);
fhEventsTriggerSel = new TH1D("fhEventsTriggerSel",
- "Number of events passing trigger selection;Centrality percentile",
+ "Number of events passing trigger selection;Centrality Percentile",
nCentBins, binsCent);
fOutputContainer->Add(fhEventsTriggerSel);
fhEventsTriggerSel->Sumw2();
fhEventsProcessedNoPileUpRejection = new TH1D("fhEventsProcessedNoPileUpRejection",
- "Number of events passing trigger selection, vtx and zvtx cuts;Centrality percentile",
+ "Number of events passing trigger selection, vtx and zvtx cuts;Centrality Percentile",
nCentBins, binsCent);
fOutputContainer->Add(fhEventsProcessedNoPileUpRejection);
fhEventsProcessedNoPileUpRejection->Sumw2();
AliError("Not esd event -> Cannot use tracklet multiplicity estimator!");
centralityPercentile = -1;
}
- else {
+ else
centralityPercentile = AliESDtrackCuts::GetReferenceMultiplicity(esdEvent, AliESDtrackCuts::kTrackletsITSTPC, fEtaAbsCutUp);
- }
}
- else
+ else if (fCentralityEstimator.Contains("ppMult", TString::kIgnoreCase)) {
+ // Another special pp centrality estimator
+ centralityPercentile = fAnaUtils->GetMultiplicityPercentile(fEvent, GetPPCentralityEstimator().Data());
+ }
+ else {
+ // Ordinary centrality estimator
centralityPercentile = fEvent->GetCentrality()->GetCentralityPercentile(fCentralityEstimator.Data());
+ }
}
// Check if vertex is ok, but don't apply cut on z position
return;
IncrementEventCounter(centralityPercentile, kTriggerSelAndVtxCutAndZvtxCutNoPileUpRejection);
- //TODO ATTENTION: Is this the right place for the pile-up rejection? Important to have still the proper bin-0 correction,
+ // ATTENTION: Is this the right place for the pile-up rejection? Important to have still the proper bin-0 correction,
// which is done solely with sel and selVtx, since the zvtx selection does ~not change the spectra. The question is whether the pile-up
// rejection changes the spectra. If not, then it is perfectly fine to put it here and keep the usual histo for the normalisation to number
// of events. But if it does change the spectra, this must somehow be corrected for.
+ // NOTE: multiplicity >= 0 usually implies a properly reconstructed vertex. Hence, the bin-0 correction cannot be done in multiplicity bins.
+ // Furthermore, there seems to be no MC simulation with pile-up rejection, so the bin-0 correction cannot be extracted with it. Pile-up
+ // rejection has only a minor impact, so maybe there is no need to dig further.
if (isPileUp)
return;
hist->GetAxis(kGenDeltaPrimeSpecies)->SetTitle("TPC #Delta'_{species} (arb. unit)");
- hist->GetAxis(kGenCentrality)->SetTitle(Form("Centrality Percentile (%s)", fCentralityEstimator.Data()));
+ hist->GetAxis(kGenCentrality)->SetTitle(Form("Centrality Percentile (%s)", GetPPCentralityEstimator().Data()));
if (fStoreAdditionalJetInformation) {
hist->GetAxis(kGenJetPt)->SetTitle("p_{T}^{jet} (GeV/c)");
// Set axes titles
hist->GetAxis(kGenYieldMCID)->SetTitle("MC PID");
hist->GetAxis(kGenYieldPt)->SetTitle("p_{T}^{gen} (GeV/c)");
- hist->GetAxis(kGenYieldCentrality)->SetTitle(Form("Centrality Percentile (%s)", fCentralityEstimator.Data()));
+ hist->GetAxis(kGenYieldCentrality)->SetTitle(Form("Centrality Percentile (%s)", GetPPCentralityEstimator().Data()));
if (fStoreAdditionalJetInformation) {
hist->GetAxis(kGenYieldJetPt)->SetTitle("p_{T}^{jet, gen} (GeV/c)");
hist->GetAxis(kDataDeltaPrimeSpecies)->SetTitle("TPC #Delta'_{species} (arb. unit)");
- hist->GetAxis(kDataCentrality)->SetTitle(Form("Centrality Percentile (%s)", fCentralityEstimator.Data()));
+ hist->GetAxis(kDataCentrality)->SetTitle(Form("Centrality Percentile (%s)", GetPPCentralityEstimator().Data()));
if (fStoreAdditionalJetInformation) {
hist->GetAxis(kDataJetPt)->SetTitle("p_{T}^{jet} (GeV/c)");
hist->GetAxis(kPtResRecPt)->SetTitle("p_{T}^{rec} (GeV/c)");
hist->GetAxis(kPtResCharge)->SetTitle("Charge (e_{0})");
- hist->GetAxis(kPtResCentrality)->SetTitle(Form("Centrality Percentile (%s)", fCentralityEstimator.Data()));
+ hist->GetAxis(kPtResCentrality)->SetTitle(Form("Centrality Percentile (%s)", GetPPCentralityEstimator().Data()));
}
hist->SetBinEdges(kBinZeroStudyGenPt, binsPt);
// Set axes titles
- hist->GetAxis(kBinZeroStudyCentrality)->SetTitle(Form("Centrality Percentile (%s)", fCentralityEstimator.Data()));
+ hist->GetAxis(kBinZeroStudyCentrality)->SetTitle(Form("Centrality Percentile (%s)", GetPPCentralityEstimator().Data()));
hist->GetAxis(kBinZeroStudyGenEta)->SetTitle("#it{#eta}^{gen}");
hist->GetAxis(kBinZeroStudyGenPt)->SetTitle("#it{p}_{T}^{gen} (GeV/#it{c})");
}
\ No newline at end of file
ErrorCode SetParamsForConvolutedGaus(Double_t gausMean, Double_t gausSigma);
const TString GetCentralityEstimator() const { return fCentralityEstimator; };
+ const TString GetPPCentralityEstimator() const {
+ TString ppCentEstimator = fCentralityEstimator; ppCentEstimator = ppCentEstimator.ReplaceAll("ppMult", ""); return ppCentEstimator; }
void SetCentralityEstimator(TString estimator) { fCentralityEstimator = estimator; };
Double_t GetCentralityPercentile(AliVEvent* evt) const;
//_____________________________________________________________________________
inline Double_t AliAnalysisTaskPID::GetCentralityPercentile(AliVEvent* evt) const
{
+ // WARNING: This function may not be used in case of special pp centrality estimators which require different handling
+ // (and sometimes ESD events)
if (!evt)
return -1;
#include "AliExternalTrackParam.h"
#include "AliVVertex.h"
#include "AliAnalysisFilter.h"
-#include "AliAnalysisUtils.h"
#include "AliPID.h"
#include "AliPIDResponse.h"
#include "AliESDv0KineCuts.h"
// Default analysis utils
fAnaUtils = new AliAnalysisUtils();
+
+ // Not used yet, but to be save, forward vertex z cut to analysis utils object
+ fAnaUtils->SetMaxVtxZ(fZvtxCutEvent);
}
class AliESDv0KineCuts;
class AliPID;
class AliAnalysisFilter;
-class AliAnalysisUtils;
class AliVTrack;
#include <TTreeStream.h>
#include "AliInputEventHandler.h"
#include "AliTOFPIDResponse.h"
#include "AliAnalysisTaskSE.h"
+#include "AliAnalysisUtils.h"
class AliAnalysisTaskPIDV0base : public AliAnalysisTaskSE {
public:
virtual void SetIsPbpOrpPb(Bool_t newValue) { fIsPbpOrpPb = newValue; };
virtual Double_t GetZvtxCutEvent() const { return fZvtxCutEvent; };
- virtual void SetZvtxCutEvent(Double_t newValue) { fZvtxCutEvent = newValue; };
+ virtual void SetZvtxCutEvent(Double_t newValue) { fZvtxCutEvent = newValue; if (fAnaUtils) fAnaUtils->SetMaxVtxZ(fZvtxCutEvent);};
virtual Bool_t GetUsePhiCut() const { return fUsePhiCut; };
virtual void SetUsePhiCut(Bool_t newValue) { fUsePhiCut = newValue; };
AliAnalysisTaskPIDV0base(const AliAnalysisTaskPIDV0base&); // not implemented
AliAnalysisTaskPIDV0base& operator=(const AliAnalysisTaskPIDV0base&); // not implemented
- ClassDef(AliAnalysisTaskPIDV0base, 2);
+ ClassDef(AliAnalysisTaskPIDV0base, 3);
};
const Char_t* mcChargFlag="", // real="", charged jets = "MC2"
Bool_t bfillrespmx=0, // 0=dont fill resp mx histos, 1=fill histos
Bool_t bDiceEff=0, // 0=leave efficiency as it is, 1= reduce efficiency by constant amount via SetFixedEfficiency
+ Bool_t bMomSmear=0, // 0=leave efficiency as it is, 1= reduce efficiency by constant amount via SetFixedEfficiency
Bool_t bDoubleBinning=0, // 0= 2GeV bin size 1= 1GeV/bin size
Bool_t bUseExchContainer=0, //
Int_t triggerType=0, //0=single incl trigger, 1=leading track, 2=hadron pt>10
analBranch = analBranch + jet + otherparams; //antikt jet
analBranchBg = analBranchBg + jetbg + otherparams; //kt bg jet
- if(bDiceEff){ //dicing efficiency relates rec only
- analBranch = analBranch + "Detector10Fr0"; //dice=1, smear=0, change eff fraction =0
- analBranchBg = analBranchBg + "Detector10Fr0";
+ if(bDiceEff || bMomSmear){ //dicing efficiency relates rec only
+ analBranch = analBranch + Form("Detector%d%dFr0",(Int_t) bDiceEff,(Int_t) bMomSmear); //dice=1, smear=0, change eff fraction =0
+ analBranchBg = analBranchBg + Form("Detector%d%dFr0",(Int_t) bDiceEff,(Int_t) bMomSmear);
}
//clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00
AliAnalysisTask *AddTaskPID(TString nameSuffix, Bool_t writeOutputToSeparateFiles = kTRUE,
Bool_t useConvolutedGauss = kTRUE, TString centralityEstimator = "V0A",
Bool_t considerJets = kTRUE, Bool_t overrideStoreCentralityPercentile = kFALSE,
- Bool_t overrideStoreCentralityPercentileValue = kFALSE)
+ Bool_t overrideStoreCentralityPercentileValue = kFALSE,
+ TString listOfFiles = "")
{
// Macro to set up and add PID task with default settings.
//
printf("\nSetting up task %s:\n", taskName.Data());
- TString listOfFiles = gSystem->Getenv("LIST");
if (!considerJets) {
//
if (listOfFiles.Contains("pPb") || listOfFiles.Contains("Pbp")) {
task->SetIsPbpOrpPb(kTRUE);
printf("pPb/Pbp detected -> Adapting vertex cuts!\n");
+ task->SetCentralityEstimator("V0A");
}
else {
task->SetIsPbpOrpPb(kFALSE);
//-------------------------------------start TRACK CUTS (II)-------------------------------------
//Cut on the DCAxy
Bool_t isDCAxyCut=kFALSE;
- if(DCAxy<DCAxyCut) isDCAxyCut=kTRUE;
+ if(TMath::Abs(DCAxy)<DCAxyCut) isDCAxyCut=kTRUE;
//Cut on the DCAz
Bool_t isDCAzCut=kFALSE;
- if(DCAz<DCAzCut) isDCAzCut=kTRUE;
+ if(TMath::Abs(DCAz)<DCAzCut) isDCAzCut=kTRUE;
+
if (!isDCAxyCut || !isDCAzCut)
continue;
-
+
//-------------------------------------end TRACK CUTS (II)----------------------------------
hEta[iBconf]->Fill(eta);
}
for(Int_t j=0;j<nbin;j++) {
if(pC[iS]>binP[j] && pC[iS]<binP[j+1]) {
- if(DCAz<DCAzCut) {
+ if(TMath::Abs(DCAz)<DCAzCut) {
hDCAxy[iBconf][iS][j]->Fill(DCAxy);
hDCAxy[iBconf][iS][j]->Fill(-DCAxy);
}
- if(DCAxy<DCAxyCut) {
+ if(TMath::Abs(DCAxy)<DCAxyCut) {
hDCAz[iBconf][iS][j]->Fill(DCAz);
hDCAz[iBconf][iS][j]->Fill(-DCAz);
}
}
for(Int_t j=0;j<nbin;j++) {
if(pC[iS]>binP[j] && pC[iS]<binP[j+1]) {
- if(DCAz<DCAzCut) {
+ if(TMath::Abs(DCAz)<DCAzCut) {
hDCAxy[iBconf][iS+nPart][j]->Fill(DCAxy);
hDCAxy[iBconf][iS+nPart][j]->Fill(-DCAxy);
}
- if(DCAxy<DCAxyCut) {
+ if(TMath::Abs(DCAxy)<DCAxyCut) {
hDCAz[iBconf][iS+nPart][j]->Fill(DCAz);
hDCAz[iBconf][iS+nPart][j]->Fill(-DCAz);
}
//______________________________________________________
Bool_t AliSpectraAODEventCuts::CheckQVectorCut()
{
- Double_t qxEPVZERO = -999., qyEPVZERO = -999.;
Double_t qVZERO = -999.;
Double_t psi=-999.;
qVZERO=CalculateQVectorLHC10h();
psi=fPsiV0A;
}else{
- psi=fAOD->GetEventplane()->CalculateVZEROEventPlane(fAOD,10,2,qxEPVZERO,qyEPVZERO);//FIXME we can a flag for 2010 and 2011
- qVZERO= TMath::Sqrt(qxEPVZERO*qxEPVZERO + qyEPVZERO*qyEPVZERO);
+ qVZERO=CalculateQVector();
+ psi=fPsiV0A;
}
//cut on q vector
return fqV0A; //FIXME we have to combine VZERO-A and C
}
+//______________________________________________________
+Double_t AliSpectraAODEventCuts::CalculateQVector(){
+
+ //V0 info
+ Double_t Qxa2 = 0, Qya2 = 0;
+ Double_t Qxc2 = 0, Qyc2 = 0;
+
+ AliAODVZERO* aodV0 = fAOD->GetVZEROData();
+
+ for (Int_t iv0 = 0; iv0 < 64; iv0++) {
+
+ Float_t multv0 = aodV0->GetMultiplicity(iv0);
+
+ ((TH2F*)fOutput->FindObject("fV0M"))->Fill(iv0,multv0);
+
+ }
+
+ fPsiV0A = fAOD->GetEventplane()->CalculateVZEROEventPlane(fAOD,8,2,Qxa2,Qya2); // V0A
+ fPsiV0C = fAOD->GetEventplane()->CalculateVZEROEventPlane(fAOD,9,2,Qxc2,Qyc2); // V0C
+
+ ((TH2F*)fOutput->FindObject("fPsiACor"))->Fill((Float_t)fAOD->GetCentrality()->GetCentralityPercentile("V0M"), fPsiV0A);
+ ((TH2F*)fOutput->FindObject("fPsiCCor"))->Fill((Float_t)fAOD->GetCentrality()->GetCentralityPercentile("V0M"), fPsiV0C);
+
+ fqV0A = TMath::Sqrt((Qxa2*Qxa2 + Qya2*Qya2));
+ fqV0C = TMath::Sqrt((Qxc2*Qxc2 + Qyc2*Qyc2));
+ fqV0Ax = Qxa2;
+ fqV0Cx = Qxc2;
+ fqV0Ay = Qya2;
+ fqV0Cy = Qyc2;
+
+ ((TH2F*)fOutput->FindObject("fQVecACor"))->Fill((Float_t)fAOD->GetCentrality()->GetCentralityPercentile("V0M"), fqV0A);
+ ((TH2F*)fOutput->FindObject("fQVecCCor"))->Fill((Float_t)fAOD->GetCentrality()->GetCentralityPercentile("V0M"), fqV0C);
+
+ return fqV0A; //FIXME we have to combine VZERO-A and C
+
+}
+
//______________________________________________________
Short_t AliSpectraAODEventCuts::GetCentrCode(AliVEvent* ev)
{
Bool_t OpenInfoCalbration(Int_t run);
Short_t GetCentrCode(AliVEvent* ev);
+ Double_t CalculateQVector();
+
Float_t NumberOfEvents() { return ((TH1I*)fOutput->FindObject("fHistoCuts"))->GetBinContent(kAcceptedEvents+1); }
Float_t NumberOfProcessedEvents() { return ((TH1I*)fOutput->FindObject("fHistoCuts"))->GetBinContent(kProcessedEvents+1); }
Float_t NumberOfPhysSelEvents() { return ((TH1I*)fOutput->FindObject("fHistoCuts"))->GetBinContent(kPhysSelEvents+1); }
// - AOD analysis part completed
//
//
-// Adapted to pp 2.76 analysis: D. Colella, domenico.colella@ba.infn.it
+// Adapted to pp 2.76 TeV analysis: D. Colella, domenico.colella@ba.infn.it
// Gen-now 2012
// - Physics selection re-moved here (mainly for normalization in the efficiency calcuation)
// - Centrality selection deleted
-// -
+//
+//
+// Adapted to pPb 5.02 TeV analysis: D. Colella, domenico.colella@ba.infn.it
+// Aug-Sep 2014
+// - Added the parameter fCollidingSystem, to distingish between pp and pPb procedures
+// -
+//
+//
//
//-----------------------------------------------------------------
#include "AliESDcascade.h"
#include "AliAODcascade.h"
#include "AliAODTrack.h"
+#include "AliAnalysisUtils.h"
#include "AliAnalysisTaskCheckCascadepp276.h"
: AliAnalysisTaskSE(),
fAnalysisType ("ESD"),
fESDtrackCuts (0),
+ fUtils (0),
+ fCollidingSystem ("pp"),
fPIDResponse (0),
fkRerunV0CascVertexers (0),
fkSDDSelectionOn (kTRUE),
: AliAnalysisTaskSE(name),
fAnalysisType ("ESD"),
fESDtrackCuts (0),
+ fUtils (0),
+ fCollidingSystem ("pp"),
fPIDResponse (0),
fkRerunV0CascVertexers (0),
fkSDDSelectionOn (kTRUE),
// Input slot #0 works with a TChain
// DefineInput(0, TChain::Class());
// Output slot #1 writes into a TList container (cascade)
- // default p-p values
- fV0Sels[0] = 33. ; // max allowed chi2
- fV0Sels[1] = 0.01; // min allowed impact parameter for the 1st daughter
- fV0Sels[2] = 0.01; // min allowed impact parameter for the 2nd daughter
- fV0Sels[3] = 1.5; // max allowed DCA between the daughter tracks
- fV0Sels[4] = 0.9; // min allowed cosine of V0's pointing angle - This is pT dependent
- fV0Sels[5] = 0.2; // min radius of the fiducial volume
- fV0Sels[6] = 200.; // max radius of the fiducial volume
-
- fCascSels[0] = 33.; // max allowed chi2 (same as PDC07)
- fCascSels[1] = 0.01; // min allowed V0 impact parameter
- fCascSels[2] = 0.008; // "window" around the Lambda mass
- fCascSels[3] = 0.01; // min allowed bachelor's impact parameter
- fCascSels[4] = 2.0; // max allowed DCA between the V0 and the bachelor
- fCascSels[5] = 0.95; // min allowed cosine of the cascade pointing angle
- fCascSels[6] = 0.2; // min radius of the fiducial volume
- fCascSels[7] = 100.; // max radius of the fiducial volume
-
+ if (fCollidingSystem == "pp") {
+ fV0Sels[0] = 33. ; // max allowed chi2
+ fV0Sels[1] = 0.01; // min allowed impact parameter for the 1st daughter
+ fV0Sels[2] = 0.01; // min allowed impact parameter for the 2nd daughter
+ fV0Sels[3] = 1.5; // max allowed DCA between the daughter tracks
+ fV0Sels[4] = 0.9; // min allowed cosine of V0's pointing angle - This is pT dependent
+ fV0Sels[5] = 0.2; // min radius of the fiducial volume
+ fV0Sels[6] = 200.; // max radius of the fiducial volume
+ fCascSels[0] = 33.; // max allowed chi2 (same as PDC07)
+ fCascSels[1] = 0.01; // min allowed V0 impact parameter
+ fCascSels[2] = 0.008; // "window" around the Lambda mass
+ fCascSels[3] = 0.01; // min allowed bachelor's impact parameter
+ fCascSels[4] = 2.0; // max allowed DCA between the V0 and the bachelor
+ fCascSels[5] = 0.95; // min allowed cosine of the cascade pointing angle
+ fCascSels[6] = 0.2; // min radius of the fiducial volume
+ fCascSels[7] = 100.; // max radius of the fiducial volume
+ } else if (fCollidingSystem == "pPb") {
+ fV0Sels[0] = 33. ; // max allowed chi2
+ fV0Sels[1] = 0.02; // min allowed impact parameter for the 1st daughter (LHC09a4 : 0.05)
+ fV0Sels[2] = 0.02; // min allowed impact parameter for the 2nd daughter (LHC09a4 : 0.05)
+ fV0Sels[3] = 2.0 ; // max allowed DCA between the daughter tracks (LHC09a4 : 0.5)
+ fV0Sels[4] = 0.95; // min allowed cosine of V0's pointing angle (LHC09a4 : 0.99)
+ fV0Sels[5] = 1.0 ; // min radius of the fiducial volume (LHC09a4 : 0.2)
+ fV0Sels[6] = 200. ; // max radius of the fiducial volume (LHC09a4 : 100.0)
+ fCascSels[0] = 33. ; // max allowed chi2 (same as PDC07)
+ fCascSels[1] = 0.05 ; // min allowed V0 impact parameter (PDC07 : 0.05 / LHC09a4 : 0.025 )
+ fCascSels[2] = 0.010; // "window" around the Lambda mass (PDC07 : 0.008 / LHC09a4 : 0.010 )
+ fCascSels[3] = 0.03 ; // min allowed bachelor's impact parameter (PDC07 : 0.035 / LHC09a4 : 0.025 )
+ fCascSels[4] = 2.0 ; // max allowed DCA between the V0 and the bachelor (PDC07 : 0.1 / LHC09a4 : 0.2 )
+ fCascSels[5] = 0.95 ; // min allowed cosine of the cascade pointing angle (PDC07 : 0.9985 / LHC09a4 : 0.998 )
+ fCascSels[6] = 0.4 ; // min radius of the fiducial volume (PDC07 : 0.9 / LHC09a4 : 0.2 )
+ fCascSels[7] = 100. ; // max radius of the fiducial volume (PDC07 : 100 / LHC09a4 : 100 )
+ }
// Output slot #0 writes into a TList container (Cascade)
DefineOutput(1, TList::Class());
DefineOutput(2, AliCFContainer::Class());
AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
fPIDResponse = inputHandler->GetPIDResponse();
-
// Only used to get the number of primary reconstructed tracks
if (fAnalysisType == "ESD" && (! fESDtrackCuts )){
fESDtrackCuts = new AliESDtrackCuts();
// Initialize cuts to re-run V0 and cascade vertexers
//---------------------------------------------------
// Not validated; to be checked
- fV0Sels[0] = 33. ; // max allowed chi2
- fV0Sels[1] = 0.01; // min allowed impact parameter for the 1st daughter
- fV0Sels[2] = 0.01; // min allowed impact parameter for the 2nd daughter
- fV0Sels[3] = 1.5; // max allowed DCA between the daughter tracks
- fV0Sels[4] = 0.9; // min allowed cosine of V0's pointing angle
- fV0Sels[5] = 0.2; // min radius of the fiducial volume
- fV0Sels[6] = 200.; // max radius of the fiducial volume
-
- fCascSels[0] = 33.; // max allowed chi2 (same as PDC07)
- fCascSels[1] = 0.01; // min allowed V0 impact parameter
- fCascSels[2] = 0.008; // "window" around the Lambda mass
- fCascSels[3] = 0.01; // min allowed bachelor's impact parameter
- fCascSels[4] = 2.0; // max allowed DCA between the V0 and the bachelor
- fCascSels[5] = 0.95; // min allowed cosine of the cascade pointing angle
- fCascSels[6] = 0.2; // min radius of the fiducial volume
- fCascSels[7] = 100.; // max radius of the fiducial volume
+ if (fCollidingSystem == "pp") {
+ fV0Sels[0] = 33. ; // max allowed chi2
+ fV0Sels[1] = 0.01; // min allowed impact parameter for the 1st daughter
+ fV0Sels[2] = 0.01; // min allowed impact parameter for the 2nd daughter
+ fV0Sels[3] = 1.5; // max allowed DCA between the daughter tracks
+ fV0Sels[4] = 0.9; // min allowed cosine of V0's pointing angle
+ fV0Sels[5] = 0.2; // min radius of the fiducial volume
+ fV0Sels[6] = 200.; // max radius of the fiducial volume
+ fCascSels[0] = 33.; // max allowed chi2 (same as PDC07)
+ fCascSels[1] = 0.01; // min allowed V0 impact parameter
+ fCascSels[2] = 0.008; // "window" around the Lambda mass
+ fCascSels[3] = 0.01; // min allowed bachelor's impact parameter
+ fCascSels[4] = 2.0; // max allowed DCA between the V0 and the bachelor
+ fCascSels[5] = 0.95; // min allowed cosine of the cascade pointing angle
+ fCascSels[6] = 0.2; // min radius of the fiducial volume
+ fCascSels[7] = 100.; // max radius of the fiducial volume
+ } else if (fCollidingSystem == "pPb") {
+ fV0Sels[0] = 33. ; // max allowed chi2
+ fV0Sels[1] = 0.02; // min allowed impact parameter for the 1st daughter (LHC09a4 : 0.05)
+ fV0Sels[2] = 0.02; // min allowed impact parameter for the 2nd daughter (LHC09a4 : 0.05)
+ fV0Sels[3] = 2.0 ; // max allowed DCA between the daughter tracks (LHC09a4 : 0.5)
+ fV0Sels[4] = 0.95; // min allowed cosine of V0's pointing angle (LHC09a4 : 0.99)
+ fV0Sels[5] = 1.0 ; // min radius of the fiducial volume (LHC09a4 : 0.2)
+ fV0Sels[6] = 200. ; // max radius of the fiducial volume (LHC09a4 : 100.0)
+ fCascSels[0] = 33. ; // max allowed chi2 (same as PDC07)
+ fCascSels[1] = 0.05 ; // min allowed V0 impact parameter (PDC07 : 0.05 / LHC09a4 : 0.025 )
+ fCascSels[2] = 0.010; // "window" around the Lambda mass (PDC07 : 0.008 / LHC09a4 : 0.010 )
+ fCascSels[3] = 0.03 ; // min allowed bachelor's impact parameter (PDC07 : 0.035 / LHC09a4 : 0.025 )
+ fCascSels[4] = 2.0 ; // max allowed DCA between the V0 and the bachelor (PDC07 : 0.1 / LHC09a4 : 0.2 )
+ fCascSels[5] = 0.95 ; // min allowed cosine of the cascade pointing angle (PDC07 : 0.9985 / LHC09a4 : 0.998 )
+ fCascSels[6] = 0.4 ; // min radius of the fiducial volume (PDC07 : 0.9 / LHC09a4 : 0.2 )
+ fCascSels[7] = 100. ; // max radius of the fiducial volume (PDC07 : 100 / LHC09a4 : 100 )
+ }
//----------------------
// Initialize the histos
lNbBinsPerVar[0] = 100;
lNbBinsPerVar[1] = 800;
lNbBinsPerVar[2] = 22;
- if (fkSDDSelectionOn) {
- if (fwithSDD) fCFContCascadePIDXiMinus = new AliCFContainer(Form("fCFContCascadePIDXiMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Xi^{-} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
- else if (!fwithSDD) fCFContCascadePIDXiMinus = new AliCFContainer(Form("fCFContCascadePIDXiMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Xi^{-} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
- } else if (!fkSDDSelectionOn) fCFContCascadePIDXiMinus = new AliCFContainer(Form("fCFContCascadePIDXiMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Xi^{-} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ if (fCollidingSystem == "pp" && fkSDDSelectionOn) {
+ if (fwithSDD) fCFContCascadePIDXiMinus = new AliCFContainer(Form("fCFContCascadePIDXiMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Xi^{-} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ else if (!fwithSDD) fCFContCascadePIDXiMinus = new AliCFContainer(Form("fCFContCascadePIDXiMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Xi^{-} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ } else if (fCollidingSystem == "pp" && !fkSDDSelectionOn) {
+ fCFContCascadePIDXiMinus = new AliCFContainer(Form("fCFContCascadePIDXiMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Xi^{-} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ } else if (fCollidingSystem == "pPb") {
+ fCFContCascadePIDXiMinus = new AliCFContainer(Form("fCFContCascadePIDXiMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Xi^{-} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ }
//Setting the bin limits
fCFContCascadePIDXiMinus->SetBinLimits(0, 0.0 , 10.0 ); // Pt(Cascade)
fCFContCascadePIDXiMinus->SetBinLimits(1, 1.2 , 2.0 ); // Xi Effective mass
lNbBinsPerVar[0] = 100;
lNbBinsPerVar[1] = 800;
lNbBinsPerVar[2] = 22;
- if (fkSDDSelectionOn) {
- if (fwithSDD) fCFContCascadePIDXiPlus = new AliCFContainer(Form("fCFContCascadePIDXiPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Xi^{+} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
- else if (!fwithSDD) fCFContCascadePIDXiPlus = new AliCFContainer(Form("fCFContCascadePIDXiPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Xi^{+} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
- } else if (!fkSDDSelectionOn) fCFContCascadePIDXiPlus = new AliCFContainer(Form("fCFContCascadePIDXiPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Xi^{+} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ if (fCollidingSystem == "pp" && fkSDDSelectionOn) {
+ if (fwithSDD) fCFContCascadePIDXiPlus = new AliCFContainer(Form("fCFContCascadePIDXiPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Xi^{+} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar);
+ else if (!fwithSDD) fCFContCascadePIDXiPlus = new AliCFContainer(Form("fCFContCascadePIDXiPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Xi^{+} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar);
+ } else if (fCollidingSystem == "pp" && !fkSDDSelectionOn) {
+ fCFContCascadePIDXiPlus = new AliCFContainer(Form("fCFContCascadePIDXiPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Xi^{+} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar);
+ } else if (fCollidingSystem == "pPb") {
+ fCFContCascadePIDXiPlus = new AliCFContainer(Form("fCFContCascadePIDXiPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Xi^{+} candidates} Vs Y_{#Xi}", lNbSteps, lNbVariables, lNbBinsPerVar);
+ }
//Setting the bin limits
fCFContCascadePIDXiPlus->SetBinLimits(0, 0.0 , 10.0 ); // Pt(Cascade)
fCFContCascadePIDXiPlus->SetBinLimits(1, 1.2 , 2.0 ); // Xi Effective mass
lNbBinsPerVar[0] = 100;
lNbBinsPerVar[1] = 1000;
lNbBinsPerVar[2] = 22;
- if (fkSDDSelectionOn) {
- if (fwithSDD) fCFContCascadePIDOmegaMinus = new AliCFContainer(Form("fCFContCascadePIDOmegaMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Omega^{-} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
- else if (!fwithSDD) fCFContCascadePIDOmegaMinus = new AliCFContainer(Form("fCFContCascadePIDOmegaMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Omega^{-} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
- } else if (!fkSDDSelectionOn) fCFContCascadePIDOmegaMinus = new AliCFContainer(Form("fCFContCascadePIDOmegaMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Omega^{-} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ if (fCollidingSystem == "pp" && fkSDDSelectionOn) {
+ if (fwithSDD) fCFContCascadePIDOmegaMinus = new AliCFContainer(Form("fCFContCascadePIDOmegaMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Omega^{-} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ else if (!fwithSDD) fCFContCascadePIDOmegaMinus = new AliCFContainer(Form("fCFContCascadePIDOmegaMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Omega^{-} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ } else if (!fkSDDSelectionOn) {
+ fCFContCascadePIDOmegaMinus = new AliCFContainer(Form("fCFContCascadePIDOmegaMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Omega^{-} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ } else if (fCollidingSystem == "pPb") {
+ fCFContCascadePIDOmegaMinus = new AliCFContainer(Form("fCFContCascadePIDOmegaMinus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Omega^{-} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ }
//Setting the bin limits
fCFContCascadePIDOmegaMinus->SetBinLimits(0, 0.0 , 10.0 ); // Pt(Cascade)
fCFContCascadePIDOmegaMinus->SetBinLimits(1, 1.5 , 2.5 ); // Omega Effective mass
lNbBinsPerVar[0] = 100;
lNbBinsPerVar[1] = 1000;
lNbBinsPerVar[2] = 22;
- if (fkSDDSelectionOn) {
- if (fwithSDD) fCFContCascadePIDOmegaPlus = new AliCFContainer(Form("fCFContCascadePIDOmegaPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Omega^{+} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
- else if (!fwithSDD) fCFContCascadePIDOmegaPlus = new AliCFContainer(Form("fCFContCascadePIDOmegaPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Omega^{+} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
- } else if (!fkSDDSelectionOn) fCFContCascadePIDOmegaPlus = new AliCFContainer(Form("fCFContCascadePIDOmegaPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Pt_{cascade} Vs M_{#Omega^{+} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ if (fCollidingSystem == "pp" && fkSDDSelectionOn) {
+ if (fwithSDD) fCFContCascadePIDOmegaPlus = new AliCFContainer(Form("fCFContCascadePIDOmegaPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Omega^{+} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ else if (!fwithSDD) fCFContCascadePIDOmegaPlus = new AliCFContainer(Form("fCFContCascadePIDOmegaPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Omega^{+} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ } else if (fCollidingSystem == "pp" && !fkSDDSelectionOn) {
+ fCFContCascadePIDOmegaPlus = new AliCFContainer(Form("fCFContCascadePIDOmegaPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Omega^{+} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ } else if (fCollidingSystem == "pPb") {
+ fCFContCascadePIDOmegaPlus = new AliCFContainer(Form("fCFContCascadePIDOmegaPlus_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Pt_{cascade} Vs M_{#Omega^{+} candidates} Vs Y_{#Omega}", lNbSteps, lNbVariables, lNbBinsPerVar );
+ }
//Setting the bin limits
fCFContCascadePIDOmegaPlus->SetBinLimits(0, 0.0 , 10.0 ); // Pt(Cascade)
fCFContCascadePIDOmegaPlus->SetBinLimits(1, 1.5 , 2.5 ); // Omega Effective mass
lNbBinsPerVar[16] = 112; //Proper lenght of cascade
lNbBinsPerVar[17] = 112; //Proper lenght of V0
lNbBinsPerVar[18] = 112; //Distance V0-Xi in transverse plane
- if (fkSDDSelectionOn) {
- if (fwithSDD) fCFContCascadeCuts = new AliCFContainer(Form("fCFContCascadeCuts_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Container for Cascade cuts", lNbSteps, lNbVariables, lNbBinsPerVar);
- else if (!fwithSDD) fCFContCascadeCuts = new AliCFContainer(Form("fCFContCascadeCuts_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Container for Cascade cuts", lNbSteps, lNbVariables, lNbBinsPerVar);
- } else if (!fkSDDSelectionOn) fCFContCascadeCuts = new AliCFContainer(Form("fCFContCascadeCuts_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),"Container for Cascade cuts", lNbSteps, lNbVariables, lNbBinsPerVar);
+ if (fCollidingSystem == "pp" && fkSDDSelectionOn) {
+ if (fwithSDD) fCFContCascadeCuts = new AliCFContainer(Form("fCFContCascadeCuts_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDon",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Container for Cascade cuts", lNbSteps, lNbVariables, lNbBinsPerVar);
+ else if (!fwithSDD) fCFContCascadeCuts = new AliCFContainer(Form("fCFContCascadeCuts_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_wSDDoff",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Container for Cascade cuts", lNbSteps, lNbVariables, lNbBinsPerVar);
+ } else if (fCollidingSystem == "pp" && !fkSDDSelectionOn) {
+ fCFContCascadeCuts = new AliCFContainer(Form("fCFContCascadeCuts_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f_woSDD",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Container for Cascade cuts", lNbSteps, lNbVariables, lNbBinsPerVar);
+ } else if (fCollidingSystem == "pPb") {
+ fCFContCascadeCuts = new AliCFContainer(Form("fCFContCascadeCuts_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",
+ fMinnTPCcls,fVtxRange,fVtxRangeMin,fMinPtCutOnDaughterTracks,fEtaCutOnDaughterTracks),
+ "Container for Cascade cuts", lNbSteps, lNbVariables, lNbBinsPerVar);
+ }
//Setting the bin limits
//0 - DcaXiDaughters
Double_t *lBinLim0 = new Double_t[ lNbBinsPerVar[0] + 1 ];
AliESDEvent *lESDevent = 0x0;
AliAODEvent *lAODevent = 0x0;
+ //----------------------
+ // Check the PIDresponse
//---------------------
- //Check the PIDresponse
if(!fPIDResponse) {
AliError("Cannot get pid response");
return;
}
+ if(! fESDtrackCuts ){
+ fESDtrackCuts = new AliESDtrackCuts();
+ }
+ if(! fUtils ){
+ fUtils = new AliAnalysisUtils();
+ }
+
///////////////////
// EVENT SELECTIONS
// - Fill the plots
fHistCascadeMultiplicityBeforeAnySel->Fill(ncascadesBeforeAnySel);
fHistTrackMultiplicityBeforeAnySel->Fill(nTrackMultiplicityBeforeAnySel);
-
+
//--------------
// SDD selection
//--------------
Int_t nTrackMultiplicityAfterSDDSel = 0;
// - Selection for ESD and AOD
if (fAnalysisType == "ESD") {
- if (fkSDDSelectionOn) {
+ if (fkSDDSelectionOn && fCollidingSystem == "pp") {
TString trcl = lESDevent->GetFiredTriggerClasses();
//cout<<"Fired Trigger Classes: "<<trcl<<endl;
if (fwithSDD){
ncascadesAfterSDDSel = lESDevent->GetNumberOfCascades();
nTrackMultiplicityAfterSDDSel = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
} else if (fAnalysisType == "AOD") {
- if (fkSDDSelectionOn) {
+ if (fkSDDSelectionOn && fCollidingSystem == "pp") {
TString trcl = lAODevent->GetFiredTriggerClasses();
if (fwithSDD){
if(!(trcl.Contains("ALLNOTRD"))) {
fHistCascadeMultiplicityAfterSDDSel->Fill(ncascadesAfterSDDSel);
fHistTrackMultiplicityAfterSDDSel->Fill(nTrackMultiplicityAfterSDDSel);
- //----------------------------------------------
- // Physics selection (+ re-vertexer for the ESD)
- //----------------------------------------------
+ //-------------------------------------------
+ // Multiplicity estimators for pPb collisions //FIXME
+ //-------------------------------------------
+ //AliCentrality* centrality = 0;
+ //if (fAnalysisType == "ESD" && (fCollidingSystem == "pPb")) centrality = lESDevent->GetCentrality();
+ //else if (fAnalysisType == "AOD" && (fCollidingSystem == "pPb")) centrality = lAODevent->GetCentrality();
+ //Float_t lcentrality = 0.;
+ //if (fCollidingSystem == "pPb") {
+ // if (fkUseCleaning) lcentrality = centrality->GetCentralityPercentile(fCentrEstimator.Data());
+ // else {
+ // lcentrality = centrality->GetCentralityPercentileUnchecked(fCentrEstimator.Data());
+ // if (centrality->GetQuality()>1) {
+ // PostData(1, fCFContCascadeCuts);
+ // return;
+ // }
+ // }
+ // //if (lcentrality<fCentrLowLim||lcentrality>=fCentrUpLim) {
+ // // PostData(1, fCFContCascadeCuts);
+ // // return;
+ // //}
+ //} else if (fCollidingSystem == "pp") lcentrality = 0.;
+
+ //------------------
+ // Physics selection
+ //-----------------
// - Define the variables
Int_t ncascadesAfterPhysicsSel = 0;
Int_t nTrackMultiplicityAfterPhysicsSel = 0;
// - Selection for ESD and AOD
+ UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
+ Bool_t isSelected = 0;
+ if (fCollidingSystem == "pp" ) isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
+ else if (fCollidingSystem == "pPb") isSelected = (maskIsSelected & AliVEvent::kINT7) == AliVEvent::kINT7;
+ if(! isSelected){
+ PostData(1, fListHistCascade);
+ PostData(2, fCFContCascadePIDXiMinus);
+ PostData(3, fCFContCascadePIDXiPlus);
+ PostData(4, fCFContCascadePIDOmegaMinus);
+ PostData(5, fCFContCascadePIDOmegaPlus);
+ PostData(6, fCFContCascadeCuts);
+ cout<<"We are selecting the events that past tha Physics Selection. This event does not pass the Physics Selection. => RETURN!! (Exclude it)..."<<endl;
+ return;
+ }
if (fAnalysisType == "ESD") {
- UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
- Bool_t isSelected = 0;
- isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
- if(! isSelected){
- PostData(1, fListHistCascade);
- PostData(2, fCFContCascadePIDXiMinus);
- PostData(3, fCFContCascadePIDXiPlus);
- PostData(4, fCFContCascadePIDOmegaMinus);
- PostData(5, fCFContCascadePIDOmegaPlus);
- PostData(6, fCFContCascadeCuts);
- cout<<"We are selecting the events that past tha Physics Selection. This event does not pass the Physics Selection. => RETURN!! (Exclude it)..."<<endl;
- return;
- }
// - Take the number of cascades and tracks after physics selection
ncascadesAfterPhysicsSel = lESDevent->GetNumberOfCascades();
nTrackMultiplicityAfterPhysicsSel = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
- // - Cascade vertexer (ESD)
- // Relaunch V0 and Cascade vertexers
- if (fkRerunV0CascVertexers) {
- lESDevent->ResetCascades();
- lESDevent->ResetV0s();
- AliV0vertexer *lV0vtxer = new AliV0vertexer();
- AliCascadeVertexer *lCascVtxer = new AliCascadeVertexer();
- //lV0vtxer->GetCuts(fV0Sels);
- //lCascVtxer->GetCuts(fCascSels);
- lV0vtxer->SetCuts(fV0Sels); // NB don't use SetDefaultCuts!! because it acts on static variables
- lCascVtxer->SetCuts(fCascSels);
- lV0vtxer->Tracks2V0vertices(lESDevent);
- lCascVtxer->V0sTracks2CascadeVertices(lESDevent);
- //delete lV0vtxer;
- //delete lCascVtxer;
- }
} else if (fAnalysisType == "AOD") {
- UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
- Bool_t isSelected = 0;
- isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
- if(! isSelected){
- PostData(1, fListHistCascade);
- PostData(2, fCFContCascadePIDXiMinus);
- PostData(3, fCFContCascadePIDXiPlus);
- PostData(4, fCFContCascadePIDOmegaMinus);
- PostData(5, fCFContCascadePIDOmegaPlus);
- PostData(6, fCFContCascadeCuts);
- cout<<"We are selecting the events that past tha Physics Selection. This event does not pass the Physics Selection. => RETURN!! (Exclude it)..."<<endl;
- return;
- }
// - Take the number of cascades and tracks after the physics selection
ncascadesAfterPhysicsSel = lAODevent->GetNumberOfCascades();
nTrackMultiplicityAfterPhysicsSel = -100; //FIXME: I can't find the equivalent method for the AOD
fHistCascadeMultiplicityAfterPhysicsSel->Fill(ncascadesAfterPhysicsSel);
fHistTrackMultiplicityAfterPhysicsSel->Fill(nTrackMultiplicityAfterPhysicsSel);
+ //---------------------------------------
+ // Re-run cascade vertexer (only for ESD)
+ //---------------------------------------
+ if (fAnalysisType == "ESD" && fkRerunV0CascVertexers) {
+ lESDevent->ResetCascades();
+ lESDevent->ResetV0s();
+ AliV0vertexer *lV0vtxer = new AliV0vertexer();
+ AliCascadeVertexer *lCascVtxer = new AliCascadeVertexer();
+ //lV0vtxer->GetCuts(fV0Sels);
+ //lCascVtxer->GetCuts(fCascSels);
+ lV0vtxer->SetCuts(fV0Sels); // NB don't use SetDefaultCuts!! because it acts on static variables
+ lCascVtxer->SetCuts(fCascSels);
+ lV0vtxer->Tracks2V0vertices(lESDevent);
+ lCascVtxer->V0sTracks2CascadeVertices(lESDevent);
+ //delete lV0vtxer;
+ //delete lCascVtxer;
+ }
+
//------------------------------
// Well-established PV selection
//------------------------------
// - Define variables
Int_t ncascadesForSelEvtNoTPCOnly = 0;
Int_t nTrackMultiplicityForSelEvtNoTPCOnly = 0;
- // - Selection for ESD and AOD
- if (fAnalysisType == "ESD") {
- // - Vertex coordinates: get the PVs stored in the ESD found with tracks and SPD
- const AliESDVertex *lPrimaryTrackingESDVtx = lESDevent->GetPrimaryVertexTracks();
- const AliESDVertex *lPrimarySPDVtx = lESDevent->GetPrimaryVertexSPD();
- // - Select only looking at events with well-established PV
- if (fkQualityCutNoTPConlyPrimVtx) {
- if (!lPrimarySPDVtx->GetStatus() && !lPrimaryTrackingESDVtx->GetStatus() ){
+ // - Selection for the two colliding systems
+ if (fCollidingSystem == "pp") {
+ // - Selection for ESD and AOD
+ if (fAnalysisType == "ESD") {
+ // - Vertex coordinates: get the PVs stored in the ESD found with tracks and SPD
+ const AliESDVertex *lPrimaryTrackingESDVtx = lESDevent->GetPrimaryVertexTracks();
+ const AliESDVertex *lPrimarySPDVtx = lESDevent->GetPrimaryVertexSPD();
+ // - Select only looking at events with well-established PV
+ if (fkQualityCutNoTPConlyPrimVtx) {
+ if (!lPrimarySPDVtx->GetStatus() && !lPrimaryTrackingESDVtx->GetStatus() ){
+ AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
+ PostData(1, fListHistCascade);
+ PostData(2, fCFContCascadePIDXiMinus);
+ PostData(3, fCFContCascadePIDXiPlus);
+ PostData(4, fCFContCascadePIDOmegaMinus);
+ PostData(5, fCFContCascadePIDOmegaPlus);
+ PostData(6, fCFContCascadeCuts);
+ return;
+ }
+ }
+ // - Take the number of cascades and tracks after TPConly selection
+ ncascadesForSelEvtNoTPCOnly = lESDevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnly = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
+ } else if (fAnalysisType == "AOD") {
+ // - Vertex coordinates: get the PVs stored in the AOD found with tracks and SPD
+ const AliAODVertex *lPrimarySPDVtx = lAODevent->GetPrimaryVertexSPD();
+ const AliAODVertex *lPrimaryTrackingAODVtx = lAODevent->GetPrimaryVertex();
+ // - Select only looking at events with well-established PV
+ if (fkQualityCutNoTPConlyPrimVtx) {
+ if (!lPrimarySPDVtx && !lPrimaryTrackingAODVtx) {
+ AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
+ PostData(1, fListHistCascade);
+ PostData(2, fCFContCascadePIDXiMinus);
+ PostData(3, fCFContCascadePIDXiPlus);
+ PostData(4, fCFContCascadePIDOmegaMinus);
+ PostData(5, fCFContCascadePIDOmegaPlus);
+ PostData(6, fCFContCascadeCuts);
+ return;
+ }
+ }
+ // - Take the number of cascades and tracks after TPConly selection
+ ncascadesForSelEvtNoTPCOnly = lAODevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnly = -100; //FIXME: I can't find the equivalent method for the AOD
+ }
+ } else if (fCollidingSystem == "pPb") {
+ if (fAnalysisType == "ESD") {
+ Bool_t fHasVertex = kFALSE;
+ const AliESDVertex *vertex = lESDevent->GetPrimaryVertexTracks();
+ if (vertex->GetNContributors() < 1) {
+ vertex = lESDevent->GetPrimaryVertexSPD();
+ if (vertex->GetNContributors() < 1) fHasVertex = kFALSE;
+ else fHasVertex = kTRUE;
+ TString vtxTyp = vertex->GetTitle();
+ Double_t cov[6]={0};
+ vertex->GetCovarianceMatrix(cov);
+ Double_t zRes = TMath::Sqrt(cov[5]);
+ if (vtxTyp.Contains("vertexer:Z") && (zRes>0.25)) fHasVertex = kFALSE;
+ }
+ else fHasVertex = kTRUE;
+ if (fUtils->IsFirstEventInChunk(lESDevent)) { //Is First event in chunk rejection: Still present!
AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
PostData(1, fListHistCascade);
PostData(2, fCFContCascadePIDXiMinus);
PostData(6, fCFContCascadeCuts);
return;
}
- }
- // - Take the number of cascades and tracks after TPConly selection
- ncascadesForSelEvtNoTPCOnly = lESDevent->GetNumberOfCascades();
- nTrackMultiplicityForSelEvtNoTPCOnly = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
- } else if (fAnalysisType == "AOD") {
- // - Vertex coordinates: get the PVs stored in the AOD found with tracks and SPD
- const AliAODVertex *lPrimarySPDVtx = lAODevent->GetPrimaryVertexSPD();
- const AliAODVertex *lPrimaryTrackingAODVtx = lAODevent->GetPrimaryVertex();
- // - Select only looking at events with well-established PV
- if (fkQualityCutNoTPConlyPrimVtx) {
- if (!lPrimarySPDVtx && !lPrimaryTrackingAODVtx) {
+ // - Take the number of cascades and tracks after TPConly selection
+ ncascadesForSelEvtNoTPCOnly = lESDevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnly = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
+ } else if (fAnalysisType == "AOD") {
+ Bool_t fHasVertex = kFALSE;
+ const AliAODVertex *vertex = lAODevent->GetPrimaryVertex();
+ if (vertex->GetNContributors() < 1) {
+ vertex = lAODevent->GetPrimaryVertexSPD();
+ if (vertex->GetNContributors() < 1) fHasVertex = kFALSE;
+ else fHasVertex = kTRUE;
+ TString vtxTyp = vertex->GetTitle();
+ Double_t cov[6]={0};
+ vertex->GetCovarianceMatrix(cov);
+ Double_t zRes = TMath::Sqrt(cov[5]);
+ if (vtxTyp.Contains("vertexer:Z") && (zRes>0.25)) fHasVertex = kFALSE;
+ }
+ else fHasVertex = kTRUE;
+ if (fHasVertex == kFALSE) { //Is First event in chunk rejection: Still present! //FIXME
AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
PostData(1, fListHistCascade);
PostData(2, fCFContCascadePIDXiMinus);
PostData(5, fCFContCascadePIDOmegaPlus);
PostData(6, fCFContCascadeCuts);
return;
- }
+ }
+ // - Take the number of cascades and tracks after TPConly selection
+ ncascadesForSelEvtNoTPCOnly = lAODevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnly = -100; //FIXME: I can't find the equivalent method for the AOD
}
- // - Take the number of cascades and tracks after TPConly selection
- ncascadesForSelEvtNoTPCOnly = lAODevent->GetNumberOfCascades();
- nTrackMultiplicityForSelEvtNoTPCOnly = -100; //FIXME: I can't find the equivalent method for the AOD
}
// - Fill the plots
fHistCascadeMultiplicityForSelEvtNoTPCOnly->Fill(ncascadesForSelEvtNoTPCOnly);
fHistTrackMultiplicityForSelEvtNoTPCOnly->Fill(nTrackMultiplicityForSelEvtNoTPCOnly);
-
+
+
//----------------
// Pilup selection
//----------------
Int_t ncascadesForSelEvtNoTPCOnlyNoPileup = 0;
Int_t nTrackMultiplicityForSelEvtNoTPCOnlyNoPileup = 0;
// - Selection for ESD and AOD
- if (fAnalysisType == "ESD") {
+ if (fAnalysisType == "ESD" && fCollidingSystem == "pp") {
if (fkQualityCutPileup) {
if(lESDevent->IsPileupFromSPD()){
AliWarning("Pb / Pile-up event ... return!");
// - Take the number of cascades and tracks after Pileup selection
ncascadesForSelEvtNoTPCOnlyNoPileup = lESDevent->GetNumberOfCascades();
nTrackMultiplicityForSelEvtNoTPCOnlyNoPileup = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
- } else if (fAnalysisType == "AOD") {
+ } else if (fAnalysisType == "AOD" && fCollidingSystem == "pp") {
if (fkQualityCutPileup) {
if(lAODevent->IsPileupFromSPD()){
AliWarning("Pb / Pile-up event ... return!");
class AliPhysicsSelection;
class AliCFContainer;
class AliPIDResponse;
+class AliAnalysisUtils;
#include "TString.h"
virtual void Terminate(Option_t *);
void SetAnalysisType (const char* analysisType = "ESD" ) { fAnalysisType = analysisType; }
+ void SetCollidingSystem (const char* collidingSystem = "pp") { fCollidingSystem = collidingSystem; }
void SetRelaunchV0CascVertexers (Bool_t rerunV0CascVertexers = kFALSE ) { fkRerunV0CascVertexers = rerunV0CascVertexers; }
void SetSDDSelection (Bool_t sddOnSelection = kTRUE ) { fkSDDSelectionOn = sddOnSelection; }
void SetQualityCutZprimVtxPos (Bool_t qualityCutZprimVtxPos = kTRUE ) { fkQualityCutZprimVtxPos = qualityCutZprimVtxPos; }
// http://root.cern.ch/download/doc/11InputOutput.pdf, page 14
- TString fAnalysisType; // "ESD" or "AOD" analysis type
- AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition
- AliPIDResponse *fPIDResponse; //! PID response object
+ TString fAnalysisType; // "ESD" or "AOD" analysis type
+ // TString fCollidingSystem; // "pPb" or "pp" colliding system
+ AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition
+ // AliPIDResponse *fPIDResponse; //! PID response object
+ AliAnalysisUtils *fUtils; // analysis utils (for pA vertex selection)
+ TString fCollidingSystem; // "pPb" or "pp" colliding system
+ AliPIDResponse *fPIDResponse; //! PID response object
Bool_t fkRerunV0CascVertexers; // Boolean : kTRUE = relaunch both V0 + Cascade vertexers
Bool_t fkSDDSelectionOn; // Boolena : kTRUE = select events with SDD on
// - cos of PA V0 wrt Xi vertex and not primary vertex
// - distance xi-V0 added in the container
// - AOD analysis developed (January 2012)
-//
-//
-//
-// Adapted to pp 2.76 analysis: D. Colella, domenico.colella@ba.infn.it (Nov. 2012):
+//
+// Adapted to pp 2.76 analysis: D. Colella, domenico.colella@ba.infn.it (Nov. 2012):
// - added new and removed other histograms
// - Physics selection moved here (mainly for normalization in the efficiency calcuation)
// - Centrality selection deleted
// - 3DHisto denominator moved before any event selection for Normalization
// - injected and natural part of MC selection removed
//
-//
+// Adapted to pPb 5.02 TeV analysis: D. Colella, domenico.colella@ba.infn.it (Sep. 2014)
+// - Added the parameter fCollidingSystem, to distingish between pp and pPb procedures
+//
//
//-----------------------------------------------------------------
#include "AliAODEvent.h"
#include "AliAODMCParticle.h"
#include "AliAnalysisTaskCheckPerformanceCascadepp276.h"
+#include "AliAnalysisUtils.h"
using std::cout;
using std::endl;
: AliAnalysisTaskSE(), // <- take care to AliAnalysisTask( empty )
fAnalysisType ("ESD"),
fESDtrackCuts (0),
+ fUtils (0),
+ fCollidingSystem ("pp"),
fPIDResponse (0),
fkRerunV0CascVertexers (0),
fkSDDselectionOn (kTRUE),
: AliAnalysisTaskSE(name),
fAnalysisType ("ESD"),
fESDtrackCuts (0),
+ fUtils (0),
+ fCollidingSystem ("pp"),
fPIDResponse (0),
fkRerunV0CascVertexers (0),
fkSDDselectionOn (kTRUE),
// Define input and output slots here
// Input slot #0 works with a TChain
// Output slot #1 writes into a TList container (cascade)
-
- // PbPb default cuts
- fV0Sels[0] = 33.; // max allowed chi2
- fV0Sels[1] = 0.1; // min allowed impact parameter for the 1st daughter
- fV0Sels[2] = 0.1; // min allowed impact parameter for the 2nd daughter
- fV0Sels[3] = 1.5 ; // max allowed DCA between the daughter tracks
- fV0Sels[4] = 0.9 ; // min allowed cosine of V0's pointing angle
- fV0Sels[5] = 0.2; // min radius of the fiducial volume
- fV0Sels[6] = 200. ; // max radius of the fiducial volume
- fCascSels[0] = 33.; // max allowed chi2
- fCascSels[1] = 0.01; // min allowed V0 impact parameter
- fCascSels[2] = 0.008; // "window" around the Lambda mass
- fCascSels[3] = 0.01; // min allowed bachelor's impact parameter
- fCascSels[4] = 2.0 ; // max allowed DCA between the V0 and the bachelor
- fCascSels[5] = 0.95; // min allowed cosine of the cascade pointing angle
- fCascSels[6] = 0.2 ; // min radius of the fiducial volume
- fCascSels[7] = 100. ; // max radius of the fiducial volume
+ if (fCollidingSystem == "pp") {
+ fV0Sels[0] = 33. ; // max allowed chi2
+ fV0Sels[1] = 0.01; // min allowed impact parameter for the 1st daughter
+ fV0Sels[2] = 0.01; // min allowed impact parameter for the 2nd daughter
+ fV0Sels[3] = 1.5; // max allowed DCA between the daughter tracks
+ fV0Sels[4] = 0.9; // min allowed cosine of V0's pointing angle - This is pT dependent
+ fV0Sels[5] = 0.2; // min radius of the fiducial volume
+ fV0Sels[6] = 200.; // max radius of the fiducial volume
+ fCascSels[0] = 33.; // max allowed chi2 (same as PDC07)
+ fCascSels[1] = 0.01; // min allowed V0 impact parameter
+ fCascSels[2] = 0.008; // "window" around the Lambda mass
+ fCascSels[3] = 0.01; // min allowed bachelor's impact parameter
+ fCascSels[4] = 2.0; // max allowed DCA between the V0 and the bachelor
+ fCascSels[5] = 0.95; // min allowed cosine of the cascade pointing angle
+ fCascSels[6] = 0.2; // min radius of the fiducial volume
+ fCascSels[7] = 100.; // max radius of the fiducial volume
+ } else if (fCollidingSystem == "pPb") {
+ fV0Sels[0] = 33. ; // max allowed chi2
+ fV0Sels[1] = 0.02; // min allowed impact parameter for the 1st daughter (LHC09a4 : 0.05)
+ fV0Sels[2] = 0.02; // min allowed impact parameter for the 2nd daughter (LHC09a4 : 0.05)
+ fV0Sels[3] = 2.0 ; // max allowed DCA between the daughter tracks (LHC09a4 : 0.5)
+ fV0Sels[4] = 0.95; // min allowed cosine of V0's pointing angle (LHC09a4 : 0.99)
+ fV0Sels[5] = 1.0 ; // min radius of the fiducial volume (LHC09a4 : 0.2)
+ fV0Sels[6] = 200. ; // max radius of the fiducial volume (LHC09a4 : 100.0)
+ fCascSels[0] = 33. ; // max allowed chi2 (same as PDC07)
+ fCascSels[1] = 0.05 ; // min allowed V0 impact parameter (PDC07 : 0.05 / LHC09a4 : 0.025 )
+ fCascSels[2] = 0.010; // "window" around the Lambda mass (PDC07 : 0.008 / LHC09a4 : 0.010 )
+ fCascSels[3] = 0.03 ; // min allowed bachelor's impact parameter (PDC07 : 0.035 / LHC09a4 : 0.025 )
+ fCascSels[4] = 2.0 ; // max allowed DCA between the V0 and the bachelor (PDC07 : 0.1 / LHC09a4 : 0.2 )
+ fCascSels[5] = 0.95 ; // min allowed cosine of the cascade pointing angle (PDC07 : 0.9985 / LHC09a4 : 0.998 )
+ fCascSels[6] = 0.4 ; // min radius of the fiducial volume (PDC07 : 0.9 / LHC09a4 : 0.2 )
+ fCascSels[7] = 100. ; // max radius of the fiducial volume (PDC07 : 100 / LHC09a4 : 100 )
+ }
- DefineOutput(1, TList::Class());
- DefineOutput(2, AliCFContainer::Class());
- DefineOutput(3, AliCFContainer::Class());
- DefineOutput(4, AliCFContainer::Class());
- DefineOutput(5, AliCFContainer::Class());
- DefineOutput(6, AliCFContainer::Class());
+ DefineOutput(1, TList::Class());
+ DefineOutput(2, AliCFContainer::Class());
+ DefineOutput(3, AliCFContainer::Class());
+ DefineOutput(4, AliCFContainer::Class());
+ DefineOutput(5, AliCFContainer::Class());
+ DefineOutput(6, AliCFContainer::Class());
}
//____Destructor____
if (! fESDtrackCuts ){
fESDtrackCuts = new AliESDtrackCuts();
}
+ if (! fUtils){
+ fUtils = new AliAnalysisUtils();
+ }
//----------------------
// Initialize the histos
cout << "Name of the file with pb :" << CurrentFileName() << endl;
return;
}
- // - Cascade vertexer (ESD)
- // Relaunch V0 and Cascade vertexer
- if (fkRerunV0CascVertexers) {
- lESDevent->ResetCascades();
- lESDevent->ResetV0s();
- AliV0vertexer *lV0vtxer = new AliV0vertexer();
- AliCascadeVertexer *lCascVtxer = new AliCascadeVertexer();
- //lV0vtxer->GetCuts(fV0Sels);
- //lCascVtxer->GetCuts(fCascSels);
- lV0vtxer->SetCuts(fV0Sels); // NB don't use SetDefaultCuts!! because it acts on static variables
- lCascVtxer->SetCuts(fCascSels);
- lV0vtxer->Tracks2V0vertices(lESDevent);
- lCascVtxer->V0sTracks2CascadeVertices(lESDevent);
- //delete lV0vtxer;
- //delete lCascVtxer;
- //---
- //lESDevent->ResetCascades();
- //lESDevent->ResetV0s();
- //AliV0vertexer lV0vtxer;
- //AliCascadeVertexer lCascVtxer;
- //lV0vtxer.SetCuts(fV0Sels);
- //lCascVtxer.SetCuts(fCascSels);
- //lV0vtxer.Tracks2V0vertices(lESDevent);
- //lCascVtxer.V0sTracks2CascadeVertices(lESDevent);
- }
} else if (fAnalysisType == "AOD") {
lAODevent = dynamic_cast<AliAODEvent*>( InputEvent() );
if (!lAODevent) {
//Multiplicity
Int_t lMultiplicity = -100;
nTrackMultiplicityBeforeAnySel = lMultiplicity;
- ncascadesBeforeAnySel = lAODevent->GetNumberOfCascades();
+ ncascadesBeforeAnySel = lAODevent->GetNumberOfCascades();
}
fHistTrackMultiplicityBeforeAnySel->Fill(nTrackMultiplicityBeforeAnySel);
fHistCascadeMultiplicityBeforeAnySel->Fill(ncascadesBeforeAnySel);
// - Define variables
Int_t ncascadesAfterSDDSel = -1; //number of cascades after SDD selection
Int_t nTrackMultiplicityAfterSDDSel = -1; //number of tracks after SDD selection
- if (fkSDDselectionOn) {
+ if (fkSDDselectionOn && fCollidingSystem == "pp") {
TString trcl = " ";
trcl = lESDevent->GetFiredTriggerClasses();
if (fAnalysisType == "ESD") trcl = lESDevent->GetFiredTriggerClasses();
}
}
-
//--------------------
// - Physics selection
//--------------------
Int_t ncascadesAfterPhysicsSel = -1; //number of cascades after physics selection
Int_t nTrackMultiplicityAfterPhysicsSel = -1; //number of tracks after physics selection
// - Selection for ESD and AOD
+ UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
+ Bool_t isSelected = 0;
+ if (fCollidingSystem == "pp" ) isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
+ else if (fCollidingSystem == "pPb") isSelected = (maskIsSelected & AliVEvent::kINT7) == AliVEvent::kINT7;
+ if(!isSelected){
+ PostData(1, fListHistCascade);
+ PostData(2, fCFContCascadePIDAsXiMinus);
+ PostData(3, fCFContCascadePIDAsXiPlus);
+ PostData(4, fCFContCascadePIDAsOmegaMinus);
+ PostData(5, fCFContCascadePIDAsOmegaPlus);
+ PostData(6, fCFContAsCascadeCuts);
+ return;
+ }
if (fAnalysisType == "ESD") {
- UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
- Bool_t isSelected = 0;
- isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
- if(!isSelected){
- PostData(1, fListHistCascade);
- PostData(2, fCFContCascadePIDAsXiMinus);
- PostData(3, fCFContCascadePIDAsXiPlus);
- PostData(4, fCFContCascadePIDAsOmegaMinus);
- PostData(5, fCFContCascadePIDAsOmegaPlus);
- PostData(6, fCFContAsCascadeCuts);
- return;
- }
// - Take the number of cascades and tracks after physics selection
ncascadesAfterPhysicsSel = lESDevent->GetNumberOfCascades();
nTrackMultiplicityAfterPhysicsSel = fESDtrackCuts->GetReferenceMultiplicity(lESDevent, AliESDtrackCuts::kTrackletsITSTPC, 0.5);
} else if (fAnalysisType == "AOD") {
- UInt_t maskIsSelected = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
- Bool_t isSelected = 0;
- isSelected = (maskIsSelected & AliVEvent::kMB) == AliVEvent::kMB;
- if(!isSelected){
- PostData(1, fListHistCascade);
- PostData(2, fCFContCascadePIDAsXiMinus);
- PostData(3, fCFContCascadePIDAsXiPlus);
- PostData(4, fCFContCascadePIDAsOmegaMinus);
- PostData(5, fCFContCascadePIDAsOmegaPlus);
- PostData(6, fCFContAsCascadeCuts);
- return;
- }
// - Take the number of cascades and tracks after physics selection
ncascadesAfterPhysicsSel = lAODevent->GetNumberOfCascades();
nTrackMultiplicityAfterPhysicsSel = -100;
fHistCascadeMultiplicityAfterPhysicsSel->Fill(ncascadesAfterPhysicsSel);
fHistTrackMultiplicityAfterPhysicsSel->Fill(nTrackMultiplicityAfterPhysicsSel);
+ //------------------------
+ // - Cascade vertexer (ESD)
+ //-------------------------
+ // Relaunch V0 and Cascade vertexer
+ if (fAnalysisType == "ESD" && fkRerunV0CascVertexers) {
+ lESDevent->ResetCascades();
+ lESDevent->ResetV0s();
+ AliV0vertexer *lV0vtxer = new AliV0vertexer();
+ AliCascadeVertexer *lCascVtxer = new AliCascadeVertexer();
+ //lV0vtxer->GetCuts(fV0Sels);
+ //lCascVtxer->GetCuts(fCascSels);
+ lV0vtxer->SetCuts(fV0Sels); // NB don't use SetDefaultCuts!! because it acts on static variables
+ lCascVtxer->SetCuts(fCascSels);
+ lV0vtxer->Tracks2V0vertices(lESDevent);
+ lCascVtxer->V0sTracks2CascadeVertices(lESDevent);
+ //delete lV0vtxer;
+ //delete lCascVtxer;
+ }
+
//-------------------------------------------------------
// Select only looking at events with well-established PV
//-------------------------------------------------------
Int_t ncascadesForSelEvtNoTPCOnly = -1; //number of cascades after the TPConly selection
Int_t nTrackMultiplicityForSelEvtNoTPCOnly = -1; //number of tracks after the TPConly selection
- if (fAnalysisType == "ESD" ) {
- // - Select only looking at events with well-established PV
- if (fkQualityCutNoTPConlyPrimVtx) {
- const AliESDVertex *lPrimarySPDVtx = lESDevent->GetPrimaryVertexSPD();
- const AliESDVertex *lPrimaryTrackingVtx = lESDevent->GetPrimaryVertexTracks();
- if (!lPrimarySPDVtx->GetStatus() && !lPrimaryTrackingVtx->GetStatus() ){
- AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
- PostData(1, fListHistCascade);
- PostData(2, fCFContCascadePIDAsXiMinus);
- PostData(3, fCFContCascadePIDAsXiPlus);
- PostData(4, fCFContCascadePIDAsOmegaMinus);
- PostData(5, fCFContCascadePIDAsOmegaPlus);
- PostData(6, fCFContAsCascadeCuts);
- return;
+ // - Selection for the two colliding systems
+ if (fCollidingSystem == "pp") {
+ if (fAnalysisType == "ESD" ) {
+ // - Select only looking at events with well-established PV
+ if (fkQualityCutNoTPConlyPrimVtx) {
+ const AliESDVertex *lPrimarySPDVtx = lESDevent->GetPrimaryVertexSPD();
+ const AliESDVertex *lPrimaryTrackingVtx = lESDevent->GetPrimaryVertexTracks();
+ if (!lPrimarySPDVtx->GetStatus() && !lPrimaryTrackingVtx->GetStatus() ){
+ AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
+ PostData(1, fListHistCascade);
+ PostData(2, fCFContCascadePIDAsXiMinus);
+ PostData(3, fCFContCascadePIDAsXiPlus);
+ PostData(4, fCFContCascadePIDAsOmegaMinus);
+ PostData(5, fCFContCascadePIDAsOmegaPlus);
+ PostData(6, fCFContAsCascadeCuts);
+ return;
+ }
}
- }
- // - Take the number of cascades and tracks after TPConly selection
- ncascadesForSelEvtNoTPCOnly = lESDevent->GetNumberOfCascades();
- nTrackMultiplicityForSelEvtNoTPCOnly = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
- } else if (fAnalysisType == "AOD") {
- // - Select only looking at events with well-established PV
- if (fkQualityCutNoTPConlyPrimVtx) {
- const AliAODVertex *lPrimarySPDVtx = lAODevent->GetPrimaryVertexSPD();
- const AliAODVertex *lPrimaryTrackingAODVtx = lAODevent->GetPrimaryVertex();
- if (!lPrimarySPDVtx && !lPrimaryTrackingAODVtx) {
- AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
- PostData(1, fListHistCascade);
- PostData(2, fCFContCascadePIDAsXiMinus);
- PostData(3, fCFContCascadePIDAsXiPlus);
- PostData(4, fCFContCascadePIDAsOmegaMinus);
- PostData(5, fCFContCascadePIDAsOmegaPlus);
- PostData(6, fCFContAsCascadeCuts);
- return;
+ // - Take the number of cascades and tracks after TPConly selection
+ ncascadesForSelEvtNoTPCOnly = lESDevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnly = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
+ } else if (fAnalysisType == "AOD") {
+ // - Select only looking at events with well-established PV
+ if (fkQualityCutNoTPConlyPrimVtx) {
+ const AliAODVertex *lPrimarySPDVtx = lAODevent->GetPrimaryVertexSPD();
+ const AliAODVertex *lPrimaryTrackingAODVtx = lAODevent->GetPrimaryVertex();
+ if (!lPrimarySPDVtx && !lPrimaryTrackingAODVtx) {
+ AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
+ PostData(1, fListHistCascade);
+ PostData(2, fCFContCascadePIDAsXiMinus);
+ PostData(3, fCFContCascadePIDAsXiPlus);
+ PostData(4, fCFContCascadePIDAsOmegaMinus);
+ PostData(5, fCFContCascadePIDAsOmegaPlus);
+ PostData(6, fCFContAsCascadeCuts);
+ return;
+ }
}
+ // - Take the number of cascades and tracks after TPConly selection
+ ncascadesForSelEvtNoTPCOnly = lAODevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnly = -100; //FIXME
+ }
+ } else if (fCollidingSystem == "pPb") {
+ if (fAnalysisType == "ESD") {
+ Bool_t fHasVertex = kFALSE;
+ const AliESDVertex *vertex = lESDevent->GetPrimaryVertexTracks();
+ if (vertex->GetNContributors() < 1) {
+ vertex = lESDevent->GetPrimaryVertexSPD();
+ if (vertex->GetNContributors() < 1) fHasVertex = kFALSE;
+ else fHasVertex = kTRUE;
+ TString vtxTyp = vertex->GetTitle();
+ Double_t cov[6]={0};
+ vertex->GetCovarianceMatrix(cov);
+ Double_t zRes = TMath::Sqrt(cov[5]);
+ if (vtxTyp.Contains("vertexer:Z") && (zRes>0.25)) fHasVertex = kFALSE;
+ }
+ else fHasVertex = kTRUE;
+ if (fUtils->IsFirstEventInChunk(lESDevent)) { //Is First event in chunk rejection: Still present!
+ AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
+ PostData(1, fListHistCascade);
+ PostData(2, fCFContCascadePIDAsXiMinus);
+ PostData(3, fCFContCascadePIDAsXiPlus);
+ PostData(4, fCFContCascadePIDAsOmegaMinus);
+ PostData(5, fCFContCascadePIDAsOmegaPlus);
+ PostData(6, fCFContAsCascadeCuts);
+ return;
+ }
+ // - Take the number of cascades and tracks after TPConly selection
+ ncascadesForSelEvtNoTPCOnly = lESDevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnly = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
+ } else if (fAnalysisType == "AOD") {
+ Bool_t fHasVertex = kFALSE;
+ const AliAODVertex *vertex = lAODevent->GetPrimaryVertex();
+ if (vertex->GetNContributors() < 1) {
+ vertex = lAODevent->GetPrimaryVertexSPD();
+ if (vertex->GetNContributors() < 1) fHasVertex = kFALSE;
+ else fHasVertex = kTRUE;
+ TString vtxTyp = vertex->GetTitle();
+ Double_t cov[6]={0};
+ vertex->GetCovarianceMatrix(cov);
+ Double_t zRes = TMath::Sqrt(cov[5]);
+ if (vtxTyp.Contains("vertexer:Z") && (zRes>0.25)) fHasVertex = kFALSE;
+ }
+ else fHasVertex = kTRUE;
+ if (fHasVertex == kFALSE) { //Is First event in chunk rejection: Still present! //FIXME
+ AliWarning("Pb / No SPD prim. vertex nor prim. Tracking vertex ... return !");
+ PostData(1, fListHistCascade);
+ PostData(2, fCFContCascadePIDAsXiMinus);
+ PostData(3, fCFContCascadePIDAsXiPlus);
+ PostData(4, fCFContCascadePIDAsOmegaMinus);
+ PostData(5, fCFContCascadePIDAsOmegaPlus);
+ PostData(6, fCFContAsCascadeCuts);
+ return;
+ }
+ // - Take the number of cascades and tracks after TPConly selection
+ ncascadesForSelEvtNoTPCOnly = lAODevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnly = -100; //FIXME: I can't find the equivalent method for the AOD
}
- // - Take the number of cascades and tracks after TPConly selection
- ncascadesForSelEvtNoTPCOnly = lAODevent->GetNumberOfCascades();
- nTrackMultiplicityForSelEvtNoTPCOnly = -100; //FIXME
}
+ // - Fill the plots
fHistCascadeMultiplicityForSelEvtNoTPCOnly->Fill(ncascadesForSelEvtNoTPCOnly);
fHistTrackMultiplicityForSelEvtNoTPCOnly->Fill(nTrackMultiplicityForSelEvtNoTPCOnly);
//-----------------
Int_t ncascadesForSelEvtNoTPCOnlyNoPileup = -1; //number of cascades after the NoPileup selection
Int_t nTrackMultiplicityForSelEvtNoTPCOnlyNoPileup = -1; //number of tracks after the Pileup selection
- if (fAnalysisType == "ESD" ) {
- // - Selection for pile up
- if (fkRejectEventPileUp) {
+ if (fkRejectEventPileUp && fCollidingSystem == "pp") {
+ if (fAnalysisType == "ESD") {
if(lESDevent->IsPileupFromSPD()){
AliWarning("Pb / Pile-up event ... return!");
PostData(1, fListHistCascade);
PostData(5, fCFContCascadePIDAsOmegaPlus);
PostData(6, fCFContAsCascadeCuts);
return;
- }
- }
- // - Take the number of cascades and tracks after Pileup selection
- ncascadesForSelEvtNoTPCOnlyNoPileup = lESDevent->GetNumberOfCascades();
- nTrackMultiplicityForSelEvtNoTPCOnlyNoPileup = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
- } else if (fAnalysisType == "AOD") {
- // - Selection for pile up
- if (fkRejectEventPileUp) {
+ }
+ } else if (fAnalysisType == "AOD") {
if(lAODevent->IsPileupFromSPD()){
AliWarning("Pb / Pile-up event ... return!");
PostData(1, fListHistCascade);
PostData(5, fCFContCascadePIDAsOmegaPlus);
PostData(6, fCFContAsCascadeCuts);
return;
- }
+ }
}
- // - Take the number of cascades and tracks after Pileup selection
+ }
+ // - Take the number of cascades and tracks after Pileup selection
+ if (fAnalysisType == "ESD") {
+ ncascadesForSelEvtNoTPCOnlyNoPileup = lESDevent->GetNumberOfCascades();
+ nTrackMultiplicityForSelEvtNoTPCOnlyNoPileup = fESDtrackCuts->GetReferenceMultiplicity(lESDevent,AliESDtrackCuts::kTrackletsITSTPC,0.5);
+ } else if (fAnalysisType == "AOD") {
ncascadesForSelEvtNoTPCOnlyNoPileup = lAODevent->GetNumberOfCascades();
nTrackMultiplicityForSelEvtNoTPCOnlyNoPileup = -100;
}
class AliPhysicsSelection;
class AliCFContainer;
class AliPIDResponse;
+class AliAnalysisUtils;
#include "AliAnalysisTaskSE.h"
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *);
- void SetAnalysisType (const char* analysisType = "ESD") { fAnalysisType = analysisType;}
-
- void SetRelaunchV0CascVertexers (Bool_t rerunV0CascVertexers = 0 ) { fkRerunV0CascVertexers = rerunV0CascVertexers; }
- void SetSDDSelection (Bool_t sddOnSelection = kTRUE) { fkSDDselectionOn = sddOnSelection; }
- void SetQualityCutZprimVtxPos (Bool_t qualityCutZprimVtxPos = kTRUE) { fkQualityCutZprimVtxPos = qualityCutZprimVtxPos; }
- void SetRejectEventPileUp (Bool_t rejectPileUp = kTRUE) { fkRejectEventPileUp = rejectPileUp; }
- void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx = qualityCutNoTPConlyPrimVtx;}
- void SetQualityCutTPCrefit (Bool_t qualityCutTPCrefit = kTRUE) { fkQualityCutTPCrefit = qualityCutTPCrefit; }
- void SetQualityCutnTPCcls (Bool_t qualityCutnTPCcls = kTRUE) { fkQualityCutnTPCcls = qualityCutnTPCcls; }
- void SetWithSDDOn (Bool_t withsddOn = kTRUE) { fwithSDD = withsddOn; }
- void SetQualityCutMinnTPCcls (Int_t minnTPCcls = 70 ) { fMinnTPCcls = minnTPCcls; }
- void SetExtraSelections (Bool_t extraSelections = 0 ) { fkExtraSelections = extraSelections; }
- void SetVertexRange (Float_t vtxrange = 0. ) { fVtxRange = vtxrange; }
- void SetVertexRangeMin (Float_t vtxrangemin = 0. ) { fVtxRangeMin = vtxrangemin; }
- void SetApplyAccCut (Bool_t acccut = kFALSE){ fApplyAccCut = acccut; }
- void SetMinptCutOnDaughterTracks (Float_t minptdaughtrks = 0. ) { fMinPtCutOnDaughterTracks = minptdaughtrks; }
- void SetEtaCutOnDaughterTracks (Float_t etadaughtrks = 0. ) { fEtaCutOnDaughterTracks = etadaughtrks; }
+ void SetAnalysisType (const char* analysisType = "ESD") { fAnalysisType = analysisType; }
+ void SetCollidingSystem (const char* collidingSystem = "pp" ) { fCollidingSystem = collidingSystem; }
+ void SetRelaunchV0CascVertexers (Bool_t rerunV0CascVertexers = 0 ) { fkRerunV0CascVertexers = rerunV0CascVertexers; }
+ void SetSDDSelection (Bool_t sddOnSelection = kTRUE) { fkSDDselectionOn = sddOnSelection; }
+ void SetQualityCutZprimVtxPos (Bool_t qualityCutZprimVtxPos = kTRUE) { fkQualityCutZprimVtxPos = qualityCutZprimVtxPos; }
+ void SetRejectEventPileUp (Bool_t rejectPileUp = kTRUE) { fkRejectEventPileUp = rejectPileUp; }
+ void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx = qualityCutNoTPConlyPrimVtx; }
+ void SetQualityCutTPCrefit (Bool_t qualityCutTPCrefit = kTRUE) { fkQualityCutTPCrefit = qualityCutTPCrefit; }
+ void SetQualityCutnTPCcls (Bool_t qualityCutnTPCcls = kTRUE) { fkQualityCutnTPCcls = qualityCutnTPCcls; }
+ void SetWithSDDOn (Bool_t withsddOn = kTRUE) { fwithSDD = withsddOn; }
+ void SetQualityCutMinnTPCcls (Int_t minnTPCcls = 70 ) { fMinnTPCcls = minnTPCcls; }
+ void SetExtraSelections (Bool_t extraSelections = 0 ) { fkExtraSelections = extraSelections; }
+ void SetVertexRange (Float_t vtxrange = 0. ) { fVtxRange = vtxrange; }
+ void SetVertexRangeMin (Float_t vtxrangemin = 0. ) { fVtxRangeMin = vtxrangemin; }
+ void SetApplyAccCut (Bool_t acccut = kFALSE){ fApplyAccCut = acccut; }
+ void SetMinptCutOnDaughterTracks (Float_t minptdaughtrks = 0. ) { fMinPtCutOnDaughterTracks = minptdaughtrks; }
+ void SetEtaCutOnDaughterTracks (Float_t etadaughtrks = 0. ) { fEtaCutOnDaughterTracks = etadaughtrks; }
private:
// Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
TString fAnalysisType; // "ESD" or "AOD" analysis type
AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition
- //TPaveText *fPaveTextBookKeeping; // TString to store all the relevant info necessary for book keeping (v0 cuts, cascade cuts, quality cuts, ...)
+ AliAnalysisUtils *fUtils;
+ TString fCollidingSystem; // "pPb" or "pp" colliding system
+ // AliESDtrackCuts *fESDtrackCuts; // ESD track cuts used for primary track definition
AliPIDResponse *fPIDResponse; //! PID response object
+ // AliAnalysisUtils *fUtils;
Bool_t fkRerunV0CascVertexers; // Boolean : kTRUE = relaunch both V0 + Cascade vertexers
Bool_t fkSDDselectionOn; // Boolean : kTRUE = enable the selection based on the SDD status
Double_t fV0Sels[7]; // Array to store the 7 values for the different selections V0 related (if fkRerunV0CascVertexers)
Double_t fCascSels[8]; // Array to store the 8 values for the different selections Casc. related (if fkRerunV0CascVertexers)
- TList *fListHistCascade; //! List of Cascade histograms
+ TList *fListHistCascade; //! List of Cascade histograms
// - General Plots
// Cascade multiplicity plots
TH1F *fHistCascadeMultiplicityBeforeAnySel;
-AliAnalysisTaskCheckCascadepp276 *AddTaskCheckCascadepp276( Int_t minnTPCcls = 70,
+AliAnalysisTaskCheckCascadepp276 *AddTaskCheckCascadepp276( TString collidingSystem = "pp",
+ Int_t minnTPCcls = 70,
Float_t vtxlim = 10.0,
Float_t vtxlimmin = 0.0,
Bool_t fwithsdd = kFALSE,
// Create and configure the task
//==============================================================================
TString taskname = Form("TaskCheckCascadepp276_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
- if(fwithsdd) {
+ if(fwithsdd && collidingSystem == "pp") {
if (ksddonselection) taskname += "_wSDDon";
else if (!ksddonselection) taskname += "_wSDDoff";
- } else if (!fwithsdd) taskname += "_woSDD";
+ } else if (!fwithsdd && collidingSystem == "pp") {
+ taskname += "_woSDD";
+ }
AliAnalysisTaskCheckCascadepp276 *taskcheckcascadepp276 = new AliAnalysisTaskCheckCascadepp276(taskname);
taskcheckcascadepp276->SetAnalysisType (type); // "ESD" or "AOD"
+ taskcheckcascadepp276->SetCollidingSystem (collidingSystem); // choose the collidiond system to run on: "pp" and "pPb"
taskcheckcascadepp276->SetRelaunchV0CascVertexers (krelaunchvertexers); // choose if reconstruct the vertex of V0 in the cascades
taskcheckcascadepp276->SetSDDSelection (fwithsdd); // choose if apply SDD event selection
taskcheckcascadepp276->SetQualityCutZprimVtxPos (kTRUE); // choose if apply Z vtx PV position event selection
outputname3 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
outputname4 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
outputname5 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
- if(fwithsdd) {
+ if(fwithsdd && collidingSystem == "pp") {
if (ksddonselection) {
outputname0 += "_wSDDon";
outputname1 += "_wSDDon";
outputname3 += "_wSDDon";
outputname4 += "_wSDDon";
outputname5 += "_wSDDon";
- } else if (!ksddonselection) {
+ } else if (!ksddonselection && collidingSystem == "pp") {
outputname0 += "_wSDDoff";
outputname1 += "_wSDDoff";
outputname2 += "_wSDDoff";
outputname4 += "_wSDDoff";
outputname5 += "_wSDDoff";
}
- } else if (!fwithsdd) {
+ } else if (!fwithsdd && collidingSystem == "pp") {
outputname0 += "_woSDD";
outputname1 += "_woSDD";
outputname2 += "_woSDD";
//Save objects into the train common file
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(outputname0,
- TList::Class(),
- AliAnalysisManager::kOutputContainer,
- outputFileName );
+ TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ outputFileName );
AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(outputname1,
AliCFContainer::Class(),
AliAnalysisManager::kOutputContainer,
-AliAnalysisTaskCheckPerformanceCascadepp276 *AddTaskCheckPerformanceCascadepp276( Int_t minnTPCcls = 70,
+AliAnalysisTaskCheckPerformanceCascadepp276 *AddTaskCheckPerformanceCascadepp276( TString collidingSystem = "pp",
+ Int_t minnTPCcls = 70,
Float_t vtxlim = 10.,
Float_t vtxlimmin = 0.,
Bool_t fwithsdd = kFALSE,
tasknameperf += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
AliAnalysisTaskCheckPerformanceCascadepp276 *taskCheckPerfCascadepp276 = new AliAnalysisTaskCheckPerformanceCascadepp276(tasknameperf);
taskCheckPerfCascadepp276->SetAnalysisType (type); // "ESD" or "AOD"
+ taskCheckPerfCascadepp276->SetCollidingSystem (collidingSystem); // choose the collidiond system to run on: "pp" and "pPb"
taskCheckPerfCascadepp276->SetRelaunchV0CascVertexers (krelaunchvertexers); // choose if reconstruct the vertex of V0 in the cascades
taskCheckPerfCascadepp276->SetSDDSelection (fwithsdd); // choose if apply SDD event selection
taskCheckPerfCascadepp276->SetQualityCutZprimVtxPos (kTRUE); // choose if apply Z vtx PV position event selection
static Float_t lMin = 0.0; // Limits in the histo for fidutial volume
static Float_t lMax = 100.; // Limits in the fidutial volume
-//static Int_t nMaxEvMix = 250;
+static Int_t nMaxEvMix = 250;
//
//
Bool_t AliAnalysisTaskLambdaOverK0sJets::AcceptTrack(const AliAODTrack *t)
{
// Track criteria for primaries particles
- if(fTriggerFB!=128 && fTriggerFB!=272) return kFALSE;
+ //if(fTriggerFB!=128 && fTriggerFB!=272) return kFALSE;
if (TMath::Abs(t->Eta())>0.8 ) return kFALSE;
//if (!(t->TestFilterMask(1<<7))) return kFALSE;
} // End loop over trigger particles
-
+
//-------------------------------------------------------------
// Mixing
//-------------------------------------------------------------
- /*
- Double_t phiTrigME=0, etaTrigME=0, phiAssocME=0, etaAssocME=0;
- Double_t deltaPhi=0, deltaEta=0;
+
+ Double_t phiTrigME=0, etaTrigME=0, phiAssocME=0, etaAssocME=0;
+ Double_t deltaPhi=0, deltaEta=0;
- TList *evMixList = fMEList[curCentBin*kNVtxZ+curVtxBin];
- Int_t nMixed = evMixList->GetSize();
+ TList *evMixList = fMEList[curCentBin*kNVtxZ+curVtxBin];
+ Int_t nMixed = evMixList->GetSize();
- if( nMixed>0 && fAssocParticles->GetEntriesFast() >= 0 ){
+ if( nMixed>0 && fAssocParticles->GetEntriesFast() >= 0 ){
for(Int_t ii=0; ii<nMixed; ii++){
- AliMiniParticle* trackTriggerME = (AliMiniParticle*) (evMixList->At(ii));
- phiTrigME = trackTriggerME->Phi();
- etaTrigME = trackTriggerME->Eta();
-
- // --- V0 associated particles
- for(Int_t j=0; j<fAssocParticles->GetEntriesFast(); j++){
+ AliMiniParticle* trackTriggerME = (AliMiniParticle*) (evMixList->At(ii));
+ phiTrigME = trackTriggerME->Phi();
+ etaTrigME = trackTriggerME->Eta();
+
+ // --- V0 associated particles
+ for(Int_t j=0; j<fAssocParticles->GetEntriesFast(); j++){
- AliMiniParticle* trackAssocME = (AliMiniParticle*) (fAssocParticles->At(j));
- if( CentBin(trackTriggerME->Centrality()) != CentBin(trackAssocME->Centrality()) ) continue;
- if( VtxBin(trackTriggerME->VtxZ()) != VtxBin(trackAssocME->VtxZ()) ) continue;
- if( trackAssocME->WhichCandidate() == 2 ) continue;
+ AliMiniParticle* trackAssocME = (AliMiniParticle*) (fAssocParticles->At(j));
+ if( CentBin(trackTriggerME->Centrality()) != CentBin(trackAssocME->Centrality()) ) continue;
+ if( VtxBin(trackTriggerME->VtxZ()) != VtxBin(trackAssocME->VtxZ()) ) continue;
+ if( trackAssocME->WhichCandidate() == 2 ) continue;
- AliAODv0 *tAssoc=fAOD->GetV0(trackAssocME->ID());
- pt = tAssoc->Pt();
+ AliAODv0 *tAssoc=fAOD->GetV0(trackAssocME->ID());
+ const AliAODTrack *ntrack=(AliAODTrack *)tAssoc->GetDaughter(1);
+ const AliAODTrack *ptrack=(AliAODTrack *)tAssoc->GetDaughter(0);
- Bool_t IsSelected = kFALSE;
- // K0s
- if( trackAssocME->WhichCandidate() == 3 ){
- massK0s = tAssoc->MassK0Short();
- mK0s = TDatabasePDG::Instance()->GetParticle(kK0Short)->Mass();
- if( fCollision.Contains("PbPb2010") )
- sK0s = kCteK0s2010[curCentBin] + kLinearK0s2010[curCentBin]*pt;
- else if( fCollision.Contains("PbPb2011") )
- sK0s = kCteK0s2011[curCentBin] + kLinearK0s2011[curCentBin]*pt;
-
- if (TMath::Abs(mK0s-massK0s) < 3*sK0s) IsSelected = kTRUE;
- }
- // Lambda
- if( trackAssocME->WhichCandidate() == 4 ){
- massL = tAssoc->MassLambda();
- mL = TDatabasePDG::Instance()->GetParticle(kLambda0)->Mass();
- if( fCollision.Contains("PbPb2010") )
- sL = kCteLambda2010[curCentBin] + kLinearLambda2010[curCentBin]*pt;
- else if( fCollision.Contains("PbPb2011") )
- sL = kCteLambda2011[curCentBin] + kLinearLambda2011[curCentBin]*pt;
+ // Fraction of TPC Shared Cluster
+ fracPosDaugTPCSharedMap=0; fracNegDaugTPCSharedMap=0;
+ fracPosDaugTPCSharedMap = GetFractionTPCSharedCls(ptrack);
+ fracNegDaugTPCSharedMap = GetFractionTPCSharedCls(ntrack);
- if (TMath::Abs(mL-massL) < 3*sL) IsSelected = kTRUE;
- }
- // AntiLambda
- if( trackAssocME->WhichCandidate() == 5 ){
- massAL = tAssoc->MassAntiLambda();
- mL = TDatabasePDG::Instance()->GetParticle(kLambda0)->Mass();
- if( fCollision.Contains("PbPb2010") )
- sL = kCteAntiLambda2010[curCentBin] + kLinearAntiLambda2010[curCentBin]*pt;
- else if( fCollision.Contains("PbPb2011") )
- sL = kCteAntiLambda2011[curCentBin] + kLinearAntiLambda2011[curCentBin]*pt;
+ if( (fracPosDaugTPCSharedMap > fFracTPCcls) || (fracNegDaugTPCSharedMap > fFracTPCcls) )
+ continue;
+
+ pt = tAssoc->Pt();
+
+ Bool_t IsSelected = kFALSE;
+ // K0s
+ if( trackAssocME->WhichCandidate() == 3 ){
+ massK0s = tAssoc->MassK0Short();
+ mK0s = TDatabasePDG::Instance()->GetParticle(kK0Short)->Mass();
+ if( fCollision.Contains("PbPb2010") )
+ sK0s = kCteK0s2010[curCentBin] + kLinearK0s2010[curCentBin]*pt;
+ else if( fCollision.Contains("PbPb2011") )
+ sK0s = kCteK0s2011[curCentBin] + kLinearK0s2011[curCentBin]*pt;
- if (TMath::Abs(mL-massAL) < 3*sL) IsSelected = kTRUE;
- }
+ if (TMath::Abs(mK0s-massK0s) < 3*sK0s) IsSelected = kTRUE;
+ }
+ // Lambda
+ if( trackAssocME->WhichCandidate() == 4 ){
+ massL = tAssoc->MassLambda();
+ mL = TDatabasePDG::Instance()->GetParticle(kLambda0)->Mass();
+ if( fCollision.Contains("PbPb2010") )
+ sL = kCteLambda2010[curCentBin] + kLinearLambda2010[curCentBin]*pt;
+ else if( fCollision.Contains("PbPb2011") )
+ sL = kCteLambda2011[curCentBin] + kLinearLambda2011[curCentBin]*pt;
+
+ if (TMath::Abs(mL-massL) < 3*sL) IsSelected = kTRUE;
+ }
+ // AntiLambda
+ if( trackAssocME->WhichCandidate() == 5 ){
+ massAL = tAssoc->MassAntiLambda();
+ mL = TDatabasePDG::Instance()->GetParticle(kLambda0)->Mass();
+ if( fCollision.Contains("PbPb2010") )
+ sL = kCteAntiLambda2010[curCentBin] + kLinearAntiLambda2010[curCentBin]*pt;
+ else if( fCollision.Contains("PbPb2011") )
+ sL = kCteAntiLambda2011[curCentBin] + kLinearAntiLambda2011[curCentBin]*pt;
+
+ if (TMath::Abs(mL-massAL) < 3*sL) IsSelected = kTRUE;
+ }
- if(!IsSelected) continue;
+ if(!IsSelected) continue;
- phiAssocME = trackAssocME->Phi();
- etaAssocME = trackAssocME->Eta();
+ phiAssocME = trackAssocME->Phi();
+ etaAssocME = trackAssocME->Eta();
- deltaPhi = dPHI(phiTrigME,phiAssocME);
- deltaEta = etaTrigME - etaAssocME;
+ deltaPhi = dPHI(phiTrigME,phiAssocME);
+ deltaEta = etaTrigME - etaAssocME;
- Int_t binPtv0 = PtBin( trackAssocME->Pt() );
- if(binPtv0==-1) continue;
+ Int_t binPtv0 = PtBin( trackAssocME->Pt() );
+ if(binPtv0==-1) continue;
- if( trackAssocME->WhichCandidate() == 3 ) {
- fK0sdPhidEtaME[curCentBin*kN1*kNVtxZ + binPtv0*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta);}
- else if( trackAssocME->WhichCandidate() == 4 )
- fLambdadPhidEtaME[curCentBin*kN1*kNVtxZ + binPtv0*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta);
- else if( trackAssocME->WhichCandidate() == 5 )
- fAntiLambdadPhidEtaME[curCentBin*kN1*kNVtxZ + binPtv0*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta);
+ if( trackAssocME->WhichCandidate() == 3 ) {
+ fK0sdPhidEtaME[curCentBin*kN1*kNVtxZ + binPtv0*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta);}
+ else if( trackAssocME->WhichCandidate() == 4 )
+ fLambdadPhidEtaME[curCentBin*kN1*kNVtxZ + binPtv0*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta);
+ else if( trackAssocME->WhichCandidate() == 5 )
+ fAntiLambdadPhidEtaME[curCentBin*kN1*kNVtxZ + binPtv0*kNVtxZ + curVtxBin]->Fill(deltaPhi,deltaEta);
- } // End loop over V0's
+ } // End loop over V0's
}
- }
- */
+ }
+
//--------------------------------------------------------
//Add the current event to the list of events for mixing
//--------------------------------------------------------
- /*
+
//Add current event to buffer and Remove redundant events
if(fTriggerParticles->GetEntriesFast()>=0){
- for(Int_t ii=0; ii<(fTriggerParticles->GetEntriesFast()); ii++){
- AliMiniParticle* trkTrig = (AliMiniParticle*) fTriggerParticles->At(ii);
- //cout << trkTrig->Pt() << " " << ii << endl;
+ for(Int_t ii=0; ii<(fTriggerParticles->GetEntriesFast()); ii++){
+ AliMiniParticle* trkTrig = (AliMiniParticle*) fTriggerParticles->At(ii);
+ //cout << trkTrig->Pt() << " " << ii << endl;
- if(evMixList->GetSize() < nMaxEvMix)
- evMixList->AddFirst(trkTrig);
- / *
- if(evMixList->GetSize() >= nMaxEvMix) {
- AliMiniParticle *tmp = (AliMiniParticle*) (evMixList->Last()) ;
- evMixList->RemoveLast();
- delete tmp;
- }
- * /
+ // Fraction of TPC Shared Cluster
+ const AliAODTrack *tTrig = (AliAODTrack*)fAOD->GetTrack(trkTrig->ID());
+ fracTrigTPCSharedMap = GetFractionTPCSharedCls(tTrig);
+ if( (fracTrigTPCSharedMap > fFracTPCcls) ) continue;
+
+ if(evMixList->GetSize() < nMaxEvMix)
+ evMixList->AddFirst(trkTrig);
+ /*
+ if(evMixList->GetSize() >= nMaxEvMix) {
+ AliMiniParticle *tmp = (AliMiniParticle*) (evMixList->Last()) ;
+ evMixList->RemoveLast();
+ delete tmp;
+ }
+ */
- }// End loop over fTriggerParticles
+ }// End loop over fTriggerParticles
}// End adding trigger particles to buffers
- */
+
}
//___________________________________________________________________________________________
#!/bin/bash
# example local use (files will be downloaded from alien)
-#./mergeMakeOCDB.byComponent.sh /alice/data/2012/LHC12g/000188362/cpass0/ 188362 local://./OCDB local:///cvmfs/alice.gsi.de/alice/data/2011/OCDB/ 0 30
+#./mergeMakeOCDB.byComponent.sh /alice/data/2012/LHC12g/000188362/cpass0/ 188362 local://./OCDB defaultOCDB=local:///cvmfs/alice.gsi.de/alice/data/2011/OCDB/ fileAccessMethod=tfilecp numberOfFilesInAbunch=30
#
# on ALIEN just do:
# $1 = directory where to perform the find
main()
{
+ save_args=("$@")
if [[ $# -eq 0 ]]; then
echo arguments:
echo " 1 - directory on which to look for the files to be merged or local file list"
#################################################################
echo "" | tee -a merge.log
- echo $0" $*" | tee -a merge.log
+ echo "$0 ${save_args[*]}" | tee -a merge.log
echo "" | tee -a merge.log
echo "***********************" | tee -a merge.log
echo mergeMakeOCDB.byComponent.sh started | tee -a merge.log
echo "taking the default scripts from $ALICE_ROOT"
}
+#these functions encode strings to and from a space-less form
+#use when spaces are not well handled (e.g. in arguments to
+#commands in makeflow files, etc.
+encSpaces()(echo "${1// /@@@@}")
+decSpaces()(echo "${1//@@@@/ }")
+
main "$@"
#!/bin/bash
# example local use (files will be downloaded from alien)
-#./mergeMakeOCDB.byComponent.sh /alice/data/2012/LHC12g/000188362/cpass0/ 188362 local://./OCDB local:///cvmfs/alice.gsi.de/alice/data/2011/OCDB/ 0 30
+#./mergeMakeOCDB.byComponent.sh /alice/data/2012/LHC12g/000188362/cpass0/ 188362 local://./OCDB defaultOCDB=local:///cvmfs/alice.gsi.de/alice/data/2011/OCDB/ fileAccessMethod=tfilecp numberOfFilesInAbunch=30
#
# on ALIEN just do:
# $1 = directory where to perform the find
main()
{
+ save_args=("$@")
if [[ $# -eq 0 ]]; then
echo arguments:
echo " 1 - directory on which to look for the files to be merged or local file list"
#################################################################
echo "" | tee -a merge.log
- echo $0" $*" | tee -a merge.log
+ echo "$0 ${save_args[*]}" | tee -a merge.log
echo "" | tee -a merge.log
echo "***********************" | tee -a merge.log
echo mergeMakeOCDB.byComponent.sh started | tee -a merge.log
echo "taking the default scripts from $ALICE_ROOT"
}
+#these functions encode strings to and from a space-less form
+#use when spaces are not well handled (e.g. in arguments to
+#commands in makeflow files, etc.
+encSpaces()(echo "${1// /@@@@}")
+decSpaces()(echo "${1//@@@@/ }")
+
main "$@"
--- /dev/null
+# QA processing for the FMD
+#
+# it defines two functions: runLevelQA and periodLevelQA
+#
+#available variables:
+# $dataType e.g. data or sim
+# $year e.g. 2011
+# $period e.g. LHC13g
+# $runNumber e.g. 169123
+# $pass e.g. cpass1,pass1,passMC
+
+fwd=${ALICE_ROOT}/PWGLF/FORWARD/analysis2
+
+runLevelQA()
+{
+
+ #full path of QAresults.root is provided
+
+ # 1: file
+ # 2: data type
+ # 3: year
+ # 4: period
+ # 5: pass
+ # 6: run
+ aliroot -l -b -q ${fwd}/qa/RunQA.C\(\"$1\",\"$2\",$3,\"$4\",\"$5\",$6\)
+}
+
+periodLevelQA()
+
+{
+
+ #path of the merged period trending.root is provided
+
+ # 1: file
+ # 2: data type
+ # 3: year
+ # 4: period
+ # 5: pass
+ aliroot -l -b -q ${fwd}/qa/PeriodQA.C\(\"$1\",\"\",0,\"\",\"\"\)
+
+ (cd ${outputDir} && \
+ pwd && \
+ if test -d FMD ; then cd FMD ; fi ; \
+ ${fwd}/qa/makeIndex.sh -t "QA for the FMD" -d "QA" -m 5 \
+ -o index.html -l ; \
+ cp ${fwd}/qa/style.css . ; \
+ cp ${fwd}/qa/script.js . ; \
+ cp ${fwd}/qa/fmd_favicon.png . ; \
+ cp ${fwd}/qa/fmd_logo.png . ; \
+ )
+}
+#
+# EOF
+#
+
return
fi
+ #be nice and allow group members access as well (002 will create dirs with 775 and files with 664)
+ umask 0002
+
# try to load the config file
#[[ ! -f $1 ]] && echo "config file $1 not found, exiting..." | tee -a $logFile && exit 1
if ! parseConfig "$@"; then return 1; fi
echo ""|tee -a $logFile
echo log: $logFile
- #be nice and allow group members access as well (002 will create dirs with 775 and files with 664)
- umask 0002
-
#lock
lockFile=$logOutputPath/runningNow.lock
[[ -f $lockFile && ${allowConcurrent} -ne 1 ]] && echo "locked. Another process running? ($lockFile)" | tee -a $logFile && exit 1
#profilingCommand="valgrind --tool=callgrind --num-callers=40 -v --trace-children=yes"
#nEventsProfiling=5
+#copy input data to current dir instead of linking
+#copyInputData=0
# Never log to final destination: copy log file at the end instead
logToFinalDestination=1
+
+# Copy input files into each job's workspace instead of symlinking: needed if
+# we are accessing files on a non-mounted filesystem (e.g. root://...)
+copyInputData=1
+
+# Tell xrdcp where to find the proxy and valid CAs
+export X509_CERT_DIR='/cvmfs/grid.cern.ch/etc/grid-security/certificates'
+export X509_USER_PROXY='/etc/eos-proxy'
#runCPassX/C expects the raw chunk to be linked in the run dir
#despite it being accessed by the full path
- ln -s ${infile} ${runpath}/${chunkName}
+ if [[ $copyInputData == 0 ]]; then
+ ln -s ${infile} ${runpath}/${chunkName}
+ else
+ copyFileToLocal ${infile} ${runpath}/${chunkName}
+ fi
#####MC
if [[ -n ${generateMC} ]]; then
fi
######
- if [[ ! -f ${inputList} && -z ${pretend} ]]; then
+ if [[ "${inputList}" == "${inputList%%://*}" && ! -f "${inputList}" && -z ${pretend} ]]; then
touch ${doneFileTmp}
echo "input file ${inputList} not found, exiting..." >> ${doneFileTmp}
cp "$doneFileTmp" "$doneFile" || rm -f "$doneFileTmp" "$doneFile"
fi
#run CPass0
- echo "${runpath}/runCPass0.sh ${infile} ${nEvents} ${runNumber} ${ocdbPath} ${recoTriggerOptions}"
+ echo "${runpath}/runCPass0.sh /${infile} ${nEvents} ${runNumber} ${ocdbPath} ${recoTriggerOptions}"
if [[ -n ${pretend} ]]; then
sleep ${pretendDelay}
touch AliESDs.root
touch rec.log
touch calib.log
else
- echo ./runCPass0.sh "${infile}" "${nEvents}" "${runNumber}" "${ocdbPath}" "${recoTriggerOptions}"
- ./runCPass0.sh "${infile}" "${nEvents}" "${runNumber}" "${ocdbPath}" "${recoTriggerOptions}"
+ #caveat: in the local case, first arg must start with a slash
+ ./runCPass0.sh "/${infile}" "${nEvents}" "${runNumber}" "${ocdbPath}" "${recoTriggerOptions}"
fi
#move stuff to final destination
#Packages= ;OutputDir= ;LPMPass= ;TriggerAlias= ;LPMRunNumber= ;LPMProductionType= ;LPMInteractionType= ;LPMProductionTag= ;LPMAnchorRun= ;LPMAnchorProduction= ;LPMAnchorYear=
export PRODUCTION_METADATA="OutputDir=cpass1"
- if [[ ! -f ${inputList} && -z ${pretend} ]]; then
+ if [[ "${inputList}" == "${inputList%%://*}" && ! -f "${inputList}" && -z ${pretend} ]]; then
touch ${doneFileTmp}
echo "input file ${inputList} not found, exiting..." >> ${doneFileTmp}
cp "$doneFileTmp" "$doneFile" || rm -f "$doneFileTmp" "$doneFile"
fi
#this is needed for runCPass1.sh
- ln -s ${infile} ${runpath}/${chunkName}
+ if [[ $copyInputData == 0 ]]; then
+ ln -s ${infile} ${runpath}/${chunkName}
+ else
+ copyFileToLocal ${infile} ${runpath}/${chunkName}
+ fi
logOutputDir=${runpath}
[[ -n ${logToFinalDestination} ]] && logOutputDir=${outputDir}
#run CPass1
chmod u+x runCPass1.sh
- echo "${runpath}/runCPass1.sh ${infile} ${nEvents} ${runNumber} ${ocdbPath} ${recoTriggerOptions}"
+ echo "${runpath}/runCPass1.sh /${infile} ${nEvents} ${runNumber} ${ocdbPath} ${recoTriggerOptions}"
if [[ -n ${pretend} ]]; then
sleep ${pretendDelay}
touch AliESDs_Barrel.root
touch qa.log
touch filtering.log FilterEvents_Trees.root
else
- ./runCPass1.sh "${infile}" "${nEvents}" "${runNumber}" "${ocdbPath}" "${recoTriggerOptions}"
+ #caveat: in the local case, first arg must start with a slash
+ ./runCPass1.sh "/${infile}" "${nEvents}" "${runNumber}" "${ocdbPath}" "${recoTriggerOptions}"
[[ ! -f AliESDs_Barrel.root && -f Barrel/AliESDs.root ]] && mv Barrel/AliESDs.root AliESDs_Barrel.root
[[ ! -f AliESDfriends_Barrel.root && -f Barrel/AliESDfriends.root ]] && mv Barrel/AliESDfriends.root AliESDfriends_Barrel.root
/bin/ls -1 ${outputDir}/*/AliESDfriends_v1.root 2>/dev/null > ${calibrationFilesToMerge}
fi
- echo "${mergingScript} ${calibrationFilesToMerge} ${runNumber} local://./OCDB ${ocdbStorage}"
+ echo "${mergingScript} ${calibrationFilesToMerge} ${runNumber} local://./OCDB defaultOCDB=${ocdbStorage} fileAccessMethod=nocopy"
if [[ -n ${pretend} ]]; then
sleep ${pretendDelay}
touch CalibObjects.root
echo "some calibration" >> ./OCDB/TPC/Calib/TimeGain/someCalibObject_0-999999_cpass0.root
echo "some calibration" >> ./OCDB/TPC/Calib/TimeDrift/otherCalibObject_0-999999_cpass0.root
else
- ./${mergingScript} ${calibrationFilesToMerge} ${runNumber} "local://./OCDB" ${ocdbStorage} >> "mergeMakeOCDB.log"
+ ./${mergingScript} ${calibrationFilesToMerge} ${runNumber} "local://./OCDB" defaultOCDB=${ocdbStorage} fileAccessMethod=nocopy >> "mergeMakeOCDB.log"
#produce the calib trees for expert QA (dcsTime.root)
goMakeLocalOCDBaccessConfig ./OCDB
echo "/bin/ls -1 ${outputDir}/*/QAresults*.root | while read x; do echo ${x%/*}; done | sort | uniq > ${qaFilesToMerge}"
/bin/ls -1 ${outputDir}/*/QAresults*.root | while read x; do echo ${x%/*}; done | sort | uniq > ${qaFilesToMerge}
fi
-
- echo "${mergingScript} ${calibrationFilesToMerge} ${runNumber} local://./OCDB ${ocdbStorage}"
+
+ echo "${mergingScript} ${calibrationFilesToMerge} ${runNumber} local://./OCDB defaultOCDB=${ocdbStorage} fileAccessMethod=nocopy"
if [[ -n ${pretend} ]]; then
sleep ${pretendDelay}
touch ocdb.log
touch ${qaMergedOutputFileName}
mkdir -p OCDB
else
- ./${mergingScript} ${calibrationFilesToMerge} ${runNumber} "local://./OCDB" ${ocdbStorage}
+ ./${mergingScript} ${calibrationFilesToMerge} ${runNumber} "local://./OCDB" defaultOCDB=${ocdbStorage} fileAccessMethod=nocopy
#merge QA (and filtered trees)
[[ -n ${AliAnalysisTaskFilteredTree_fLowPtTrackDownscaligF} ]] && export AliAnalysisTaskFilteredTree_fLowPtTrackDownscaligF
#if which greadlink; then self=$(greadlink -f "${0}"); fi
#for reference copy the setup to the output dir
- cp ${self} ${commonOutputPath}
- cp ${configFile} ${commonOutputPath}
- cp ${inputFileList} ${commonOutputPath}
+ paranoidCp ${self} ${commonOutputPath}
+ paranoidCp ${configFile} ${commonOutputPath}
+ paranoidCp ${inputFileList} ${commonOutputPath}
#submit - use makeflow if available, fall back to old stuff when makeflow not there
if which makeflow; then
# will appear in the submission dir.
#some defaults:
log="summary.log"
+ jsonLog="summary.json"
productionID="qa"
configFile=${1}
#record the working directory provided by the batch system
batchWorkingDirectory=${PWD}
- logTmp=${batchWorkingDirectory}/${log}
- logDest=${commonOutputPath}/${log}
+ logTmp="${batchWorkingDirectory}/${log}"
+ jsonLogTmp="${batchWorkingDirectory}/${jsonLog}"
[[ -f ${alirootSource} && -z ${ALICE_ROOT} ]] && source ${alirootSource}
[[ -z ${commonOutputPath} ]] && commonOutputPath=${PWD}
#copy some useful stuff
- #and go to the commonOutputPath
- cp ${configFile} ${commonOutputPath}
+ [ -f "${commonOutputPath}/${configFile}" ] || paranoidCp "${configFile}" "${commonOutputPath}"
exec &> >(tee ${logTmp})
stackTraceTree ${commonOutputPath}/*/*/000*/cpass0/*/stacktrace* > stacktrace_cpass0.tree
stackTraceTree ${commonOutputPath}/*/*/000*/cpass1/*/stacktrace* > stacktrace_cpass1.tree
+ # json header: open array of objects
+ echo '[' > "${jsonLogTmp}"
+
echo total numbers for the production:
echo
awk 'BEGIN {nFiles=0;nCore=0;}
statusQA=$(awk '/mergeMakeOCDB.log/ {print $2}' ${x/cpass0/cpass1} 2>/dev/null)
printf "%s\t ocdb.log cpass0: %s\t ocdb.log cpass1: %s\tqa.log:%s\t| cpass0: rec:%s/%s stderr:%s/%s calib:%s/%s cpass1: rec:%s/%s stderr:%s/%s calib:%s/%s QAbarrel:%s/%s QAouter:%s/%s\n" ${runNumber} ${statusOCDBcpass0} ${statusOCDBcpass1} ${statusQA} ${statusCPass0[0]} ${statusCPass0[1]} ${statusCPass0[2]} ${statusCPass0[3]} ${statusCPass0[4]} ${statusCPass0[5]} ${statusCPass1[0]} ${statusCPass1[1]} ${statusCPass1[2]} ${statusCPass1[3]} ${statusCPass1[4]} ${statusCPass1[5]} ${statusCPass1[6]} ${statusCPass1[7]} ${statusCPass1[8]} ${statusCPass1[9]}
+
+ # produce json summary
+ statusOCDBcpass0json=false
+ statusOCDBcpass1json=false
+ statusQAjson=false
+ [[ "$statusOCDBcpass0" == 'OK' ]] && statusOCDBcpass0json=true
+ [[ "$statusOCDBcpass1" == 'OK' ]] && statusOCDBcpass1json=true
+ [[ "$statusQA" == 'OK' ]] && statusQAjson=true
+ cat >> "$jsonLogTmp" <<EOF
+ {
+ run: ${runNumber},
+ status: { ocdb_pass0: ${statusOCDBcpass0json}, ocdb_pass1: ${statusOCDBcpass1json}, qa: ${statusQAjson} },
+ cpass0: {
+ reco: { n_ok: ${statusCPass0[0]}, n_bad: ${statusCPass0[1]} },
+ stderr: { n_ok: ${statusCPass0[2]}, n_bad: ${statusCPass0[3]} },
+ calib: { n_ok: ${statusCPass0[4]}, n_bad: ${statusCPass0[5]} }
+ },
+ cpass1: {
+ reco: { n_ok: ${statusCPass1[0]}, n_bad: ${statusCPass1[1]} },
+ stderr: { n_ok: ${statusCPass1[2]}, n_bad: ${statusCPass1[3]} },
+ calib: { n_ok: ${statusCPass1[4]}, n_bad: ${statusCPass1[5]} },
+ qabarrel: { n_ok: ${statusCPass1[6]}, n_bad: ${statusCPass1[7]} },
+ qarouter: { n_ok: ${statusCPass1[8]}, n_bad: ${statusCPass1[9]} }
+ }
+ },
+EOF
+
done
+ # json footer: close array of objects
+ echo ']' >> "${jsonLogTmp}"
+
#make lists with output files - QA, trending, filtering and calibration
### wait for the merging of all runs to be over ###
rm -f qa.list
#if set, email the summary
[[ -n ${MAILTO} ]] && cat ${logTmp} | mail -s "benchmark ${productionID} done" ${MAILTO}
- # Copy log to destination (delete all on failure to signal error)
- cp "$logTmp" "$logDest" || rm -f "$logTmp" "$logDest"
+ #copy logs to destination
+ paranoidCp "$logTmp" "${commonOutputPath}"
+ paranoidCp "$jsonLogTmp" "${commonOutputPath}"
#copy output files
exec &> >(tee fileCopy.log)
logToFinalDestination=1
ALIROOT_FORCE_COREDUMP=1
pretendDelay=0
+ copyInputData=0
#first, source the config file
if [ -f ${configFile} ]; then
return 0
}
+copyFileToLocal()
+(
+ #copies a single file to a local destination: the file may either come from
+ #a local filesystem or from a remote location (whose protocol must be
+ #supported)
+ #copy is "robust" and it is repeated some times in case of failure before
+ #giving up (1 is returned in that case)
+ src="$1"
+ dst="$2"
+ ok=0
+ [[ -z "${maxCopyTries}" ]] && maxCopyTries=10
+
+ proto="${src%%://*}"
+
+ echo "copy file to local dest started: $src -> $dst"
+
+ for (( i=1 ; i<=maxCopyTries ; i++ )) ; do
+
+ echo "...attempt $i of $maxCopyTries"
+ rm -f "$dst"
+
+ if [[ "$proto" == "$src" ]]; then
+ cp "$src" "$dst"
+ else
+ case "$proto" in
+ root)
+ xrdcp -f "$src" "$dst"
+ ;;
+ http)
+ curl -L "$src" -O "$dst"
+ ;;
+ *)
+ echo "protocol not supported: $proto"
+ return 2
+ ;;
+ esac
+ fi
+
+ if [ $? == 0 ] ; then
+ ok=1
+ break
+ fi
+
+ done
+
+ if [[ "$ok" == 1 ]] ; then
+ echo "copy file to local dest OK after $i attempt(s): $src -> $dst"
+ return 0
+ fi
+
+ echo "copy file to local dest FAILED after $maxCopyTries attempt(s): $src -> $dst"
+ return 1
+)
+
paranoidCp()
(
#recursively copy files and directories
(
#copy a single file to a target in an existing dir
#repeat a few times if copy fails
+ #returns 1 on failure, 0 on success
src="${1}"
dst="${2}"
+ ok=0
[[ -d "${dst}" ]] && dst="${dst}/${src##*/}"
- [[ -z "${maxCopyTries}" ]] && maxCopyTries=5
- #echo "maxCopyTries=${maxCopyTries}"
- echo "cp ${src} ${dst}"
- cp "${src}" "${dst}"
- i=0
- until cmp -s "${src}" "${dst}"; do
- echo "try: ${i}"
- [[ -f "${dst}" ]] && rm "${dst}"
- cp "${src}" "${dst}"
- [[ ${i} -gt ${maxCopyTries} ]] && ret=1 && return 1
- (( i++ ))
+ [[ -z "${maxCopyTries}" ]] && maxCopyTries=10
+
+ echo "paranoid copy started: $src -> $dst"
+
+ for (( i=1 ; i<=maxCopyTries ; i++ )) ; do
+
+ echo "...attempt $i of $maxCopyTries"
+ rm -f "$dst"
+ cp "$src" "$dst"
+
+ cmp -s "$src" "$dst"
+ if [ $? == 0 ] ; then
+ ok=1
+ break
+ fi
+
done
- return 0
+
+ if [[ "$ok" == 1 ]] ; then
+ echo "paranoid copy OK after $i attempt(s): $src -> $dst"
+ return 0
+ fi
+
+ echo "paranoid copy FAILED after $maxCopyTries attempt(s): $src -> $dst"
+ return 1
)
guessRunData()
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127712/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127712/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127822/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127822/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127822/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127933/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127933/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127933/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127933/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127935/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127935/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127935/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127935/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127940/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127941/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127941/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127941/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128191/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128191/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128191/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128191/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128192/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128192/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128366/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128366/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128366/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128366/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128483/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128483/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128494/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128494/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128494/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128494/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128495/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128495/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128582/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128582/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128605/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128605/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128611/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128611/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128611/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128615/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128615/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128615/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128615/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128677/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128678/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128678/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128778/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128778/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128778/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128778/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128820/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128820/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128820/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128823/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128823/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128835/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128843/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128843/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128843/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128843/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128853/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128853/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128853/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128853/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128913/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128913/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000128913/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129523/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129523/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129523/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129523/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129527/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129527/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129528/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129528/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129528/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129586/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129586/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129586/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129587/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129587/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129587/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129599/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129599/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129639/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129641/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129641/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129641/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129641/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129647/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129647/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129647/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129650/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129650/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129650/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129652/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129652/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129652/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129659/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129659/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129666/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129666/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129666/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129666/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129723/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129725/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129726/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129726/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129726/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129729/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129729/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129729/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129742/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129742/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129742/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129744/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129744/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129744/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129959/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129959/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129959/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129960/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129960/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129960/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129960/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129961/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129961/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129961/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000129961/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130354/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130354/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130354/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/51/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/52/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/53/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/54/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/55/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/56/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/57/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/58/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/59/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/60/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/61/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/62/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/63/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/64/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/65/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/66/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/67/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/68/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/69/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/70/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/71/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/72/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/73/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/74/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/75/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/76/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/77/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/78/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/79/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/80/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/81/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/82/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/83/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/84/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/85/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/86/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/87/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/88/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/89/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/90/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/91/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/92/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/93/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/94/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/95/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/96/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/51/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/52/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/53/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/54/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/55/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/56/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/57/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/58/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/59/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/60/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/61/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/62/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/63/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/64/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/65/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/66/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/100/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/101/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/102/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/103/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/104/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/105/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/106/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/107/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/108/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/109/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/110/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/111/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/112/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/113/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/115/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/116/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/117/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/119/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/120/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/122/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/123/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/124/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/125/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/126/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/127/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/128/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/129/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/130/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/131/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/132/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/133/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/134/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/135/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/136/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/137/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/138/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/139/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/140/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/141/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/142/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/143/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/144/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/145/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/146/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/147/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/148/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/149/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/150/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/151/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/152/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/153/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/154/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/155/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/156/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/157/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/161/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/51/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/52/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/53/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/54/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/56/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/57/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/58/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/59/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/60/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/61/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/63/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/64/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/65/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/66/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/67/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/68/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/69/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/70/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/71/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/72/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/73/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/74/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/75/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/76/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/77/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/78/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/79/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/80/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/81/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/82/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/83/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/84/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/85/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/86/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/87/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/88/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/89/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/91/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/92/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/93/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/94/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/95/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/96/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/97/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/98/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/99/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/100/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/101/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/102/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/103/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/104/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/105/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/106/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/107/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/108/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/109/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/110/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/111/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/112/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/113/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/114/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/115/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/116/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/117/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/118/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/51/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/52/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/53/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/54/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/55/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/56/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/57/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/58/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/59/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/60/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/61/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/62/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/63/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/64/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/65/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/66/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/67/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/68/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/69/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/70/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/71/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/72/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/73/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/74/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/75/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/76/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/77/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/78/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/79/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/80/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/81/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/82/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/83/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/84/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/85/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/86/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/87/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/88/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/89/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/90/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/91/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/92/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/93/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/94/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/95/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/96/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/97/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/98/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/99/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/51/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/52/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/53/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/54/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/55/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/100/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/101/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/102/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/104/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/105/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/106/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/107/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/108/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/109/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/110/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/111/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/112/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/113/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/114/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/115/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/116/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/117/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/118/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/119/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/120/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/51/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/52/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/53/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/54/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/55/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/56/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/57/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/61/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/63/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/64/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/66/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/67/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/68/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/69/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/70/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/71/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/72/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/73/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/74/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/76/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/77/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/78/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/79/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/80/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/82/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/83/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/84/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/85/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/86/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/87/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/88/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/89/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/90/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/91/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/92/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/93/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/94/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/95/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/96/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/99/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/100/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/101/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/102/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/103/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/104/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/105/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/106/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/107/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/108/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/109/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/110/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/111/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/112/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/113/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/114/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/115/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/116/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/117/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/118/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/119/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/120/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/121/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/122/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/123/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/124/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/125/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/126/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/127/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/128/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/129/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/51/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/52/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/53/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/54/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/55/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/56/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/57/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/58/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/59/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/60/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/61/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/62/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/63/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/64/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/65/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/66/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/67/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/68/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/69/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/70/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/71/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/72/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/73/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/74/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/75/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/76/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/77/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/78/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/79/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/80/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/81/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/82/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/83/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/84/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/85/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/86/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/87/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/88/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/89/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/9/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/90/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/91/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/92/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/93/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/94/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/95/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/96/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/97/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/98/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/99/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/1/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/10/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/11/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/12/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/13/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/14/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/15/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/16/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/17/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/18/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/19/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/2/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/20/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/21/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/22/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/23/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/24/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/25/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/26/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/27/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/28/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/29/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/3/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/30/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/31/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/32/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/33/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/34/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/35/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/36/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/37/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/38/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/39/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/4/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/40/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/41/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/42/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/43/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/44/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/45/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/46/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/47/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/48/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/49/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/5/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/50/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/51/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/52/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/53/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/54/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/55/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/56/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/57/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/58/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/59/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/6/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/60/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/61/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/62/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/64/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/65/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/66/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/7/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/8/filtered_highPt.root
-/eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127712/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127712/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127822/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127822/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127822/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127933/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127933/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127933/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127933/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127935/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127935/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127935/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127935/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127936/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127937/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127940/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127941/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127941/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127941/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000127942/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128185/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128186/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128189/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128191/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128191/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128191/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128191/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128192/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128192/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128260/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128366/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128366/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128366/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128366/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128452/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128483/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128483/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128486/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128494/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128494/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128494/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128494/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128495/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128495/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128503/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128504/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128582/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128582/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128605/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128605/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128609/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128611/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128611/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128611/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128615/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128615/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128615/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128615/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128677/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128678/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128678/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128777/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128778/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128778/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128778/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128778/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128820/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128820/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128820/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128823/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128823/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128824/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128835/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128836/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128843/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128843/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128843/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128843/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128853/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128853/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128853/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128853/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128855/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128913/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128913/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000128913/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129512/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129513/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129514/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129520/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129523/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129523/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129523/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129523/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129527/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129527/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129528/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129528/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129528/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129540/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129586/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129586/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129586/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129587/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129587/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129587/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129599/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129599/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129639/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129641/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129641/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129641/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129641/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129647/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129647/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129647/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129650/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129650/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129650/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129652/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129652/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129652/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129653/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129654/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129659/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129659/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129666/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129666/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129666/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129666/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129723/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129725/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129726/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129726/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129726/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129729/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129729/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129729/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129735/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129736/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129738/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129742/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129742/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129742/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129744/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129744/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129744/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129959/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129959/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129959/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129960/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129960/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129960/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129960/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129961/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129961/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129961/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000129961/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130149/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130157/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130158/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130172/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130178/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130342/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130343/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130354/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130354/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130354/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130356/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130480/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/51/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/52/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/53/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/54/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/55/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/56/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/57/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/58/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/59/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/60/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/61/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/62/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/63/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/64/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/65/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/66/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/67/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/68/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/69/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/70/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/71/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/72/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/73/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/74/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/75/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/76/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/77/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/78/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/79/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/80/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/81/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/82/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/83/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/84/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/85/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/86/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/87/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/88/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/89/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/90/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/91/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/92/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/93/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/94/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/95/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130517/filtered/96/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/51/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/52/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/53/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/54/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/55/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/56/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/57/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/58/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/59/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/60/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/61/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/62/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/63/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/64/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/65/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/66/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130519/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130696/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130704/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130793/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130795/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130798/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130799/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130834/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2010/LHC10e/000130840/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/100/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/101/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/102/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/103/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/104/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/105/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/106/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/107/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/108/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/109/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/110/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/111/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/112/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/113/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/115/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/116/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/117/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/119/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/120/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/122/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/123/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/124/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/125/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/126/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/127/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/128/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/129/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/130/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/131/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/132/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/133/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/134/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/135/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/136/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/137/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/138/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/139/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/140/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/141/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/142/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/143/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/144/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/145/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/146/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/147/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/148/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/149/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/150/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/151/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/152/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/153/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/154/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/155/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/156/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/157/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/161/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/51/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/52/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/53/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/54/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/56/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/57/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/58/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/59/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/60/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/61/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/63/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/64/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/65/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/66/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/67/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/68/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/69/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/70/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/71/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/72/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/73/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/74/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/75/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/76/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/77/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/78/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/79/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/80/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/81/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/82/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/83/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/84/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/85/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/86/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/87/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/88/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/89/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/91/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/92/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/93/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/94/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/95/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/96/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/97/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/98/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000167988/filtered/99/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168207/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000168460/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/100/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/101/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/102/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/103/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/104/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/105/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/106/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/107/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/108/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/109/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/110/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/111/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/112/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/113/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/114/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/115/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/116/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/117/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/118/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/51/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/52/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/53/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/54/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/55/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/56/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/57/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/58/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/59/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/60/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/61/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/62/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/63/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/64/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/65/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/66/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/67/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/68/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/69/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/70/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/71/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/72/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/73/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/74/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/75/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/76/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/77/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/78/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/79/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/80/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/81/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/82/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/83/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/84/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/85/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/86/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/87/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/88/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/89/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/90/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/91/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/92/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/93/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/94/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/95/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/96/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/97/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/98/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170268/filtered/99/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170269/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/51/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/52/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/53/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/54/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/55/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170270/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/100/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/101/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/102/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/104/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/105/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/106/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/107/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/108/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/109/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/110/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/111/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/112/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/113/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/114/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/115/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/116/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/117/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/118/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/119/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/120/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/51/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/52/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/53/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/54/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/55/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/56/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/57/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/61/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/63/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/64/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/66/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/67/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/68/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/69/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/70/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/71/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/72/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/73/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/74/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/76/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/77/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/78/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/79/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/80/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/82/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/83/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/84/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/85/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/86/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/87/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/88/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/89/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/90/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/91/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/92/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/93/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/94/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/95/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/96/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170309/filtered/99/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/100/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/101/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/102/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/103/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/104/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/105/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/106/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/107/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/108/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/109/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/110/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/111/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/112/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/113/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/114/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/115/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/116/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/117/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/118/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/119/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/120/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/121/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/122/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/123/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/124/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/125/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/126/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/127/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/128/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/129/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/51/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/52/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/53/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/54/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/55/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/56/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/57/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/58/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/59/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/60/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/61/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/62/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/63/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/64/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/65/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/66/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/67/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/68/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/69/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/70/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/71/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/72/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/73/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/74/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/75/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/76/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/77/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/78/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/79/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/80/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/81/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/82/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/83/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/84/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/85/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/86/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/87/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/88/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/89/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/9/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/90/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/91/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/92/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/93/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/94/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/95/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/96/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/97/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/98/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170312/filtered/99/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/1/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/10/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/11/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/12/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/13/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/14/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/15/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/16/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/17/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/18/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/19/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/2/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/20/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/21/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/22/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/23/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/24/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/25/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/26/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/27/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/28/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/29/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/3/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/30/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/31/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/32/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/33/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/34/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/35/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/36/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/37/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/38/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/39/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/4/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/40/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/41/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/42/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/43/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/44/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/45/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/46/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/47/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/48/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/49/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/5/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/50/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/51/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/52/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/53/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/54/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/55/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/56/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/57/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/58/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/59/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/6/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/60/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/61/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/62/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/64/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/65/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/66/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/7/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/8/filtered_highPt.root
+root://eospublic.cern.ch//eos/opstest/pbuncic/reference/2011/LHC11h/000170593/filtered/9/filtered_highPt.root
Float_t diamondcovxy[3]; evt->GetDiamondCovXY(diamondcovxy);
Double_t pos[3]={evt->GetDiamondX(),evt->GetDiamondY(),0};
Double_t cov[6]={diamondcovxy[0],diamondcovxy[1],diamondcovxy[2],0.,0.,10.*10.};
+ if (cov[0]<1e-10) cov[0] = 1e-2; // dummy error of 1mm
+ if (cov[2]<1e-10) cov[2] = 1e-2; // dummy error of 1mm
AliESDVertex *initVertex = new AliESDVertex(pos,cov,1.,1);
vertexer.SetVtxStart(initVertex);
delete initVertex;
Float_t diamondcovxy[3]; evt->GetDiamondCovXY(diamondcovxy);
Double_t pos[3]={evt->GetDiamondX(),evt->GetDiamondY(),0};
Double_t cov[6]={diamondcovxy[0],diamondcovxy[1],diamondcovxy[2],0.,0.,10.*10.};
+ if (cov[0]<1e-10) cov[0] = 1e-2; // dummy error of 1mm
+ if (cov[2]<1e-10) cov[2] = 1e-2; // dummy error of 1mm
AliESDVertex *initVertex = new AliESDVertex(pos,cov,1.,1);
vertexer.SetVtxStart(initVertex);
delete initVertex;
Bool_t GetOuterHmpPxPyPz(Double_t *p) const;
- void GetIntegratedTimes(Double_t *times, Int_t nspec=AliPID::kSPECIESC) const {if (fDetPid) fDetPid->GetIntegratedTimes(times, nspec);}
+ void GetIntegratedTimes(Double_t *times, Int_t nspec=AliPID::kSPECIES) const {if (fDetPid) fDetPid->GetIntegratedTimes(times, nspec);}
Double_t GetTRDslice(Int_t plane, Int_t slice) const;
Double_t GetTRDsignal() const {return fDetPid ? fDetPid->GetTRDsignal() : 0;}
Double_t GetTRDmomentum(Int_t plane, Double_t */*sp*/=0x0) const;
virtual Bool_t GetOuterHmpPxPyPz(Double_t */*p*/) const {return kFALSE;}
- virtual void GetIntegratedTimes(Double_t */*times*/, Int_t nspec=AliPID::kSPECIESC) const;
+ virtual void GetIntegratedTimes(Double_t */*times*/, Int_t nspec=AliPID::kSPECIES) const;
virtual Double_t GetTRDmomentum(Int_t /*plane*/, Double_t */*sp*/=0x0) const {return 0.;}
virtual void GetHMPIDpid(Double_t */*p*/) const {;}
virtual Double_t GetIntegratedLength() const { return 0.;}