Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-08-31 08:19:05

0001 #include <uspin/SpinDBContent.h>
0002 #include <uspin/SpinDBOutput.h>
0003 
0004 
0005 R__LOAD_LIBRARY(libuspin.so)
0006 
0007 // Bad spin pattern runs
0008 // blue spin pattern is all 10 or all 0:
0009 // Fill 34762: 47571 
0010 // Fill 34896: 49956 49959 49964 49969 
0011 // Fill 34899: 50033 50044 50045 50046 50048 50067 50070 50075 
0012 // Fill 35127: 53554
0013 
0014 // blue and yellow spin patterns are all 0:
0015 // Fill 35009: 51914 51915
0016 
0017 // blue spin pattern is all 10 (This is a 28x28 fill for both beams but blue got messed up)
0018 // Fill 34897: 49998 50004 50005 50015
0019    
0020 // Unknown (for now) (looks like blue beam is multiplied by negative 1):
0021 // Fill 34899: 50068 50069 50073 50074 50076 50077 50083 50085 50086
0022 
0023 
0024 void checkSpinPatterns(int runnumber = 45729, unsigned int qa_level = 0xffff)
0025 {
0026   SpinDBContent spin_cont;
0027   SpinDBOutput spin_out("phnxrc");
0028 
0029   spin_out.StoreDBContent(runnumber,runnumber);
0030   //spin_out.StoreDBContent(runnumber,runnumber,qa_level);
0031   
0032   spin_out.GetDBContentStore(spin_cont,runnumber);
0033 
0034   ////////////////////////////////////////////////////
0035   // Get fill number
0036   int fillnumber = spin_cont.GetFillNumber();
0037   std::cout << "Fill Number: " << fillnumber << std::endl;
0038   ////////////////////////////////////////////////////
0039 
0040   ////////////////////////////////////////////////////
0041   // Get spin patterns
0042   int bluespin[120] = {0};
0043   int yellspin[120] = {0};
0044   std::cout << "Blue spin pattern: [";
0045   for (int i = 0; i < 120; i++)
0046   {
0047     bluespin[i] = spin_cont.GetSpinPatternBlue(i);
0048     std::cout << bluespin[i];
0049     if (i < 119)std::cout << ", ";
0050   }
0051   std::cout << "]" << std::endl;
0052 
0053   std::cout << "Yellow spin pattern: [";
0054   for (int i = 0; i < 120; i++)
0055   {
0056     yellspin[i] = spin_cont.GetSpinPatternYellow(i);
0057     std::cout << yellspin[i];
0058     if (i < 119)std::cout << ", ";
0059   }
0060   std::cout << "]" << std::endl;
0061   ////////////////////////////////////////////////////
0062 
0063 
0064 }